マルコフ連鎖の概念の説明[例付き]
公開: 2020-12-18目次
序章
マルコフ連鎖は非常に一般的で直感的であり、コンテンツ作成の自動化、テキスト生成、財務モデリング、クルーズコントロールシステムなどの複数のドメインで使用されています。有名なブランドのGoogleは、ページランキングアルゴリズムでマルコフ連鎖を使用して検索順序を決定しています。
マルコフ連鎖は比較的単純であり、実装に数学的概念や高度な統計知識を必要としません。 マルコフ連鎖をよく理解していれば、確率論的モデリングとデータサイエンス技術を学ぶのが簡単になります。
この記事では、例を使用して、マルコフ連鎖とは何か、およびそれらがどのように機能するかを深く理解します。
マルコフ連鎖とは何ですか?
マルコフ連鎖は、前のイベント状態のみに基づいて次の状態の確率または予測を提供する数学モデルです。 マルコフ連鎖によって生成された予測は、そのシナリオの履歴全体を観察することによって行われるのと同じくらい優れています。
これは、いくつかの確率条件に基づいて、ある状態から別の状態への遷移を経験するモデルです。 マルコフ連鎖を定義する1つの特徴は、現在の状態がどのように達成されても、将来の状態が固定されることです。 次の状態の可能な結果は、現在の状態と状態間の時間にのみ依存します。
読む: Pythonチュートリアルのマルコフ連鎖
例を用いたマルコフ連鎖の概念
明日の気象条件を予測したいとします。 しかし、天気の可能性のある状態は、曇りと晴れの2つだけである可能性があることをすでにご存知でしょう。 マルコフ連鎖を使用して、次の日の天気をどのように予測しますか?
さて、あなたは現在の気象状態を観察し始めるでしょう、そしてそれは晴れか曇りのどちらかである可能性があります。 今日は晴れているとしましょう。 気候条件は常にいくつかの変化を経ます。 過去数年間の気象データを収集し、晴れた日の後に曇りの日が来る可能性は0.35であると計算します。
また、晴れた日の後に晴れた日が来る可能性は0.65であることがわかりました。 この分布は、翌日も晴れになることを予測するのに役立ちます。 これが、現在の気象状態が将来の状態を予測するのに役立つ方法であり、同じロジックを適用して、今後の気象条件を予測することができます。
上記の例は、マルコフ連鎖が無記憶であるというマルコフの性質を示しています。 翌日の気象条件は、現在の日の気象条件につながったステップに依存しません。 確率分布は、当日から翌日への遷移を経験することによってのみ到達します。
マルコフ連鎖のもう1つの例は、果物、野菜、または肉だけを食べる人の食生活です。 食生活は以下の規則に準拠しています。
- その人は一日に一度だけ食べます。
- 今日果物を食べたら、明日は同じ確率で野菜や肉を食べます。
- 今日野菜を食べたら、明日は1/10の確率で野菜、1/40の確率で果物、1/50の確率で肉を食べることになります。
- もし彼が今日肉を食べたら、明日は4/10の確率で野菜を食べ、6/10の確率で果物を食べるでしょう。 彼は明日また肉を食べません。
翌日の選択は、昨日または前日に何を食べたかに関係なく、今日何を食べたかにのみ依存するため、マルコフ連鎖を使用して彼の食生活を簡単にモデル化できます。
また読む:マルコフ連鎖の紹介
マルコフ連鎖遷移行列
これまで、ある状態から別の状態に遷移する確率を予測する方法を見てきました。 しかし、いくつかのステップで発生する遷移の確率分布を見つけるのはどうですか。 マルコフ連鎖遷移行列を使用して、複数のステップにわたる遷移の確率分布を見つけることができます。

マルコフ連鎖遷移行列は、ある状態から別の状態への遷移の確率分布に他なりません。 さまざまな可能な状態間の遷移を表示するため、遷移行列と呼ばれます。
各状態に関連付けられた確率は、その状態の確率分布と呼ばれます。 これは、マルコフ連鎖の分析に使用される最も重要なツールです。 たとえば、可能な状態がN個ある場合、遷移行列(P)は次のようになります。
P = NxN行列
行(I、J)のエントリは、状態Iから状態Jに遷移する確率を表します。遷移行列Pの各行の合計は1になります。
マルコフ連鎖を表すには、N個の可能な状態のそれぞれでの開始を記述する初期状態ベクトルも必要になります。 初期状態ベクトル(X)は次のように表すことができます。
X = Nx1行列
M個の複数のステップで状態Iから状態Jに遷移する確率を調べたいとします。 あなたは3つの可能な状態、すなわち強気市場、弱気市場、停滞市場を与えました。
上記の例では、遷移行列の最初の列は強気市場の状態を示し、2番目の列は弱気市場を示し、3番目の列は停滞した市場を示します。 行も同様に対応します。
遷移行列では、遷移の確率は、Pをステップ数(M)の累乗で計算することによって計算されます。 3ステップの遷移の場合、Pを3に上げることで確率を決定できます。
上記のP3行列を乗算することにより、ある状態から別の状態に遷移する確率分布を計算できます。
結論
マルコフ連鎖がどのように機能するかを理解しているので、解決策に到達するか自動化するために、問題ステートメントにそれらを簡単に実装できます。 マルコフ連鎖は非常に強力であり、他のより高度なモデリング手法の基盤を提供します。
マルコフ連鎖を理解することで、簡単なモデリングやサンプリングなどのいくつかの手法についてより深い知識を得ることができます。
python、データサイエンスについて知りたい場合は、IIIT-BとupGradのデータサイエンスのPGディプロマをチェックしてください。これは、働く専門家向けに作成され、10以上のケーススタディとプロジェクト、実践的なハンズオンワークショップ、業界の専門家とのメンターシップを提供します。業界のメンターとの1対1、400時間以上の学習、トップ企業との就職支援。
マルコフ連鎖の興味深い実際のユースケースはありますか?
はい、テキストの作成から財務モデリングまで、マルコフ連鎖の興味深い実際のユースケースはたくさんあります。 ほとんどのテキストジェネレータはマルコフネットワークを使用します。 チェーンシステムは、偽のテキスト、特大の記事を生成し、スピーチを編集するために広く使用されています。 インターネットで通常見られる名前ジェネレータもマルコフ連鎖を使用します。 マルコフ連鎖のもう1つのよく知られたアプリケーションは、次の単語を予測することです。 また、オートコンプリートや推奨事項にも役立ちます。 GooglePageRankとSubredditSimulatorは、マルコフ連鎖を使用してサブレディット全体の素材の生成を自動化する顕著な例です。
データサイエンスを学ぶ間、マルコフ連鎖は重要ですか?
マルコフ連鎖はデータサイエンスの学習者に必須ではありませんが、確率的モデリングとデータサイエンス技術を学習するための優れたアプローチを提供できます。 マルコフ連鎖は理論的にはかなり単純であり、複雑な統計的または数学的アイデアを必要とせずに実装できます。 データサイエンスの最も顕著なアプリケーションは予測を行うことであり、データサイエンティストは、マルコフ連鎖の条件付き確率を使用してこれらの予測を行います。 これは、確率過程の無記憶機能にちなんで名付けられました。これは、任意のプロセスの将来の状態の分布は、それらのプロセスの現在の状態によってのみ決定されることを示しています。
マルコフ連鎖はGoogleのPageRankアルゴリズムでどのように役立ちますか?
GoogleのPageRankアルゴリズムは、よく知られているリンクベースのランキングアルゴリズムです。 ページランクは、コンテンツに基づいてページを評価するのではなく、相互接続された構造に基づいてページをランク付けします。 マルコフ連鎖は、単に現在の状態を調べることにより、ある状態から別の状態に移行する際のシステムの動作を予測するのに役立ちます。
ユーザーが検索エンジンにクエリを入力すると、PageRankアルゴリズムは、クエリワードに一致するWeb上のサイトを識別し、マルコフネットワークを使用してそれらのページをPageRankの順序でユーザーに表示します。 PageRankアルゴリズムは、ページのコンテンツではなく、Webのリンク構造のみに基づいてWebサイトの重要性を判断します。