ナイーブベイズ
ナイーブベイズ分類器とは
例
ここでは、4つのスポーツに関する文書のクラス分類を考える
code:学習データ
クラス : 文書(単語群)
-----------------------
サッカー : ボール スポーツ ワールドカップ ボール
野球 : ボール スポーツ グローブ バット
テニス : ボール ラケット コート
サッカー : ボール スポーツ
上記の学習データをもとに、下記の文書について予測する
code:今回クラスを予測する文書
ボール スポーツ
まずはクラス出現率の計算 $ P(C)
4つの文書のクラスの比率を計算
code:クラス比率
サッカー 2/4
野球 1/4
テニス 1/4
次に、クラス内の文書出現率 $ P(D|C)
学習データ内の、各クラスごとの単語数を数える
code:単語数
サッカー 4 + 2 = 6
野球 4
テニス 3
今回クラスを予測する文書の単語の出現回数は
code:出現回数
サッカー 野球 テニス
ボール 3 1 1
スポーツ 2 1 0
クラスごとの単語数で、予測する文書の単語の出現回数を割る
これはクラス内の単語出現率$ P(Wn | C)
code:単語出現率
サッカー 野球 テニス
ボール 3/6 1/4 1/3
スポーツ 2/6 1/4 0/3
「ボール」の出現率と「スポーツ」の出現率をかければ、文書出現率$ P(D|C)が求まる
code:文書出現率
サッカー 野球 テニス
出現率 6/36 1/16 0/9
ベイズの定理を用いて、$ P(C|D)を求める(データを与えた時、そのデータのクラスの確率)
$ P(C|D) = \frac{P(D|C) P(C)}{P(D)}
右辺の分子を求める
$ P(C)と$ P(D|C)をかける。($ P(C,D)が求まる)
code:分子
サッカー : 6/36 * 2/4 = 1/12
野球 : 1/16 * 1/4 = 1/64
テニス : 0/9 * 1/4 = 0
$ P(C|D)を求めるには右辺の分母も計算する必要があるが、今回は最も確率の高いクラスを求めればいいだけなので上記の分子のみで判断できる。
よって、「ボール スポーツ」という文書は「サッカー」に分類される。
説明してないこと
ナイーブベイズのメリット(多分)
$ P(D)を計算しなくていいこと
独立性を仮定することで計算量が少なくて済む
デメリット
精度が低い
参考