気ままなつぶやき

おべんきょしたこととか

【集合知プログラミング】アルゴリズムのまとめ 〜ベイジアン分類器

( ̄´口` ̄)ノ オイッス!!

データマイニング勉強会』にたまーに参加してます。

仕事上、データマイニング的なお仕事をしてるってことはいっさいありません。。

今やってるのはこれ。

集合知プログラミング

隔週で一回くらいやってるんだけど、さすがにちんぷんかんぷんです(p>□< q*)

でも、勉強会なので、自分の発表の順番も回ってくるわけです。。

私の担当は、12章の「アルゴリズムのまとめ」

この章では、この本でやってきたアルゴリズムの要約てきなことをしてます。

  • 詳細、原理の概観
  • 適用できるデータセットのタイプ
  • 強み、弱み
  • コードの書き方
  • たまーに例題

といった構成になってます。

直前に予習したら死にそうなので、

ゆとりのある間にちょびちょびやっていこうっていう魂胆です。うへへ


さて、今回は、

ベイジアン分類器やってみましょう

スパムフィルタの分類器としてよく聞く手法ですね。

適用できるデータセットのタイプ

「特徴」のリストに変換できるようなデータセット

・・・はい(。´-_・)?

なんかよくわからんな。
とりあえず、スパムフィルタで使われてるよ。
文章がスパムかスパムじゃないかを単語単位で、分類してるのとか。。。

原理の概要

分類方法

1。 実際のデータを使って、特徴(文章の単語)が
どのカテゴリ(「スパムだよ」「スパムじゃないよ」)に分類される確率が高いのかってゆーリストを作成する
(→トレーニングってゆう)

2。 トレーニングにより得られたリストを使って、あとは自動的に分類していくよ

概要(ex.単純ベイズ分類器)

P(カテゴリ|ドキュメント):あるドキュメントが、カテゴリに分類される確率。
この確率を、リストを使って計算して、どのカテゴリに分類されるかを予想する方法。

シンプルな概念やな(o´∀`o)♪

ドキュメントD_1を構成する単語がw_1, \cdots ,w_nだった場合に、

\bf{P}(C_1 | D_1) =  \frac{\bf{P} (C_1 \cap w_1, \cdots ,w_n )}{\bf{P}(w_1, \cdots , w_n)}

となる。これを比較すれば良い。

ここで\bf{P}(w_1, \cdots ,w_n)はw1,・・・wnの出現率となる。

\bf{P} (C_1 \cap w_1, \cdots ,w_n )はw1,・・・,wnとC1が同時に出現する確率


シンプルな確率の式ですな(o´∀`o)♪

この結果を比較して、スパムってカテゴリに分類されるーとか
スパムじゃないってカテゴリに分類されるーとかを予測しているようです。

が、実際の数値に当てはめて解いていく必要があるので、
ちょろっと近似使って、ちょろっと不要なものを省いたりしてます。

まず近似。さっきの式から、それぞれの単語の出現率は、独立としている。
「あほー」ってあると必ず「ぼけ」って出るとか、、、そゆーのはないよってこと。

そうすると、

さっきの式は、

\frac{\bf{P}(C_1 \cap w_1) \cdots \bf{P}(C_n \cap w_n)}{\bf{P} (w_1) \cdots \bf{P}(w_n)}

って近似される(゚0゚*)ホ--ッッ!!

式書くのめんどくさくなってきた。

この下はただの導出メモ。

\frac{\bf{P}(w_1 | C_1 )}{\bf{P}(w_1)} \times \cdots \times \frac{\bf{P}(w_n | C_1)}{\bf{P}(w_n)} \times \bf{P}(C_1)

ってなる。

ここで、分母については、カテゴリの分類する上での比較で意味をなさないので、

\bf{P}(w_1 | C_1 )\times \cdots \times \bf{P}(w_n | C_1) \times \bf{P}(C_1)

だけ計算して比較すれば良い。

ここまでくると、あとは、トレーニングで作成したリストから、求めることができるお。

本持ってたら、表12-2.

\bf{P}(w_1 | C_1 ) :カテゴリの中でこの単語がどのくらい出現しやすいか


あへー。

疲れた。

おしまい。

   ∩___∩
   | ノ      ヽ
  /  ●   ● | クマ──!!
  |    ( _●_)  ミ
 彡、   |∪|  、`\
/ __  ヽノ /´>  )
(___)   / (_/
 |       /
 |  /\ \
 | /    )  )
 ∪    (  \
       \_)