2. ベイズ分類器
Bayes Classification / Bayesian
• ベイズの定理を利用したクラス分類手法の総称
• ここでは,最も単純で,全てのベイズ分類器の基礎となるNaive
Bayesを紹介する
• Spam filterなどに利用されている
• 発展版としてはベイジアンネットワーク(Bayesian network)がある
• 利用例:遺伝子ネットワーク(遺伝子間の相互関係解析)や脳機
能解析(脳のどの部位がどの部位に影響を与えているか)など
• A Tutorial on Learning With Bayesian Networks. David
Heckerman. 1995. http://research.microsoft.com/research/pubs/
view.aspx?msr_tr_id=MSR-TR-95-06
2
3. Naive Bayesで利用するデータ
• 決定木同様の形式
• Spamfilterの場合は,各サンプル=メール,各属性=特定の単語
が含まれているか(無料,高収入,当選,etc...),クラス=Spam
かどうか.
ID C:コンタクト T1:30才未満 T2:近視 T3:乱視 T4:ドライアイ
A ○ YES YES YES NO
B ○ YES YES NO NO
C ○ NO YES YES NO
D ○ NO YES NO NO
E YES YES YES YES
F YES YES NO YES
G NO NO NO YES
H NO NO NO NO
I NO NO NO YES
J NO NO NO NO
3
4. があり,遺伝子間の制御関係を調査するために利用されて
ベイズの定理
5.5.1 ベ イ ズ の 定 理
• n個の属性(テスト) T1∼Tnを考える.
ベイズ分類を説明するために,ベイズ分類で利用するベ
• n個の属性の結果を含むクラス不明のデータX(=テス
Theorem) を導入する.n 個のテストの結果を含むクラス不
トデータ)を次のように記述する
X = (T1 = x1 )∧(T2 = x2 )∧· · ·∧(Tn = xn ) とする.予測
H X がクラス C = {C1 , C2 , ...} のどれに属するかの予測とす
•C をテストデータXから予測されるクラスとする
• ベイズの定理は次式で表される
ストデータ X が与えられた時クラスが CH になる確率であ
を,条件 X の基での CH の事後確率と呼ぶ.表 5.3 の発
P (CH ∩ X) P (X | CH )P (CH )
P (CH |う.C= を発病する事象 (C = ),今回テストするサン
X) H =
P (X) P (X)
P (CH |A) は,サンプル A が発病する確率である.
この事後確率 P (CH |X) を計算するために,ベイズの定
事後確率 事前確率
定義 5.4 ベイズの定理は次式で表される.
上の式は以下の式から分かる
P (CH ∩ X) = P (CH | X)P (X) = PP (C| CHX) (CH ) 4 H )
(X H ∩ )P P (X|C
5. 例のデータでは・・・
テストデータの属性集合Xが与えられた
時,コンタクトである確率 一般にコンタクトをする
(事後確率, CHはコンタクトをする事象と 確率(事前確率)
する)
P (CH ∩ X) P (X | CH )P (CH )
P (CH | X) = =
P (X) P (X)
属性の値がCHの人に対して
テストデータの属性が 一般にテストデータの属性の
Xになる確率 値がXになる確率
ID コンタクト 30才未満 近視 乱視 ドライアイ
K ? No No Yes Yes
L ? No Yes No No
6. ナイーブベイズ分類器のアイディア
• 事後確率が大きくなるクラスを選択する
•属性の集合Xが与えられていると仮定すると,
P (C = | X) P (C = × | X)
• 属性の集合Xが与えられた場合に,クラスが である事後
確率より,○である事後確率の方が大きいので,Xのサ
ンプルのクラスは○と考える方が妥当
P (C = | X) P (C = × | X)
• 属性の集合Xが与えられた場合に,クラスが○である事
後確率より, である事後確率の方が大きいので,Xのサ
ンプルのクラスは と考える方が妥当
6
7. 事後確率の計算
ベイズの定理より
P (X | C )P (C )
P (C | X) =
P (X)
P (C ) = N /N
ここで X = (T1 = x1 ) ∧ (T2 = x2 ) ∧ · · · ∧ (Tn = xn )
= x1 ∧ x2 ∧ · · · ∧ x3 と表記する.
各テストが互いに独立であると仮定をすると,次式が成立
P (X | C ) = P (x1 ∧ x2 ∧ · · · ∧ xn | C )
= P (x1 | C )P (x2 | C ) · · · P (xn | C )
n
= P (xk | C )
k=1
P (X) は,仮定CHに因らないので,ここでは,計算の必要なし
8. 具体例で計算してみる
ID C:コンタクト T1:30才未満 T2:近視 T3:乱視 T4:ドライアイ
A ○ YES YES YES NO
B ○ YES YES NO NO
C ○ NO YES YES NO
D ○ NO YES NO NO
E YES YES YES YES
F YES YES NO YES
G NO NO NO YES
H NO NO NO NO
I NO NO NO YES
J NO NO NO NO
K ? NO NO YES YES
L ? NO YES NO NO
• 例としてサンプルKのクラスを予測する
P (C ) = 4/10 = 0.4, P (C× ) = 6/10 = 0.6
X = (T1 = No) ∧ (T2 = No) ∧ (T3 = Yes) ∧ (T4 = Yes)
8
9. クラスが○の予測
各テストが互いに独立であると仮定すると,
X = (T1 = No) ∧ (T2 = No) ∧ (T3 = Yes) ∧ (T4 = Yes) より
P (X | C ) = P (T1 = No | C ) × P (T2 = No | C )
×P (T3 = Yes) | C ) × P (T4 = Yes | C )
訓練データより,各確率を計算すると,
P (T1 = No | C ) = 2/4 = 0.5
P (T2 = No | C ) = 0/4 = 0.0
P (T3 = Yes | C ) = 2/4 = 0.5
P (T4 = Yes | C ) = 0/4 = 0.0
以上より,
P (X|C ) = 0.5 × 0.0 × 0.5 × 0.0 = 0.0
P (X | C ) · P (C ) = 0.0 × 0.4 = 0.0
10. クラスが の予測
各テストが互いに独立であると仮定すると,
X = (T1 = No) ∧ (T2 = No) ∧ (T3 = Yes) ∧ (T4 = Yes) より
P (X | C× ) = P (T1 = No | C× ) × P (T2 = No | C× )×
P (T3 = Yes | C× ) × P (T4 = Yes | C× )
訓練データより,各確率を計算すると,
P (T1 = No | C× ) = 4/6 = 0.667
P (T2 = No | C× ) = 4/6 = 0.667
P (T3 = Yes | C× ) = 1/6 = 0.167
P (T4 = Yes | C× ) = 4/6 = 0.667
以上より,
P (X|C× ) = 0.667 × 0.667 × 0.167 × 0.667 = 0.0494
P (X | C× ) · P (C× ) = 0.0494 × 0.4 = 0.0198
11. 予測及び計算上の注意
P (X | C ) · P (C ) = 0.0
P (X | C× ) · P (C× ) = 0.0198
なので
P (X | C ) · P (C ) (X | C× ) · P (C× )
よって,Xのクラスの予測はC= となる.
• テストの数が増えると,P(X¦C)は非常に小さい数となる.
• これを避けるため,Log P(X¦C)を計算することが多い
11