【集合知プログラミング】アルゴリズムのまとめ 〜ベイジアン分類器
( ̄´口` ̄)ノ オイッス!!
『データマイニング勉強会』にたまーに参加してます。
仕事上、データマイニング的なお仕事をしてるってことはいっさいありません。。
今やってるのはこれ。
隔週で一回くらいやってるんだけど、さすがにちんぷんかんぷんです(p>□< q*)
でも、勉強会なので、自分の発表の順番も回ってくるわけです。。
私の担当は、12章の「アルゴリズムのまとめ」
この章では、この本でやってきたアルゴリズムの要約てきなことをしてます。
- 詳細、原理の概観
- 適用できるデータセットのタイプ
- 強み、弱み
- コードの書き方
- たまーに例題
といった構成になってます。
直前に予習したら死にそうなので、
ゆとりのある間にちょびちょびやっていこうっていう魂胆です。うへへ
さて、今回は、
ベイジアン分類器やってみましょう
スパムフィルタの分類器としてよく聞く手法ですね。
適用できるデータセットのタイプ
「特徴」のリストに変換できるようなデータセット
・・・はい(。´-_・)?
なんかよくわからんな。
とりあえず、スパムフィルタで使われてるよ。
文章がスパムかスパムじゃないかを単語単位で、分類してるのとか。。。
原理の概要
分類方法
1。 実際のデータを使って、特徴(文章の単語)が
どのカテゴリ(「スパムだよ」「スパムじゃないよ」)に分類される確率が高いのかってゆーリストを作成する
(→トレーニングってゆう)
2。 トレーニングにより得られたリストを使って、あとは自動的に分類していくよ
概要(ex.単純ベイズ分類器)
P(カテゴリ|ドキュメント):あるドキュメントが、カテゴリに分類される確率。
この確率を、リストを使って計算して、どのカテゴリに分類されるかを予想する方法。
シンプルな概念やな(o´∀`o)♪
ドキュメントを構成する単語がだった場合に、
となる。これを比較すれば良い。
ここではw1,・・・wnの出現率となる。
はw1,・・・,wnとC1が同時に出現する確率
シンプルな確率の式ですな(o´∀`o)♪
この結果を比較して、スパムってカテゴリに分類されるーとか
スパムじゃないってカテゴリに分類されるーとかを予測しているようです。
が、実際の数値に当てはめて解いていく必要があるので、
ちょろっと近似使って、ちょろっと不要なものを省いたりしてます。
まず近似。さっきの式から、それぞれの単語の出現率は、独立としている。
「あほー」ってあると必ず「ぼけ」って出るとか、、、そゆーのはないよってこと。
そうすると、
さっきの式は、
→
って近似される(゚0゚*)ホ--ッッ!!
式書くのめんどくさくなってきた。
この下はただの導出メモ。
ってなる。
ここで、分母については、カテゴリの分類する上での比較で意味をなさないので、
だけ計算して比較すれば良い。
ここまでくると、あとは、トレーニングで作成したリストから、求めることができるお。
本持ってたら、表12-2.
:カテゴリの中でこの単語がどのくらい出現しやすいか
あへー。
疲れた。
おしまい。
∩___∩ | ノ ヽ / ● ● | クマ──!! | ( _●_) ミ 彡、 |∪| 、`\ / __ ヽノ /´> ) (___) / (_/ | / | /\ \ | / ) ) ∪ ( \ \_)