データサイエンス講義 4章「スパムフィルタ、単純ベイズ、データランプリング」 その2
前回に引き続き、ベイズについて。
- 作者: Rachel Schutt,Cathy O'Neil,瀬戸山雅人,石井弓美子,河内崇,河内真理子,古畠敦,木下哲也,竹田正和,佐藤正士,望月啓充
- 出版社/メーカー: オライリージャパン
- 発売日: 2014/10/25
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
4.2.3 複数の単語を組み合わせたスパムフィルタ
メールに対応するベクトルをxとし、スパムであることをcとした場合、以下の様に示すことができる。
θ(jc):単語jのスパムメールにおける算出割合
:ベクトルxのj番目の単語が存在する場合に「1」、存在しない場合に「0」
確率の積を扱う際、対数にて表示するのが一般的であるため、両辺の対数をとる。
ここから、ベイズの法則を利用。以下、再掲。
p(x|c)は事前確率分布、p(c|x)は事後確率分布。
p(c)やp(x)は、容易に算出可能。
また、p(x|c)については、算出するθjは事前に算出できることから、比較的容易に計算可能。
4.3 ラプラススムージング
ラプラススムージング:事前分布を仮定し、最尤推定を行っているのと同じ。
ラプラススムージングに入る前に。
スパムメール中の単語θjの値のベクトルは、どのようなθでデータDが最尤になるか、以下の式で求める。
単語の独立性を仮定した際、以下の式が最大となるθjを算出する。
:ある単語がスパムメールに出てくる回数
:ある単語が全メールに出てくる回数
最大を求める際、上式を微分し、0となるθjを算出すると、以下。
次に、最大事後確率(Maximum a posteriori)を求める。
事前分布を用いて、以下のように表すことができる。
ここでの事前分布p(θ)は、と仮定する。
そうすると、以下の式が算出される。
■参考になるページ(学術的)
単純ベイズ(ナイーブベイズ)をより簡単に(?)説明した資料。
ラプラススムージングについて、少し分かりやすいかも。
http://mtml.info/post/28232319862/naivebayes