人工知能特論 6.機械学習概論とバージョン空間 法

人工知能特論
8.教師あり学習と教師なし学習
北陸先端科学技術大学院大学 鶴岡 慶雅
今日の講義内容
• 教師あり学習
• Naive Bayes 分類器
• 教師なし学習
• クラスタリング
• 講義資料
• http://www.jaist.ac.jp/~tsuruoka/lectures/
教師あり学習と教師なし学習
• 教師あり学習
– 各サンプルに出力の「正解」が付いている
– 分類、回帰
– 学習データを人手で作成する必要がある
• 教師なし学習
– 各サンプルは単なる属性値のベクトル
– クラスタリング
– パターンマイニング
Naive Bayes 分類器
Chapter 6.9 of Mitchell, T., Machine Learning (1997)
• Naive Bayes 分類器(classifier)
– 確率値を出力
– 理論、実装が簡単
– 問題によっては高い分類精度
– 属性の条件付独立を仮定
– 学習は非常に効率的
– 分類も高速
Bayes の定理
• Thomas Bayes (1702 – 1761)
P APB A
PA B 
PB
• 因果関係の順方向(生成方向)の確率を利用
して逆方向の確率を計算することができる
Bayes の定理(例)
• 病気の診断結果から、本当にその病気にか
かっているかどうかの確率を知りたい
PdiseaseP positivedisease
Pdiseasepositive 
P positive
PdiseaseP positivedisease
Pdiseasepositive 
P positive
Pdisease  0.008,
Pdisease  0.992
P positivedisease  0.98, Pnegativedisease  0.02
P positivedisease  0.03, Pnegativedisease  0.97
Bayes の定理(例)
PdiseaseP positivedisease  0.008 0.98  0.0078
PdiseaseP positivedisease  0.992 0.03  0.298
0.0078
Pdiseasepositive 
 0.21
0.0078 0298
• 病気である確率は意外と低い
Naive Bayes 分類器
• 属性間の条件付独立性を仮定
vNB  argmax Pv j a1, a2 ,...,an 
vj
 argmax
vj

Pv j P a1 , a2 ,...,an v j
Pa1 , a2 ,...,an 

 argmax Pv j P a1, a2 ,...,an v j
vj
 
 argmax Pv j  P ai v j
vj
i


ベイズの定理
分母はクラスによらず
一定
属性の条件付独立性
学習データ例
Day
Outlook
Temperature
Humidity
Wind
PlayTennis
D1
Sunny
Hot
High
Weak
No
D2
Sunny
Hot
High
Strong
No
D3
Overcast
Hot
High
Weak
Yes
D4
Rain
Mild
High
Weak
Yes
D5
Rain
Cool
Normal
Weak
Yes
D6
Rain
Cool
Normal
Strong
No
D7
Overcast
Cool
Normal
Strong
Yes
D8
Sunny
Mild
High
Weak
No
D9
Sunny
Cool
Normal
Weak
Yes
D10
Rain
Mild
Normal
Weak
Yes
D11
Sunny
Mild
Normal
Strong
Yes
D12
Overcast
Mild
High
Strong
Yes
D13
Overcast
Hot
Normal
Weak
Yes
D14
Rain
Mild
High
Strong
No
Naive Bayes 分類器
• 事例
<Outlook = sunny, Temperature = cool, Humidity = high, Wind = strong>
 
vNB  argmax Pv j   P ai v j
v j yes,no
i


 PTemperature  cool v 
 PHumidity highv 
 PWind  strong v 
 argmax Pv j  P Outlook  sunny v j
v j yes,no
j
j
j
クラスの事前確率
• 最尤推定
– 学習データ中での頻度の比
PPlayTennis yes 
9
 0.64
14
5
PPlayTennis no   0.36
14
属性ごとの条件付確率
• 最尤推定
– 学習データ中での頻度の比
3
PWind  strong PlayTennis yes   0.33
9
3
PWind  strong PlayTennis no   0.60
5
クラスの事後確率
P yes POutlook  sunny yes
 PTemperature  cool yes
 PHumidity high yes
 PWind  strong yes
 0.0053
Pno POutlook  sunny no
0.0053
 0.205
0.0053 0.0206
 PTemperature  cool no
正規化すると
 PWind  strong no
0.0206
 0.795
0.0053 0.0206
 PHumidity highno
 0.0206
スムージング
• 最尤推定
– 学習データ中での頻度の比
nc
n
– 事例の数が少ないときに確率値の推定が不安定
• m-estimate of probability
p : 事前知識による確率の推定値
nc  mp
m : equivalent sample size
nm
Naive Bayes によるテキスト分類
• テキスト分類
– 記事にカテゴリを自動的に付与する
– スパムメールのフィルタリング
– 製品レビューの自動認識
• 例
– 好きな(嫌いな)文章だけを抽出
There were doors all round the hall, but they were all locked;
and when Alice had been all the way down one side and up
the other, trying every door, she walked sadly down the
middle, wondering how she was ever to get out again.
 
vNB  argmax Pv j   P ai v j
45
v j like,dislike
i

 Pa

" were" v 
 argmax Pv j  P a1 "there" v j
v j like,dislike
2
j
...

 P a45 " again" v j

単語の条件付確率の計算
• 頻度が低すぎて確率が推定できない

P a2 " were" v j

文書の先頭から2番目に単語 “were” が出現する確率
• 位置は無視、m-estimate によるスムージング
n 1


Pw v 
n  Vocabulary
k
k
j
教師なし学習
• 出力するべき「正解」が与えられていない
• クラスタリング
– 似たようなサンプルをまとめあげる
– 階層的クラスタリング、k-means, etc..
• パターンマイニング
– データ中の頻出するパターンを効率的に発見
– Association rules, グラフマイニング, etc
クラスタリング
• 似たようなサンプルをまとめあげる
– 階層的クラスタリング
– 非階層的クラスタリング
階層的クラスタリング
• サンプル間に距離を定義
– 例 ベクトル空間モデルによるコサイン類似度
• アルゴリズム
1. すべてのサンプルを個別のクラスタとして開始
2. もっとも近いクラスタ同士を統合し新たなクラス
タとする
3. すべてのクラスタが統合されるまで 2 に戻り繰り
返す
階層的クラスタリング
• 例
デンドログラム
(Dendrogram)
1
3
2
5
4
1
2
3
4
5
クラスタ間の距離の定義
最短距離法(single link)
重心法(centroid)
最長距離法(complete link)
群平均法(group-average)
k-means法
• クラスタの重心
• 最小化 k
ci
d x, c  
i 1 xCi
2
i
• アルゴリズム
1. k個の代表点c1,…ckをランダムに選択
2. すべての点を代表点がもっとも近いクラスタに
割り当て
3. 各クラスタの重心を代表点にして2へ戻り繰り
返す
k-means法
• 実装が簡単
• 計算量が小さい
• クラスタ数 k をあらかじめ決めておく必要
• すべてのクラスタがほぼ同じサイズ
• 初期値のランダムな配置に依存
レポート課題
• 以下の学習データについて次の問いに答えよ
Outlook
Temperature
Humidity
Wind
PlayTennis
Sunny
Hot
High
Weak
No
Sunny
Hot
High
Strong
No
Overcast
Hot
High
Weak
Yes
Rain
Mild
High
Weak
Yes
Rain
Cool
Normal
Weak
Yes
Rain
Cool
Normal
Strong
No
Overcast
Cool
Normal
Strong
Yes
Sunny
Mild
High
Weak
No
Sunny
Cool
Normal
Weak
Yes
Rain
Mild
Normal
Weak
Yes
レポート課題(続き)
• 問1
– この学習データを正しく分類する決定木を作成せよ。
ただし、各ノードでの属性の選択には information gain
を利用し、計算過程も示すこと。
• 問2
– Naive Bayes 分類器により以下の確率を計算せよ。
Pyes | Outlook  rain,Temperature  cool, Humidity high,Wind  weak