第9回

ナイーブベイズ (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