ベイズ分類器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
Naive Bayesで利用するデータ• 決定木同様の形式• Spamfilterの場合は,各サンプル=メール,各属性=特定の単語
が含まれているか(無料,高収入,当選,etc...),クラス=Spamかどうか.
3
ID C:コンタクト T1:30才未満 T2:近視 T3:乱視 T4:ドライアイ
A ○ YES YES YES NOB ○ YES YES NO NOC ○ NO YES YES NOD ○ NO YES NO NOE × YES YES YES YESF × YES YES NO YESG × NO NO NO YESH × NO NO NO NOI × NO NO NO YESJ × NO NO NO NO
ベイズの定理• n個の属性(テスト) T1~Tnを考える.• n個の属性の結果を含むクラス不明のデータX(=テス
トデータ)を次のように記述する
• をテストデータXから予測されるクラスとする• ベイズの定理は次式で表される
152 第 5章 離散値のクラス分類問題法でも C4.573) ではグループを分割せず,統計的な信頼区間の情報を基に枝刈りを行っている.決定木の構築はMurthy63)に,構築した木を適切な大きさに刈る方法はBres-
lowと Aha13) に詳しい.
5.5 ベイズ分類器本節では訓練データにおける確率を利用したクラス分類方法であるベイズ分類器 (Bayes Classification)25) を紹介する.本節で紹介,実装するのは最も単純なベイズ分類のナイーブベイズ (Naıve Bayes)である.この手法はテストが互いに独立であることを仮定している.発展版として,テストが独立であることを仮定しない代わりに,事前にテスト間の依存を与えたり,計算時間を使ってテスト間の依存も求めるベイジアンネットワーク (Bayesian network)33, 64)
があり,遺伝子間の制御関係を調査するために利用されている.
5.5.1 ベイズの定理ベイズ分類を説明するために,ベイズ分類で利用するベイズの定理 (Bayes
Theorem)を導入する.n個のテストの結果を含むクラス不明のテストデータをX = (T1 = x1)!(T2 = x2)! · · ·!(Tn = xn)とする.予測CH をテストデータX がクラス C = {C1, C2, ...}のどれに属するかの予測とする.P (CH |X)はテストデータX が与えられた時クラスがCH になる確率である.この P (CH |X)を,条件 X の基での CH の事後確率と呼ぶ.表 5.3の発病予測の例を考えよう.CH を発病する事象 (C = "),今回テストするサンプルを A とすると,P (CH |A)は,サンプル Aが発病する確率である.この事後確率 P (CH |X)を計算するために,ベイズの定理を利用する.
定義 5.4 ベイズの定理は次式で表される.
P (CH |X) =P (CH # X)
P (X)=
P (X|CH)P (CH)P (X)
ここで P (CH)は事象 CH の事前確率と呼ばれ,どのサンプルがテストされるか分からない状況で,今までの経験から一般的に事象 CH が起こる確率を表している.CH を発病する事象とすると P (CH)は一般にガン化する確率を示
P (CH | X) =P (CH ∩X)
P (X)=
P (X | CH)P (CH)P (X)
CH
事前確率事後確率
P (CH ∩X) = P (CH | X)P (X) = P (X | CH)P (CH)上の式は以下の式から分かる
4
P (CH | X) =P (CH ∩X)
P (X)=
P (X | CH)P (CH)P (X)
一般にコンタクトをする確率(事前確率)
テストデータの属性集合Xが与えられた時,コンタクトである確率(事後確率, CHはコンタクトをする事象とする)
属性の値がCHの人に対してテストデータの属性がXになる確率
例のデータでは・・・
一般にテストデータの属性の値がXになる確率
ID コンタクト 30才未満 近視 乱視 ドライアイ
K ? No No Yes YesL ? No Yes No No
ナイーブベイズ分類器のアイディア• 事後確率が大きくなるクラスを選択する• 属性の集合Xが与えられていると仮定すると,
• 属性の集合Xが与えられた場合に,クラスが×である事後確率より,○である事後確率の方が大きいので,Xのサンプルのクラスは○と考える方が妥当
• 属性の集合Xが与えられた場合に,クラスが○である事後確率より,×である事後確率の方が大きいので,Xのサンプルのクラスは×と考える方が妥当
P (C =� | X) > P (C = × | X)
P (C =� | X) < P (C = × | X)
6
事後確率の計算
ここでと表記する.
ベイズの定理よりP (C� | X) =
P (X | C�)P (C�)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�
k=1
P (xk | C�)
P (X) は,仮定CHに因らないので,ここでは,計算の必要なし
各テストが互いに独立であると仮定をすると,次式が成立
具体例で計算してみる
• 例としてサンプルKのクラスを予測する
8
ID C:コンタクト T1:30才未満 T2:近視 T3:乱視 T4:ドライアイA ○ YES YES YES NOB ○ YES YES NO NOC ○ NO YES YES NOD ○ NO YES NO NOE × YES YES YES YESF × YES YES NO YESG × NO NO NO YESH × NO NO NO NOI × NO NO NO YESJ × NO NO NO NO
K ? NO NO YES YESL ? NO YES NO NO
P (C�) = 4/10 = 0.4, P (C×) = 6/10 = 0.6X = (T1 = No) ∧ (T2 = No) ∧ (T3 = Yes) ∧ (T4 = Yes)
クラスが○の予測より
訓練データより,各確率を計算すると,
各テストが互いに独立であると仮定すると,
以上より,
X = (T1 = No) ∧ (T2 = No) ∧ (T3 = Yes) ∧ (T4 = Yes)
P (T1 = No | C�) = 2/4 = 0.5P (T2 = No | C�) = 0/4 = 0.0P (T3 = Yes | C�) = 2/4 = 0.5P (T4 = Yes | C�) = 0/4 = 0.0
P (X|C�) = 0.5× 0.0× 0.5× 0.0 = 0.0P (X | C�) · P (C�) = 0.0× 0.4 = 0.0
P (X | C�) = P (T1 = No | C�)× P (T2 = No | C�)×P (T3 = Yes) | C�)× P (T4 = Yes | C�)
クラスが×の予測各テストが互いに独立であると仮定すると,
より
訓練データより,各確率を計算すると,
以上より,
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.667P (T2 = No | C×) = 4/6 = 0.667P (T3 = Yes | C×) = 1/6 = 0.167P (T4 = Yes | C×) = 4/6 = 0.667
P (X|C×) = 0.667× 0.667× 0.167× 0.667 = 0.0494P (X | C×) · P (C×) = 0.0494× 0.4 = 0.0198
予測及び計算上の注意
なので
よって,Xのクラスの予測はC=×となる.
• テストの数が増えると,P(X|C)は非常に小さい数となる.• これを避けるため,Log P(X|C)を計算することが多い
11
P (X | C�) · P (C�) = 0.0P (X | C×) · P (C×) = 0.0198
P (X | C�) · P (C�) < (X | C×) · P (C×)
Naive Bayesのまとめ
• Naive Bayesの予測は,テストが全て独立なら最適な回答となっている.• でも,その仮定が満たされることは,まれ.
• 対象となるクラスが{A,B,AB,O}の様に3個以上のクラスの場合にも,同様にP(C=A|X), P(C=B|X), P(C=AB|X), P(C=O|X) をそれぞれ計算し,最も大きな確率のクラスを選択すれば良い
• テスト間に独立性が無い場合には,テスト間の相関(遷移確率)を求める必要が有る
• ベイジアンネットワーク
12
Recommended