例えば
上司:
「この文章を分類しておいて。
長いし多いけど良いよね。 」
でも
上司:
「この文章を分類しておいて。
長いし多いけど良いよね。 」
ってなったら嬉しい(遠い目)
機械学習っていう分野
人工知能における研究課題の一つで、
人間が自然に行っている学習能力と同様の機能を
コンピュータで実現しようとする技術・手法
ナイーブベイズ
分類対象がどれに分類されるかの確率を求め、最も確率の高いものを解とする
つまりナイーブベイズでは
分類対象XがクラスYである確率
\[
P(Y\ |\ X)
\]
これさえ分かれば勝てる
でもこの確率がわからないから困ってる
だからベイズの定理を適用して
\[
P(Y\ |\ X) =
\frac{P(X\ |\ Y)P(Y)}{P(X)}
\]
$P(X)$ : Xが入力される確率
$P(Y)$ : 分類がYである確率
$P(X\ |\ Y)$ : 分類Yにおいて、Xが入力された確率
$P(Y\ |\ X)$ : Xが入力された時、それが分類Yである確率
ここで、入力Xについて考えるとき、$P(X)$は常に一定なので無視できる
\[
P(Y\ |\ X) \propto
P(X\ |\ Y)P(Y)
\]
例への適用
バー:
何はともあれビール。樽生はホフブロイでした。
今回は頼まなかったけど、ワインの方にはフランケンもありました。
焼き肉:
それなりのお肉が本当安く、頂けます。
写真は上タン塩にホルモン三種。キムチはかなり辛いのですが、美味しい。
カフェ:
全体的にヨーロピアン風の内装でいい雰囲気です。
ラテアートも綺麗でゆっくりとケーキをたのしめました。
これらが既にわかっているとする
この時の各確率は
$P(バー) = \frac{1}{3}$
$P(焼き肉) = \frac{1}{3}$
$P(カフェ) = \frac{1}{3}$
$P(何はとも・・・ありました。|\ バー) = 1$
$P(それなり・・・、美味しい。|\ 焼き肉) = 1$
$P(全体的に・・・しめました。|\ カフェ) = 1$
※これが1なのは各パターンの入力が1つしか無いから
これで勝てる
分類テストとしてこんな入力を用意
ここのホルモンうま!
ひととおり食べたいお肉をいただけて満足です
各分類に対する確率を出せばいい
$P(バー\ |\ ここのホ・・・けて満足です) = P(ここのホ・・・けて満足です)\ P(バー) = 0 \times \frac{1}{3}$
$P(焼き肉\ |\ ここのホ・・・けて満足です) = P(ここのホ・・・けて満足です)\ P(焼き肉) = 0 \times \frac{1}{3}$
$P(カフェ\ |\ ここのホ・・・けて満足です) = P(ここのホ・・・けて満足です)\ P(カフェ) = 0 \times \frac{1}{3}$
全部0・・・
原因:同じ入力はほぼありえない
コレでは確率が出せない・・・
そして 〜ナイーブ〜 へ
対策:
入力Xを特徴の集まりと見なし、
単語が得られる確率の積で近似する
\[
P(Y\ |\ X) \propto
P(X\ |\ Y)P(Y)
\]
\[
P(X\ |\ Y) \simeq P(W_1|Y)P(W_2|Y)P\cdots(W_n|Y)
\]
$P(W_n\ |\ Y)$ : 分類Yにおける特徴$W_n$出現確率
・入力の持つ情報を削り、特徴のみを抽出
(文章などでは単語の連なりやコンテキスト
といった情報を大胆に削ることに相当)
このことから「ナイーブ」ベイズと呼ばれる
これでどんな入力でも対応できる
んだったらよかったんですが、
知らない特徴が含まれていたらそれだけで$P(X\ |\ Y)$が0になってしまう
ゼロ頻度問題
対策:
スムージング
未知の特徴$W_{new}$が与えられた場合、
$P(W_{new}\ |\ Y)$には非常に小さな値を与える
ヒューリスティックな手法
\[
\frac{1}{\mbox{10 × 各分類の特徴数の総和(総特徴数)}}
\]
未知の特徴出現時に、一定の値を与える
加算スムージング
\[
\frac{特徴\mbox{W}の数 + \alpha}{分類Yにおける語彙数 + \alpha \times 全語彙数}
\]
一定の値を予め加算し、0値を回避
$\alpha = 1$の時をラプラススムージングと呼ぶ
もう一度例に適用
バー:
何はともあれビール。樽生はホフブロイでした。
今回は頼まなかったけど、ワインの方にはフランケンもありました。
焼き肉:
それなりのお肉が本当安く、頂けます。
写真は上タン塩にホルモン三種。キムチはかなり辛いのですが、美味しい。
カフェ:
全体的にヨーロピアン風の内装でいい雰囲気です。
ラテアートも綺麗でゆっくりとケーキをたのしめました。
これらから必要な確率を算出(今回の特徴には一部単語を利用)
Naive Bayes
単純(ナイーブ)ベイズ
Created by Takefumi Ota