ナイーブベイズ (Naive Bayes’) 知能機械と自然言語処理 ナイーブベイズ (Naive Bayes’)は下記の問題に有効である: は下記の問題に有効である: • 特色の数が多い 特色の数が多い • 特色どうし 特色どうしの相関がない どうしの相関がない/少ない の相関がない 少ない • サンプルの数が少ない 知能機械部 第9回 • ソフトウェア情報学部 • • Goutam Chakraborty • 多次元(特色の数が多い場合)相関行列とそれの逆行列の計算は大変な r ので、同じくクラス条件付き確率 P( X | Ci ) を求める事も大変です。 しかし、特色どうしがお互い独立している場合にナイーブベイズが使えます。 特色の数が増えれば増えるほど正しく分類するために膨大のデータが必 要です。例えば1次元の分類にN個のデータが必要な時、d 次元だと Nd 個のデータが必要です。しかし、ナイーブベイスを使うと各特色ごとに確率 を求めるので、データが少なくても分類が可能です。 特にText Mining等の問題では、次元数が多い(100以上)ので、ナイーブベ イスはよく使われます。 2 1 ナイーブベイズを用いた条件付き確率の求め方 特色独立された場合の相関行率 a11 0 0 0 a22 0 …… 0 ( 2π ) 0 …… …… 0 a44 0 |Σ| ) T Σ −1 x − µ ( ) [1] r 0 a33 d 2 1 exp − x − µ 2 ( 1 f ( x) = 0 0 よって P( X | Ci ) を求めるために Σ, Σ , Σ −1 を求めなければなりません。 r しかし、ナイーブベイズを使用することで P( X | Ci ) は下記の式で求められます。 r P ( X | Ci ) = d ∏ P( x j | Ci ) = P( x1 | Ci ) × P( x2 | Ci ) × L × P( xd | Ci ) [2] j =1 0 0 d次元の正規分布のデー タの確率密度関数 0 …… 0 …… 0 0 0 d は特色の数です 計算量は[1]より[2]の方が遥かに軽いです。 add r r r r Class数は k です。i が1 から k までの P( X | C1 )、 P( X | C2 ) 、 P( X | C3 ) ….. P( X | Ck ) r を先ず求めて、式[2]を用いて P( X | Ci ) を求める事です。最後に事後確率は 全ての特色が独立されている場合、相関行列の対角線以外の成分は0です。 r その為 P( X | Ci ) を求めるときに相関行列を求める必要がないです。 r r P(Ci | X ) = P( X | Ci ) × P(Ci ) = [P( x1 | Ci ) × P( x2 | Ci ) ×L× P( xd | Ci )] × P(Ci ) [3] Class i = 1 ~ k について、上の式[3]でそれぞれの確率を求めて、最大となるクラスを求める。 3 Naïve Bayes’ ナイーブベイズを用いた条件付き確率の求め方 C1 : µ11 = 6, σ 11 = 3; µ12 = 2.5, σ 12 = 1 C2 : µ21 = 3, σ 21 = 1.5; µ22 = 5, σ 22 = 3 P( x2 | C1 ) x2 4 p ( x | C1 ) = p( x1 | C1 ) × p ( x2 | C1 ) = 0.094 × 0.353 = 0.0332 p ( x | C2 ) = p( x1 | C2 ) × p ( x2 | C2 ) = 0.252 × 0.106 = 0.0267 r X = [3.5,3.0] P(3.0 | C1) = 0.35 P( x2 | C2 ) 2次元の場合 C2 p( x | C1 ) = p ( x1 | C1 ) × p ( x2 | C1 ) C2 r X = x1 , x2 C1 p( x | C2 ) = p ( x1 | C2 ) × p ( x2 | C2 ) C1 C2 P( x1 | C1 ) P( x1 | C2 ) r r P(C1 | X ) = P( X | C1 ) × P (C1 ) r r P(C2 | X ) = P( X | C2 ) × P (C2 ) C1 x1 独立(相関が無い)のとき、 Naive-Bayes と Bayes’の結果は同じになる P(3.0 | C2 ) = 0.11 C2 値が大きい方の クラスになる。 P(3.5 | C1 ) = 0.094 5 P(3.5 | C2 ) = 0.25 C1 6 An Application Example 7
© Copyright 2024 ExpyDoc