Programming Collective Intelligence 100213

1,292 views
1,256 views

Published on

"Programming Collective Intelligence" reading party, Chapter 6: Document Filtering

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,292
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
4
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Programming Collective Intelligence 100213

  1. 1. 集合知プログラミング Programming Collective Intelligence (Ch.6 ドキュメントフィルタリング) 2010/02/13 id:shiumachi
  2. 2. Agenda <ul><li>ベイズの定理
  3. 3. ベイジアン分類器
  4. 4. フィッシャー法
  5. 5. ベイジアン分類器のメリット・デメリット
  6. 6. 形態素解析 </li></ul>
  7. 7. ベイズの定理 <ul><li>P(A):事象Aが発生する確率
  8. 8. P(B|A):事象Aが起きた後での事象Bの確率、すなわち条件つき確率
  9. 9. P(A) > 0 のとき、以下の式が成り立つ。 </li></ul>P(B|A) = P(A) P(A|B)P(B) 参考:http://ja.wikipedia.org/wiki/ベイズの定理
  10. 10. ベイズの定理の意味 <ul><li>P(A):事象Aが発生する確率
  11. 11. P(B): 事象 A とは関係なく 事象Bが発生する確率(事前確率)
  12. 12. P(B|A):事象Aが起きた後での事象Bの確率、すなわち条件つき確率(事後確率)
  13. 13. P(A|B):事象Bが起きた後で、事象Aが起きていた確率(尤度という)
  14. 14. つまりベイズの定理は、「事後確率は、事前確率と尤度、事象Aが発生する確率が分かっていれば求めることができる」という定理。 </li></ul>
  15. 15. (単純)ベイジアン分類器 <ul><li>ベイズの定理において、事象Aを「事象F:ある特徴を持つ」、事象Bを「事象C:あるクラスに分類される」とする。
  16. 16. このとき、「『ある特徴を持つときにあるクラスに属する確率』は、『あるクラスに属する確率』と『あるクラスだった場合にある特徴を持っている確率』、『ある特徴を持つ確率』が分かっていれば求めることができる」となる。 </li></ul>P(C|F) = P(F) P(F|C)P(C)
  17. 17. ベイジアン分類器の実際 <ul><li>ところが現実にはクラスは複数存在し、結果の比較によって分類していくのでP(F)を出す必要はない。 </li></ul>P(C 1 |F) : P(F|C 1 )P(C 1 ) P(C 2 |F) : P(F|C 2 )P(C 2 ) ……
  18. 18. ベイジアン分類器の実際 <ul><li>「あるクラスに属する確率」は、あらかじめ学習させておいた情報から、「(Cに属するアイテムの数) / (全体のアイテムの数)」を求めればいい。 </li></ul>P(C) = Item(C) / Item(total)
  19. 19. ベイジアン分類器の実際 <ul><li>特徴が複数ある場合、その特徴を持つ確率は単純に積をとるだけでいい。 </li></ul>P(F|C) = P(f 1 |C) * P(f 2 |C) * ... P(C|F) = P(C|f 1 ) * P(C|f 2 ) * ...
  20. 20. ベイジアンフィルタ <ul><li>特徴を「単語」、クラスを「スパム」「スパムでない」の2つとしたもの。
  21. 21. 事前に「スパムメールにその単語が含まれている確率」「スパムでないメールにその単語が含まれている確率」を学習させておく。
  22. 22. これにより、「ある(複数の)単語が含まれているときにスパム(あるいはスパムでない)確率」を求めることができる。
  23. 23. 確率が高い方に分類する。 </li></ul>
  24. 24. フィッシャー法 <ul><li>同一仮説に基づく独立試行の事象を結合するのに使われる。
  25. 25. それぞれの事象が発生する確率をp1,p2,...とすると、統計量 χ 2 は以下の式で表される。 ( つまりカイ 2 乗分布となる ) </li></ul>χ 2 = - 2 Σ ln(p i ) i = 1 k
  26. 26. フィッシャー法の実際 <ul><li>テキストでは、piを「P(Fi|C) / P(Fi|C1) * P(Fi|C2) * ...」としている。
  27. 27. フィッシャーの式から、あるカテゴリに入っている確率が低い特徴があればあるほど χ 2 が大きくなる。つまり、逆カイ 2 乗分布における確率が低くなる。 </li></ul>引用:http://en.wikipedia.org/wiki/Inverse-chi-square_distribution
  28. 28. 単純ベイジアン分類器の強みと弱み <ul><li>低コスト </li><ul><li>カテゴリ・特徴の関係に対する確率を更新するだけ
  29. 29. 省メモリ・省CPU </li></ul><li>可視性 </li><ul><li>どういう特徴がどのようにカテゴライズされているかが一目瞭然 </li></ul><li>特徴の組み合わせを解釈できないのが最大の欠点 </li></ul>
  30. 30. 形態素解析 <ul><li>MeCab が有名 </li><ul><li>作者は「Google 日本語入力」の開発者でもある </li></ul><li>わかち書き </li><ul><li>日本語を英単語のように分解する
  31. 31. 日本語を特徴として扱うには必須 </li></ul></ul>昨日はみんなでカレーを食べたが、今ひとつだった。 ↓ 昨日 は みんな で カレー を 食べ た が 、 今ひとつ だっ た 。
  32. 32. Thank you !

×