Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Datamining 3rd naivebayes

828 views

Published on

Published in: Technology, News & Politics
  • Be the first to comment

  • Be the first to like this

Datamining 3rd naivebayes

  1. 1. データマイニングクラス分類(II) - ナイーブベイズ 瀬々 潤 sesejun@is.ocha.ac.jp
  2. 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. 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. 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. 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. 6. ナイーブベイズ分類器のアイディア • 事後確率が大きくなるクラスを選択する •属性の集合Xが与えられていると仮定すると, P (C = | X) P (C = × | X) • 属性の集合Xが与えられた場合に,クラスが である事後 確率より,○である事後確率の方が大きいので,Xのサ ンプルのクラスは○と考える方が妥当 P (C = | X) P (C = × | X) • 属性の集合Xが与えられた場合に,クラスが○である事 後確率より, である事後確率の方が大きいので,Xのサ ンプルのクラスは と考える方が妥当 6
  7. 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=1P (X) は,仮定CHに因らないので,ここでは,計算の必要なし
  8. 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.6X = (T1 = No) ∧ (T2 = No) ∧ (T3 = Yes) ∧ (T4 = Yes) 8
  9. 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. 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. 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
  12. 12. 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

×