読者です 読者をやめる 読者になる 読者になる

ベイズ関連

ベイズ的な考え方がよくわからない.学習のメモ

# 一般メモ

  • ベイジアン的手法っていうのは,データにしたがって逐次確率を更新していくという手法だと思う.ベイズだとちょっとずつ回帰式が変化するのでまるで学習しているように見えるけど,最終的には一つの回帰式または分類モデルを求めているという意味だと線形モデルと変わらない.ベイズ的に逐次変化させるか,一度に回帰式を求めるか,の違い.
  • そもそも学習というのは,収集データに応じて,何らかの指標を最適化するように内部状態のパラメタを最適化するという作業.
  • ベイズ主義では確率P(A)を事象Aが起こることに対する”自信”と考える.つまり,P(A)は絶対的なものではなく,今あるデータから推測するとこのくらいだろう,っていう尺度.当然データが増えたり,変化すればP(A)は変わる.
  • メリットの一つは,ベイズ定理にしたがって,データの取得とともに逐次的にP(A)を更新していくことが可能.これによりデータがすごく少なくてもとりあえず何か出る,っているのをメリットと言っている文章が多いけど,これがベイズ派のデメリットというか誰もが諸手を挙げて納得できるものではないものになっている点.つまり,データが少なくても取り敢えず何かでるっていうのは,何かしらベースとなる事前分布があるからであってそこに主観や恣意性が入る.データが大量にあるんだからいずれは事前分布の恣意性は関係なくなるっていう主張なんだろうけど,それって結局データが少なくても良いってことと矛盾してるんじゃないの?ってなる気がする.
  • 事後分布の計算では事前分布の積分計算が入る.なるべく計算しやすいように事前分布を決めておくことが重要.積分しても関数の形が変わらない分布は特に扱い易いので重要.そんな分布を共役分布と言う.
  • 事後分布をどう評価するか?では,実際に分布のままでは比較しづらいので,期待値を見たり(EAP:Expected a posteriori),最大値(MAP:Maximum a posteriori)する.
  • 95%確信区間というのは,事後分布の上下2.5%分ずつ確率を削った定義域.
  • 計算量が次元に対して指数になるので高次元では適用が困難だったが,MCMCの開発で解決された.(これ,全く意味が分からない・・・,要勉強項目としてメモ)


# 単純ベイズ(ナイーブベイズ

  • ある事象の根拠となる事象Bが独立であると仮定する.つまり,B1, B2, B3...は独立.
  • ここで,ベイズの定理の分母を正規化項とみて,以下の比例の式で考える.

{ \displaystyle
P(A|B) = P(A|B1, B2, B3...) \propto P(A)\cdot\prod_{i} (B_i|A)
}

  • 例えば迷惑メールフィルタの例.

 A1, A2をメールが迷惑メールかそうでないかとして,Biをある単語iがメールに含まれる事象とする.この設定で,教師データとしてAが既知のメール集合に対してP(Bi|A)が計算できる.またP(A)も実績として与えることができる.これで学習器を作成すると,あるメールが来た時に,そのメールに含まれる単語からそのメールが迷惑メールかそうでないかが推定できる.