分類器 (ナイーブベイズ)

38
分類器 - ナイーブベイズ - MATSUURA Satoshi [email protected] 1

Transcript of 分類器 (ナイーブベイズ)

Page 1: 分類器 (ナイーブベイズ)

分類器- ナイーブベイズ -

MATSUURA Satoshi [email protected]

1

Page 2: 分類器 (ナイーブベイズ)

2

?? ?

どこに分類する?

Page 3: 分類器 (ナイーブベイズ)

新規文書が各カテゴリに属する確率が出せないか

3

Page 4: 分類器 (ナイーブベイズ)

4

35%20% 85%

自動的に文書のカテゴリ分類が可能に

Page 5: 分類器 (ナイーブベイズ)

文書D与えられたとき、カテゴリCに属する確率Pこれが求まれば、全て解決

5

P (C|D)

Page 6: 分類器 (ナイーブベイズ)

   を直接求めるのは困難どうしよう

6

P (C|D)

Page 7: 分類器 (ナイーブベイズ)

・ベイズの定理

7

Page 8: 分類器 (ナイーブベイズ)

ベイズの定理により計算しやすい形に分解

8

P (C|D) =P (D|C)P (C)

P (D)

Page 9: 分類器 (ナイーブベイズ)

ベイズの定理と名前は付いているが、ただの条件付き確率

9

Page 10: 分類器 (ナイーブベイズ)

文書Dが得られかつカテゴリCに属する確率

ここが出発点

10

P (CD)

Page 11: 分類器 (ナイーブベイズ)

•文書Dが与えられた場合にカテゴリCに含まれる確率 x 文書Dが得られる確率

•カテゴリCが与えられた場合に文書Dが得られる確率 x カテゴリCが得られる確率

11

P (CD) = P (C|D)P (D)= P (D|C)P (C)

P (C|D)

P (D|C)

P (D)

P (C)

Page 12: 分類器 (ナイーブベイズ)

変形し、ベイズの定理を得る。

12

P (C|D) =P (D|C)P (C)

P (D)

Page 13: 分類器 (ナイーブベイズ)

  はカテゴリに依存しない。無視しても    の大小関係は得られる

13

P (C|D) =P (D|C)P (C)

P (D)

P (D)

P (C|D)

Page 14: 分類器 (ナイーブベイズ)

    カテゴリCが得られる確率=カテゴリCと判定された文書数 / 全文書数

14

P (C|D) =P (D|C)P (C)

P (D)

P (C)

Page 15: 分類器 (ナイーブベイズ)

   :カテゴリCが与えられた場合に文書Dが得られる確率

15

P (C|D) =P (D|C)P (C)

P (D)

P (D|C)

P (D|C) = 文書Dの数カテゴリCに属する文書数

Page 16: 分類器 (ナイーブベイズ)

パーツは揃った。後は正解データを用意して、数を数えておけば良さそう

16

Page 17: 分類器 (ナイーブベイズ)

しかし、、全く同じ文書Dというものがそもそも得られるのだろうか   は常に0にならないか

17

P (D|C)

Page 18: 分類器 (ナイーブベイズ)

・bag of words

18

Page 19: 分類器 (ナイーブベイズ)

19

Confederations

goal

FIFA

free-kic

k

centeringoffside

yellowcard

hooligangoalkeeper

under-2

0hat

trick

文書 bag of words

単語の並び単語の出現位置コンテキスト

などなど

単語単語の出現回数

のみ

Page 20: 分類器 (ナイーブベイズ)

20

P (D|C) =文書Dの数

カテゴリCに属する文書数! P (W1|C)P (W2|C) · · ·P (Wn|C)

文書Dを単語群Wと見なし、各単語が得られる確率の積で近似する。

全く同じ文書は得られなくても、単語なら大丈夫。

P (Wi|C) = 単語Wiの数カテゴリCにおける語彙数

Page 21: 分類器 (ナイーブベイズ)

一度、整理しましょう

21

Page 22: 分類器 (ナイーブベイズ)

•必要なデータ★各カテゴリにおける語彙数(のべ数)★ある単語が各カテゴリに分類された回数

22

P (C|D) =P (D|C)P (C)

P (D)P (D|C) � P (W1|C)P (W2|C) · · ·P (Wn|C)

無視する

近似する 数える

近似

P (Wi|C) = 単語Wiの数カテゴリCにおける語彙数

Page 23: 分類器 (ナイーブベイズ)

23

WxWc

Wa

W WW

W WWWW

WaWy

正解文書群

文書文書

bag of words bag of words

Wa

Wb

Wy

Wc

Wx

サッカー:1、卓球:1

サッカー:2

卓球:1

卓球:1

サッカー:1

サッカー:4

卓球:3各カテゴリにおける語彙数ある単語が各カテゴリに分類された回数

WbWb

Page 24: 分類器 (ナイーブベイズ)

bag of wordsという単語の連なりやコンテキストといった重要な情報を捨て去ったモデルで文書を置き換え、

文書でなく単語を基準にして確率を計算する事が可能に。

文書の持つ特性を大胆に削ぎ落としているため、この分類器は「ナイーブ」ベイズと呼ばれます。

24

Page 25: 分類器 (ナイーブベイズ)

・ゼロ頻度問題

25

Page 26: 分類器 (ナイーブベイズ)

先の例を元に新規文書がサッカーカテゴリに属する値を

算出してみよう

26

WaWz

bag of words

WbWy

Page 27: 分類器 (ナイーブベイズ)

27

Wa

Wb

Wy

Wc

Wx

サッカー:1、卓球:1

サッカー:2

卓球:1

卓球:1

サッカー:1

サッカー:4

卓球:3各カテゴリにおける語彙数ある単語が各カテゴリに分類された回数

WaWz

bag of words

 は初出のため0に引きずられて全体が0にWz

新規文書はサッカーの文書のようだが、、、

WbWy

P (Cs)P (D|Cs) �4

7P (Wa|Cs)P (Wb|Cs)P (Wy|Cs)P (Wz|Cs)

=4

7× 1

4× 2

4× 1

4× 0

4)

= 0

Page 28: 分類器 (ナイーブベイズ)

新しい単語が出てきただけで全体の値が0になるのは困る。ゼロ頻度問題をどう回避するか

28

Page 29: 分類器 (ナイーブベイズ)

・スムージング

29

Page 30: 分類器 (ナイーブベイズ)

30

P (Wnew|C)

未知の単語   が得られた場合、   には非常に小さな値を与える。

Wnew

一定の値を予め加算しておくことで、未知の単語出現時に確率を0にさせないα=1の時をラプラススムージングと呼ぶ

P (Wnew|C) = 10 ! 各カテゴリの語彙数の総和(全語彙数)

P (Wi|C) =単語Wiの数

カテゴリCにおける語彙数

! 単語Wiの数 !

カテゴリCにおける語彙数 + !" 全語彙数

・ヒューリスティックスな手法

・加算スムージング

未知の単語出現時に、一定の値を与える。上記値はpopfileで利用されている値。

Page 31: 分類器 (ナイーブベイズ)

popfileで利用されている値を用いて、スムージングを行って

計算してみよう

31

Page 32: 分類器 (ナイーブベイズ)

32

Wa

Wb

Wy

Wc

Wx

サッカー:1、卓球:1

サッカー:2

卓球:1

卓球:1

サッカー:1

サッカー:4

卓球:3各カテゴリにおける語彙数ある単語が各カテゴリに分類された回数

WaWz

bag of words

WbWy

P (Cs)P (D|Cs) �4

7P (Wa|Cs)P (Wb|Cs)P (Wy|Cs)P (Wz|Cs)

=4

7× 1

4× 2

4× 1

4× 1

10× 7)

=1

3920

P (Cp)P (D|Cp) �3

7P (Wa|Cp)P (Wb|Cp)P (Wy|Cp)P (Wz|Cp)

=3

7× 1

3× 1

10× 7× 1

10× 7× 1

10× 7)

=1

2401000

・サッカー

・卓球

P (Cs)P (D|Cs) > P (Cp)P (D|Cp)

Page 33: 分類器 (ナイーブベイズ)

自然言語処理分野だけでなく、行動認識やコンテキスト推定など

広い分野で利用可能

33

Page 34: 分類器 (ナイーブベイズ)

・おまけ

34

Page 35: 分類器 (ナイーブベイズ)

「この単語、誰に近い?!」を自動で割り出してみよう

35

Page 36: 分類器 (ナイーブベイズ)

36

つぶやき収集

学習データ

Page 37: 分類器 (ナイーブベイズ)

DEMO

37

みんなで、誰の発言に近い単語なのか当ててみましょう

Page 38: 分類器 (ナイーブベイズ)

参考文献

38

• アルゴリズム実践教室(伊藤直也)

• Web+DB vol.56 p.134-142, 技術評論社, May. 2010.

• 4.2 ナイーブベイズ分類器

• 言語処理のための機械学習入門, p.101-117, コロナ社, Aug, 2010.

• 第3回 ベイジアンフィルタを実装してみよう(機械学習をはじめよう)

• http://gihyo.jp/dev/serial/01/machine-learning/0003

• ナイーブベイズ再考

• http://d.hatena.ne.jp/kogecoo/20091103/1257281433

• 第二回 単語クラスタリングの諸考察(岡野原大輔)

• http://homepage3.nifty.com/DO/ensyu3_class2.pdf