1. このページについて
- 機械学習にようやく慣れてきたあたりでベイズに触り始めた主です。
学習したことをアウトプットのため書いています。
2. 機械学習とは
ベイズ機械学習を学ぶ上で必要となる機械学習についてまず述べていきます。
本稿において機械学習の定義としては、現在学習している参考書*1に則り、以下のように定義します。
機械学習とは、データに潜む規則や構造を抽出することにより、未知の現象に対する予測やそれに基づく判断を行うための計算技術の総称である。
機械学習は、以下のように分類できる(細分化すればもう少しあるが省略)
- 教師あり学習
- 回帰問題
- 分類問題
- 教師なし学習
- 強化学習
次の章では、これらに対する機械学習のアプローチについて述べていきます。
3. 機械学習のアプローチ
各タスクに対する機械学習のアプローチとしては二種類挙げられます。
- ツールボックスとしての機械学習
- モデリングとしての機械学習
3-1. ツールボックスとしての機械学習
<特徴>
既存の予測アルゴリズムに、データを与えてある基準を用いて性能の良いアルゴリズムを用いて予測モデルを得る。
特徴量抽出などによって精度の向上を目指す。
<メリット>
- 数学的な知識がなくてもプログラミングが書ければ、ある程度使えること
<デメリット>
- アルゴリズムを逐一理解する必要がある
- 実際の現象においては最適解が存在することは稀なため、適用できる範囲が限られている。
3-2. モデリングとしての機械学習
<特徴>
データに関するモデル(仮説) を事前に構築し、データからモデルの含むパラメータや構造を予測、判断すること
アルゴリズムの「デザイン」にフォーカスされているため、開発プロセスが
「モデル構築×推論計算」として、明確に切り分けられる。
<メリット>
- 精度と柔軟性に優れている
- 解析の対象に対する不確実性をうまく表現できる(ベイズ機械学習)
- 特性の知られている確率分布を組み合わせることで様々な課題に適した解法を一貫性を持って提供できる
<デメリット>
- 自由に活用するには、ある程度の数学的知識が必要であること
4. ベイズ機械学習の特徴
ベイズ機械学習 :確率モデリングと確率推論を利用した機械学習のアプローチ
先述した通り、モデリングとしての機械学習には「モデルの構築」と「推論」を分けて考えることができます。
そのため、ベイズ機械学習を解くには、モデルの構築と推論の導出の2ステップを踏みます。
1. モデルの構築
[$観測データDと観測されていない未知の変数Xに関して同時分布p(D, X)を構築する$]
各種確率分布を組み合わせることでデータDと未知の変数Xの関係性を記述することや、グラフィカルモデルを用いた可視化も行われます。
2. 推論の導出
[$事後分布p(X|D) = \frac{p(D, X)}{P(D)}を解析的もしくは近似的に求める$]
$p(D)$:周辺尤度•••モデルからデータDが出現する尤もらしさを表す
1.を基にXの条件付き分布を求めます。
5. まとめ
ベイズ機械学習などの、モデリングとしての機械学習は「モデルの構築」や「推論」を分割することで、適応できるタスクの幅も広がり、現実的に解析不可能な課題に対しても解法を導くことができる。
とまあ、いろいろ述べましたが自分の現状としてはめっちゃ面白い分野だ!ぐらいの所感なので色々ご教授いただければ幸いです。