迷える初心者を救う!単純マルコフ過程と単純ベイズに共通する予測の魔法
こんにちは。ゆうせいです。
みなさんは、明日の天気を予想するとき、何を基準にしますか。
今日の空模様を見て決める人もいれば、過去一週間の傾向から考える人もいるでしょう。
実は、人工知能やデータ分析の世界には、こうした予測を支える非常に強力な考え方が存在します。
それが、単純マルコフ過程と単純ベイズモデリングです。
一見すると難しそうな名前ですが、この2つには驚くほど似た共通点があることをご存知でしょうか。
今回は、一見別物に見えるこれら2つの手法が、裏側でどのように手を取り合っているのかを解き明かしていきます。
数学が得意でない方も、どうぞリラックスして読み進めてくださいね。
予測の基本となる単純マルコフ過程とは
まずは、単純マルコフ過程から見ていきましょう。
これは、未来の状態が現在の状態だけで決まり、過去の経緯には依存しないという性質を持つモデルです。
専門用語では、これをマルコフ性(Markov property)と呼びます。
高校生のみなさんに例えるなら、スマホの予測変換をイメージしてください。
あなたが今、おなかが、と入力したとします。
このとき、予測変換候補には、すいた、や、いっぱい、が出てきますよね。
変換エンジンは、あなたが1時間前に何をしていたかという過去の記憶は気にしません。
ただ今入力された、おなかが、という現在の一点のみを見て、次に続く言葉を予測しているのです。
この潔さこそが、単純マルコフ過程の正体です。
計算式で表すと、次のようになります。
未来の状態 現在の状態
遷移確率
この は、次にどの状態へ移るかの確率を掛け合わせることを意味します。
過去を振り返らず、今この瞬間を大切にする予測手法だと覚えておいてください。
データを賢く分類する単純ベイズモデリング
次に、単純ベイズモデリングについて解説します。
これは、あるデータが与えられたときに、それがどのグループに属するかを確率的に分類する手法です。
ここで使われるのが、有名なベイズの定理です。
最大の特徴は、各要素が互いに独立していると仮定する点にあります。
例えば、迷惑メールの判定を考えてみましょう。
メールの中に、無料、と、当選、という単語が入っていたとします。
単純ベイズでは、無料、があることと、当選、があることを、それぞれバラバラに計算します。
単語同士のつながりや文脈を無視して、個別の確率を掛け合わせることで、そのメールがスパムである確率を導き出すのです。
数式的なイメージは、以下の通りです。
全体の確率 特徴1の確率
特徴2の確率
...
複雑な文脈を切り捨てて、個々の要素だけで判断する。
このシンプルさが、高速で精度の高い処理を実現しています。
2つの手法に共通する驚きのポイント
さて、ここで本題です。
時間の流れを扱うマルコフ過程と、分類を得意とする単純ベイズ。
これらには、どんな共通点があると思いますか。
答えは、依存関係の断捨離にあります。
どちらの手法も、本来なら複雑に絡み合っているはずの要素を、あえて無視して計算を簡略化しているのです。
1. 独立性の仮定
単純マルコフ過程は、過去の履歴を無視して現在のみに依存させます。
単純ベイズは、要素同士の相関を無視して、それぞれが独立していると見なします。
どちらも、計算を楽にするために情報のつながりを断ち切っているという点で共通しています。
2. 掛け算による確率の合成
どちらも、最終的な答えを出すために確率を掛け合わせていきます。
マルコフ過程では、状態が移り変わる確率を順々に掛けます。
単純ベイズでは、それぞれの特徴が現れる確率を掛け合わせます。
構造が非常に似ていることがわかりますね。
シンプルであることのメリットとデメリット
この断捨離手法には、光と影があります。
まずは、良い面から見ていきましょう。
メリット
- 計算が圧倒的に速い
- 少ないデータでもある程度の精度が出る
- 仕組みが単純なので、人間が理解しやすい
複雑なことを考えすぎないからこそ、大量のデータを一瞬でさばくことができるのです。
では、逆に困る点は何でしょうか。
デメリット
- 文脈や背景を読み飛ばしてしまう
- 現実世界の複雑な依存関係を表現しきれない
例えば、マルコフ過程では、昨日からの気温の変化、といった継続的な流れを捉えるのが苦手です。
単純ベイズでは、お、と、金、がセットで現れるといった言葉の組み合わせの妙を無視してしまいます。
学習を深めるための第一歩
今回の内容を整理しましょう。
- 単純マルコフ過程は、現在だけを見る未来予測。
- 単純ベイズは、要素をバラバラに考える分類術。
- 共通点は、複雑なつながりを無視して計算をシンプルにすること。
もし、さらに深く学びたいと思ったなら、次は、隠れマルコフモデル(HMM)、という言葉を調べてみてください。
これは、今回学んだ2つの考え方を融合させたような、より高度で面白いモデルです。
音声認識や自然言語処理の分野で、今も現役で活躍していますよ。
理論の背後にある、シンプルに考える勇気。
それこそが、データサイエンスの面白さかもしれません。
次は、実際にこれらのアルゴリズムをプログラムで動かしてみませんか。
Pythonなどの言語を使えば、驚くほど簡単に実装できるので、ぜひ挑戦してみてくださいね。
セイ・コンサルティング・グループでは新人エンジニア研修のアシスタント講師を募集しています。
投稿者プロフィール
- 代表取締役
-
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。
学生時代は趣味と実益を兼ねてリゾートバイトにいそしむ。長野県白馬村に始まり、志賀高原でのスキーインストラクター、沖縄石垣島、北海道トマム。高じてオーストラリアのゴールドコーストでツアーガイドなど。現在は野菜作りにはまっている。