Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

機械学習入門の入門

380 views

Published on

機械学習入門の入門

Published in: Science
  • Be the first to comment

機械学習入門の入門

  1. 1. 機械学習 machine-learning •  教師なし学習 unsupervised learning –  階層的クラスタリング hierarchical clustering •  最短距離法 Single-linkage •  最長距離法 Complete-linkage •  平均法 Average method •  重心法 Centroid method –  主成分分析 principal component analysis; PCA •  教師あり学習 supervised learning •  決定木 decision tree •  ランダムフォレスト random forest •  サポートベクトルマシン support vector machine (SVM) •  ロジスティック回帰 logis@c regression •  線形判別分析 linear discriminant analysis (LDA) •  深層学習 deep learning 1
  2. 2. 決定木 (decision tree)とランダムフォレスト •  できるだけ少ない質問で、正解を予測する •  何度もランダムな決定木を作り、多数決で予測する手法をランダムフォレスト (random forest)と言います。 2
  3. 3. 教師あり高次元ベクトルデータ •  化合物データ 白=活性あり、黒=活性なし •  遺伝子発現データなどと思ってくれても OKです。 •  簡単のため、2次元の整数で取り扱える データにしていますが、実際は高次元の 実数で取り扱います。 •  左のような観測データがあるとき、「?」 の場所の化合物が白か黒か予測したい。 3 ?
  4. 4. 真実はこうであるとします。 4
  5. 5. 白か黒か予測する決定木(質問は2回までの場合) 5 X > 6 Yes Black: 1 White: 15 No START 白と予測
  6. 6. 白か黒か予測する決定木(質問は2回までの場合) 6 X > 6 Yes Black: 1 White: 15 No Y < 3 Black: 28 White: 2 Black: 3 White: 15 START 白と予測 黒と予測 白と予測 Yes No
  7. 7. 白か黒か予測する決定木(質問は2回までの場合) 7 X > 6 Yes Black: 1 White: 15 No Y < 3 Black: 28 White: 2 Black: 3 White: 15 START 白と予測 黒と予測 白と予測 黒と予測 本当は白 30 2 本当は黒 4 28 正解率(accuracy) = (30 + 28) / (30 + 2 + 4 + 28) = 0.906 白と予測 Yes No
  8. 8. でも実際にはほんの一部しか観測できないわけでして 8 ?
  9. 9. 観測できている範囲内でベストの予測を試みます。 9 ? X < 1 Yes Black: 0 White: 2 No Y < 2 Black: 6 White: 2 Black: 1 White: 3 START 白と予測 黒と予測 白と予測 Yes No 白と予測 黒と予測 本当は白 5 2 本当は黒 1 6 見かけ上の正解率(accuracy) = (5 + 6) / (5 + 2 + 1 + 6) = 0.785 「?」は黒と予測。
  10. 10. 10 X < 1 Yes Black: 4 White: 4 No Y < 2 Black: 26 White: 16 Black: 2 White: 12 START 白と予測 黒と予測 白と予測 黒と予測 本当は白 16 16 本当は黒 6 26 真の正解率(accuracy) = (16 + 26) / (16 + 16 + 6 + 26) = 0.656 「?」の予測はハズレ 白と予測 Yes No 真の予測性能は、知る由も無い 見かけ上の正解率(accuracy) = (5 + 6) / (5 + 2 + 1 + 6) = 0.785 「?」は黒と予測。
  11. 11. 過学習 overfi^ng テスト問題だけ解けるようヤマを張った学習をしたせいで、現実の問題に対応する能 力が落ちること 11 適度な学習 過学習 予測 白 予測 黒 本当 白 6 1 本当 黒 2 5 予測 白 予測 黒 本当 白 30 2 本当 黒 4 28 予測 白 予測 黒 本当 白 7 0 本当 黒 0 7 予測 白 予測 黒 本当 白 25 6 本当 黒 5 27 黒 白 白 白 白 白 黒 黒 見かけ上の Accuracy = (6+5)/(6+1+2+5) = 0.79 真の Accuracy = (30+28)/(30+2+4+28) = 0.91 見かけ上の Accuracy = (7+7) / (7+0+0+7) = 1.0 真の Accuracy = (25+27)/(25+5+5+27) = 0.84
  12. 12. 交差検定 cross valida@on •  予測モデルの性能評価に用いる。 •  本当は答えの分かっている問題を「training data」と「test data」に分割し、training dataだけを使って予測モデルを構築し、test data の予測をし、答え合わせをする ことで、予測モデルの性能を見積もる。 12 本当は白黒分かっている問題 4分割交差検定:ランダムに 1/4 を選択して test data (グレー)とし、残りの 3/4 からグレーの本当 の色を予測する。それを4回繰り返す。
  13. 13. 予測モデルの評価方法いろいろ •  Accuracy = (TP + TN) / (TP + FN + FP + TN) –  正解率。予測結果全体と、答えがどれぐらい一致しているかを判断する指標。 •  Precision = TP / (TP + FP) –  適合率。予測を正と判断した中で、答えも正である割合。薬の設計などでは 一般に、Precisionが高い予測モデルが良しとされる。 •  Recall = TP / (TP + FN) –  再現率、回収率ともいう。答えが正の中で、予測が正とされた割合。病気の 診断などでは一般に、Recallが高い予測モデルが良しとされる。 •  F-measure = 2 x Precision x Recall / (Precision + Recall) –  F値。PresicionとRecallの調和平均。一般にPrecisionとRecallは逆相関の関係 にあるので、バランスの良い予測をするためにF値を考えることがある。 •  「精度」という言葉はAccuracyの意味だったりPrecisionの意味だったり曖 昧なので、使用には注意されたい。 13 活性ありと予測 活性なしと予測 活性あり(陽性) True Posi@ve (TP) False Nega@ve (FN) 活性なし(陰性) False Posi@ve (FP) True Nega@ve (TN)
  14. 14. 決定木(質問は3回まで)の 4分割交差検定 4-fold cross valida@on 14 答え 白 白 白 白 白 白 白 白 白 白 白 黒 黒 黒 黒 黒 予測 白 予測 黒 本当 白 1 1 本当 黒 2 0 予測 白 予測 黒 本当 白 2 0 本当 黒 0 2 予測 白 予測 黒 本当 白 2 0 本当 黒 2 0 予測 白 予測 黒 本当 白 2 0 本当 黒 0 2 Accuracy = (1+0)/4 = 0.25 Precision = 1/(1+2) = 0.33 Recall = 1/(1+1) = 0.50 F-measure = 0.40 Accuracy = (2+2)/4 = 1.0 Precision = 2/(2+0) = 1.0 Recall = 2/(2+0) = 1.0 F-measure = 1.0 Accuracy = (2+0)/4 = 0.50 Precision = 2/(2+2) = 0.50 Recall = 2/(2+0) = 1.0 F-measure = 0.67 Accuracy = (2+2)/4 = 1.0 Precision = 2/(2+0) = 1.0 Recall = 2/(2+0) = 1.0 F-measure = 1.0 Accuracy = 0.6875 Precision = 0.71 Recall = 0.88 F-measure = 0.77 予測モデルの 平均性能
  15. 15. 教師あり高次元ベクトルデータの機械学習の解析例 15 セトナ(setosa)、バーシクル(versicolor)、 バージニカ (virginica)という3種類のあやめの 4個の計測値:がく片 長(Sepal Length),がく片幅(Sepal Width),花びら長(Petal Length),花びら幅(Petal Width)と種(Species) 主成分分析(PCA)の結果例。それ ぞれの色の丸がそれぞれの種類 のあやめを表す。
  16. 16. 教師あり高次元ベクトルデータの機械学習の解析例 16 様々な種類の サポートベク ターマシン (support vector machine, SVM) を使って、あや めの分類を学 習した結果例。 SVMは、教師あ り学習を用いる パターン認識モ デルの一つであ る。
  17. 17. 教師あり高次元ベクトルデータの機械学習の解析例 17 青丸と赤丸に分かれる高次元 データを •  Nearest Neighbor法 •  線形SVM •  RBFカーネルSVM •  決定木 •  ランダムフォレスト •  Adaboost •  Naive Bayes •  線形判別分析 •  二次判別分析 で学習し、その結果をPCAで二 次元空間上にプロットした図を 示す。色の付いたエリアがそ の予測結果で、右下の数字が Accuracy。様々な機械学習法 が開発されているが、それぞ れ得意な問題と苦手な問題が ある。
  18. 18. 教師あり高次元ベクトルデータの機械学習の解析例 18 青丸と赤丸に分かれる高次元 データを •  Nearest Neighbor法 •  線形SVM •  RBFカーネルSVM •  決定木 •  ランダムフォレスト •  Adaboost •  Naive Bayes •  線形判別分析 •  二次判別分析 で学習し、その結果をPCAで二 次元空間上にプロットした図を 示す。色の付いたエリアがそ の予測結果で、右下の数字が Accuracy。様々な機械学習法 が開発されているが、それぞ れ得意な問題と苦手な問題が ある。
  19. 19. 教師あり高次元ベクトルデータの機械学習の解析例 19 青丸と赤丸に分かれる高次元 データを •  Nearest Neighbor法 •  線形SVM •  RBFカーネルSVM •  決定木 •  ランダムフォレスト •  Adaboost •  Naive Bayes •  線形判別分析 •  二次判別分析 で学習し、その結果をPCAで二 次元空間上にプロットした図を 示す。色の付いたエリアがそ の予測結果で、右下の数字が Accuracy。様々な機械学習法 が開発されているが、それぞ れ得意な問題と苦手な問題が ある。
  20. 20. 教師あり高次元ベクトルデータの機械学習の解析例 20 青丸と赤丸に分かれる高次元 データを •  Nearest Neighbor法 •  線形SVM •  RBFカーネルSVM •  決定木 •  ランダムフォレスト •  Adaboost •  Naive Bayes •  線形判別分析 •  二次判別分析 で学習し、その結果をPCAで二 次元空間上にプロットした図を 示す。色の付いたエリアがそ の予測結果で、右下の数字が Accuracy。様々な機械学習法 が開発されているが、それぞ れ得意な問題と苦手な問題が ある。
  21. 21. 決定木で、良い質問をどう見つけるか? 21 同グループから任意の石を1個取り出す 試行を2度行った時に同じ色である確率 Pを考える。その確率を石の数で重み付 けした値が最大になる分け方を探す。
  22. 22. 決定木で、良い質問をどう見つけるか? 22 同グループから任意の石を1個取り出す 試行を2度行った時に同じ色である確率 Pを考える。その確率を石の数で重み付 けした値が最大になる分け方を探す。 X > 4 で分けた場合 左グループ:黒6・白1 P左 = (6/7)2 + (1/7)2 = 0.76 右グループ:黒8・白13 P右 = (8/21)2 + (13/21)2 = 0.53 ΣP=ΣP左+ΣP右=0.76x7+0.53x21=16.45
  23. 23. 決定木で、良い質問をどう見つけるか? 23 同グループから任意の石を1個取り出す 試行を2度行った時に同じ色である確率 Pを考える。その確率を石の数で重み付 けした値が最大になる分け方を探す。 X > 4 で分けた場合 左グループ:黒6・白1 P左 = (6/7)2 + (1/7)2 = 0.76 右グループ:黒8・白13 P右 = (8/21)2 + (13/21)2 = 0.53 ΣP=ΣP左+ΣP右=0.76x7+0.53x21=16.45 X > 5 で分けた場合 左グループ:黒10・白4 P左 = (10/14)2 + (4/14)2 = 0.59 右グループ:黒4・白10 P右 = (4/14)2 + (10/14)2 = 0.59 ΣP=ΣP左+ΣP右=0.59x14+0.59x14=16.52 微妙に X > 5 のほうが良い。 ※ただしこの方法がベストとい う保証はなく、これ以外にも 様々な方法がある。
  24. 24. 白(活性あり)と黒(活性なし)を予測する 決定木(質問は3回まで)
  25. 25. 白(活性あり)と黒(活性なし)を予測する 決定木(質問は3回まで) 25 Y > 5 Yes No X > 4 Black: 3 White: 9 START 白と予測 黒と予測 Yes No X→ Y ↓ Black: 13 White: 3 X > 5 Black: 10 White: 3 黒と予測 白と予測 Yes No Black: 2 White: 10 白と予測 黒と予測 本当は白 19 6 本当は黒 5 23 Accuracy = (19 + 23)/(19 + 6 + 5 + 23) = 0.79 Precision = 19 /(19 + 5) = 0.79 Recall = 19 / (19 + 6) = 0.76 F-measure = 0.77
  26. 26. 課題7 26 X→ Y ↓ 左図は、自然数で表される物性Xと物 性Yが明らかになっている一連の化合 物をXY空間上にプロットしたものであ る。白はある薬理活性をもつもの、黒 はもたないものを示しているものとす る。白と黒を区別する決定木(質問は 3回まで)を2つ以上作成し、 Accuracy, Precision, Recall, F-measure を用いた性能比較を行いなさい。 必ずしもベストの性能を持つ決定木を 作る必要はありませんが、できるだけ 性能の良い木を作れるよう頑張ってく ださい。 また、この講義の感想なども書いてもらえると嬉しいです。 今後の講義の改善につながるかもしれません。

×