no_bayes_no_life_nb_keep_evolving
- 2. 自己紹介
ID : phyllo
ブログ : http://d.hatena.ne.jp/jetbead
•某Web企業の新卒
•ほそぼそと自然言語処理してます
–4年目突入
–ダイエットは失敗しました
【注意】
この話は趣味で行っていることです。
- 12. Naïve Bayesの進化
•多くの研究がなされている
–お手軽さを残して、性能向上したものも提案
•SVMやロジスティック回帰より良い結果も(?)
•実装することを想定しながら、紹介
「ノーベイズ・ノーライフ」というタイトルについて
•ベイズの定理が無ければ、今日紹介する手法も生まれな かった、という意味で選びました
•みなさん、仲良くしましょう
- 17. 詳しくは・・・
•紹介されてる書物や資料はたくさんあるので、 詳しくはそちらを参考してください
–Murphy, Machine Learning: A Probabilistic Perspective
–後藤and小林, 入門パターン認識と機械学習
–中川先生, 統計的機械学習入門
–aflcさん, ナイーブベイズ分類器を頑張って丁寧に解説してみる
•http://qiita.com/aflc/items/13fe52243c35d3b678b0
–Wikipedia
•http://en.wikipedia.org/wiki/Naive_Bayes_classifier
–などなど、めっちゃたくさん
- 25. Naïve Bayesとは
条件付き独立仮定
푃(푋|푐)= 푃(푥푖|푐) 푁 푖=1
푋={푥1,…,푥푁}
X={イケメン, 高身長, 高収入}がc=結婚できる、確率P(X|c)は P(イケメン|結婚できる) * P(高身長|結婚できる) * P(高収入|結婚できる)
【例】
- 26. Naïve Bayesとは
•Naïve Bayes分類器
•P(xi|c)の計算
–xiが連続値なら、正規分布
–xiがbinary(0か1)なら、ベルヌーイ分布
–xiがcategorical(性別など)なら、多項分布(n=1)
argmax 푐 푃(푐|푋)=argmax 푐 푃(푐) 푃(푥푖|푐) 푁 푖=1
(以降、属性xiはcategoricalを前提に進めます)
- 38. Semi-Naïve Bayes
•なんかいっぱいあってヤバい
Backward Seqential Elimination(BSE)
Forward Seqential Selection(FSS)
Backward Seqential Elimination and Joining(BSEJ)
Argmented Naïve Bayes(ANB)
Tree Argmented Naïve Bayes(TAN)
SP-TAN
NBTree
Lazy Baysian Rules(LBR)
Averaged One-dependance estimators(AODE)
Recursive Bayesian classifiers(RBC)
Locally weighted Naïve Bayes(LWNB)
Adjusted Probability Naïve Bayesian Classification(APNB)
Iterative Bayes(IB)
Hierarchical Naïve Bayes(HierNB)
Hidden Naïve Bayes(HidNB)
CL-TAN
RODE
Weightily AODE
Weighted AODE
HODE
SPODE
Laze Elimination for AODE
Lazy AODE
Self-adaptive NBTree
Boosted Augmented Naïve Bayes(BAN)
AODE^{Subsumption Resolution}
Evolutional Naïve Bayes(ENB)
Maximum a Posteriori Linear Mixture of Generative Distributions(MAPLMG)
Isotonic Regression(IR)
など
- 41. Averaged One-dependence Estimators (AODE)
•すべての属性間の依存関係を扱うのは計算 量的に厳しい場合も・・・
•そこで、1つの属性xiだけ依存すると仮定し、
•クラスcと属性xiに依存した場合の確率値を求 め、その平均をとる
푃(푐|푋)= 푃(푐,푥푖) 푃(푥푗|푐,푥푖)푛푗 =1푖:1≦푖≦푛∧퐹푥푖≧푚 푃(푐,푥푖) 푃(푥푗|푐,푥푖)푛푗 =1푖:1≦푖≦푛∧퐹푥푖≧푚푐′∈퐶
- 43. 푃(푐|푋)= 푃(푐,푥푖) 푃(푥푗|푐,푥푖)푛푗=1푖:1≦푖≦푛∧퐹푥푖≧푚 푃(푐,푥푖) 푃(푥푗|푐,푥푖)푛푗 =1푖:1≦푖≦푛∧퐹푥푖≧푚푐′∈퐶
【属性】 性別={男, 女} 体重={重い, ふつう, 軽い} 【クラス】 C={ヤバい, ヤバくない} X = {男, 重い}の場合、 P(ヤバい|X) = { { P(ヤバい, 男) * P(男|ヤバい, 男) * P(重い|ヤバい, 男) } + { P(ヤバい, 重い) * P(男|ヤバい, 重い) * P(重い|ヤバい, 重い) } } / {分母}
【計算例】
- 44. 学習で保存する情報は?
•以下の情報が推定するために必要
–푃푐,푥푖
–푃푐,푥푖,푥푗
•条件付き確率は、푃푥푗푐,푥푖= 푃푐,푥푖,푥푗 푃(푐,푥푖)
•それぞれを求めるために、以下を数える
–F(c) : クラスがcの出現回数
–F(c,xi) : クラスがcで属性iの値がxiとなる出現回数
–F(c,xi,xj) : クラスがcで属性iの値がxiで、属性jの値が xjとなる出現回数
- 45. 計算量
•学習時
O(学習事例数 * 属性数^2)
•NBは、O(学習事例数 * 属性数)
•推定時
O(クラスの数 * 属性数^2)
•NBは、O(クラス数 * 属性数)
- 53. P(X|C)
푃푋퐶= 푃(푋푖|푋ℎ푖,퐶) 푁 푖=1
ただし、
푃푋푖푋ℎ푖,퐶= 푊푖푗∗푃(푋푖|푋푗,퐶) 푁 푗=1,푗≠푖 푊푖푗= 퐼푃퐴푖;퐴푗퐶 퐼푃(퐴푖;퐴푗|퐶)푛푗 =1,푗≠푖 ただし、 푊푖푗=1
(퐼푃は、条件付き相互情報量)
- 54. P(X|C)
푃푋퐶= 푃(푋푖|푋ℎ푖,퐶) 푁 푖=1
ただし、
푃푋푖푋ℎ푖,퐶= 푊푖푗∗푃(푋푖|푋푗,퐶) 푁 푗=1,푗≠푖 푊푖푗= 퐼푃퐴푖;퐴푗퐶 퐼푃(퐴푖;퐴푗|퐶)푛푗 =1,푗≠푖 ただし、 푊푖푗=1
かけ算と足し算が組み合わさって、
書きにくい・・・
(퐼푃は、条件付き相互情報量)
- 55. P(X|C)
푃푋퐶= 푃(푋푖|푋ℎ푖,퐶) 푁 푖=1
ただし、
푃푋푖푋ℎ푖,퐶= 푊푖푗∗푃(푋푖|푋푗,퐶) 푁 푗=1,푗≠푖 푊푖푗= 퐼푃퐴푖;퐴푗퐶 퐼푃(퐴푖;퐴푗|퐶)푛푗 =1,푗≠푖 ただし、 푊푖푗=1
(퐼푃は、条件付き相互情報量)
すごい小さい数で割る場合がある・・・
- 57. 計算量
•学習時
O(学習事例数 * 属性数^2 + クラス数*全属性数^2)
•NBは、O(学習事例数 * 属性数)
•AODEは、O(学習事例数 * 属性数^2)
•推定時
O(クラスの数 * 属性数^2)
•NBは、O(クラス数 * 属性数)
•AODEは、O(クラスの数 * 属性数^2)
(퐼푃計算のため)
- 59. (追記)WAODEについて
•Weightily AODE(WAODE)も相互情報量を利用しているが、 HiddenNBとの違いは?
–もうしわけありません、WAODEの方をきちんと把握できていま せん・・・
–WAODEが相互情報量による重みづけをしているというのは、 例えば、2009年の黒川 et al., 「Weighted AODEの提案と実験的 評価」において少し触れられていますが、そこでもHiddenNBと WAODEを別物として扱っており、「ODEを作ってから平均」する か「平均したものを使ってODE」の違いがあるのではと思われ ます
–また、AODE2005年→HiddenNB2005年→WAODE2006年のよう で、「HiddenNBがAODEとは違うんだよ、AODEとは」と主張して いるため、AODEの拡張としてのWAODEが(HiddenNBとは同じこ とをしているかもしれないが)必要となったのでは、と思われま す
- 65. まとめ
•Naïve Bayesがいろいろ進化してた
–改良や改善が提案されている
•こんなにあるとは・・・(勉強不足)
–実験的にはSVMを超えてる結果も得られる場合 も
•実装が面倒でもなく、良い結果が得られるも のもあるので、試してみるのはありかも
- 67. Reference
•Zheng&Webb, Semi-naïve Bayesian Classification,2008
•cou_zさん, 僕はもう、そんなにナイーブじゃないんだ
–http://qiita.com/cou_z/items/bca93fce0a08b521a3e8
•Webb et al., Not So Naïve Bayes: Aggregating One- Dependence Estimators, 2005
•Zhang et al., Hidden Naïve Bayes, 2005
•Wikipedia
•Weka
•背景画像
–http://www.wallpaper-box.com/