人工知能特論 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 B P APB A PB • 因果関係の順方向(生成方向)の確率を利用 して逆方向の確率を計算することができる Bayes の定理(例) • 病気の診断結果から、本当にその病気にか かっているかどうかの確率を知りたい Pdisease positive Pdisease positive Pdisease 0.008, PdiseaseP positivedisease P positive PdiseaseP positivedisease P positivedisease 0.98, P positive Pdisease 0.992 Pnegativedisease 0.02 P positivedisease 0.03, Pnegativedisease 0.97 Bayes の定理(例) PdiseaseP positivedisease 0.008 0.98 0.0078 PdiseaseP positivedisease 0.992 0.03 0.298 0.0078 Pdisease positive 0.21 0.0078 0298 • 病気である確率は意外と低い Naive Bayes 分類器 • 属性間の条件付独立性を仮定 vNB argmaxPv j a1 , a2 ,...,an vj argmax vj Pv j P a1 , a2 ,...,an v j Pa1 , a2 ,...,an argmaxPv j P a1 , a2 ,...,an v j vj argmaxPv 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 Pv j P ai v j v j yes, no i P Tem perature cool v P Hum idity highv P Wind strong v argmax Pv j P Outlook sunnyv j v j yes, no j j j クラスの事前確率 • 最尤推定 – 学習データ中での頻度の比 P PlayTennis yes 9 0.64 14 5 P PlayTennis no 0.36 14 属性ごとの条件付確率 • 最尤推定 – 学習データ中での頻度の比 PWind strong PlayTennis yes 3 0.33 9 3 PWind strong PlayTennis no 0.60 5 クラスの事後確率 P yes POutlook sunny yes PTem perature cool yes PHum idity high yes PWind strong yes 0.0053 Pno POutlook sunnyno 0.0053 0.205 0.0053 0.0206 PTem perature cool no 正規化すると PWind strong no 0.0206 0.795 0.0053 0.0206 PHum idity highno 0.0206 スムージング • 最尤推定 – 学習データ中での頻度の比 nc n – 事例の数が少ないときに確率値の推定が不安定 • m-estimate of probability nc mp nm p : 事前知識による確率の推定値 m : equivalent sample size 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. v NB argmax Pv j P ai v j 45 v j like, dislike i P a " were" v argmax Pv 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 xCi 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