データサイエンス12_分類.pdf

 データサイエンス12_分類.pdf

Transcript

  1. Data Science

  2. 今日の内容  機械学習とは  データ分類手法  決定木  最近傍法 

    SVM
  3. machine learning

  4. 機械学習とは  データを解析して、そこから何らかの規則性や知識など、有益な情報を獲得 するアルゴリズムの総称  データは大量にあることが前提  以前からある技術だが、データの整備、計算機の性能向上など、複数の要 因が近年に重なって一気に普及した。 

    「ビッグデータ」時代  AIブーム  人工知能の中心的技術ではあるが、機械学習のみが人工知能ではない。
  5. 教師あり学習と教師なし学習  教師あり学習  「教師データ」(正解)を付与したデータに基づく機械学習  例:ある人にとってある本が面白いかどうかのデータ。このデータを用いて未 知の本に対して面白いかどうか(=おすすめ本)を自動判別する。  一般に高コスト、ただし手作業での情報付与とは限らない

     教師なし学習  「教師データ」が付与されていないデータに基づく機械学習  (教師あり学習と比較して)データは大規模だが低精度
  6. 分類と回帰 「教師データ」も2種類に分けることができる。  分類  いくつかの選択肢の中の一つ  例:スパムメール  回帰

     ある値  例:明日の最高気温
  7. その他の機械学習  半教師あり学習  教師ありと教師なしの中間  一部のデータにのみ正解が付与されている  強化学習 

    正解は付与されていない  アルゴリズムの出力結果がどの程度正しそうかという情報「報酬」を得ること ができる
  8. data classification

  9. データを分類する  分類(classification)  未知の事例に対して、予め定義されたクラスのどれに所属するかを判断する処 理  クラス数は所与  教師あり学習

     クラスタリング(clustering, クラスタ分析)  事例集合に対して、何らかの基準で類似するいくつかのクラスに分類する処理  クラス数は所与または自動決定  教師なし学習
  10. 決定木(けっていぎ, Decision Tree)  データを木構造の形式で分類したもの  エントロピー(乱雑さ)を分類基準に考える  解釈が容易 

    過学習しやすい=分類性能が(それほど)高くない  これへの対処もいくつか検討されている
  11. https://tokoname.mallkyujin.jp/contents/text/c106/

  12. https://tokoname.mallkyujin.jp/contents/text/c106/ ファッ ション グッズ グル メ 美容 サービ ス 初対面の人とてもなんとなく話せる

    〇 〇 〇 × × 好きなものから先に食べる × 〇 〇 〇 〇 お気に入りのお店は友達にも… × 〇 × × 〇 実は働きたくない 〇 〇 〇 〇 〇 ショッピングは色々比較してから… 〇 〇 × × 〇 一人よりも仲間とみんなでいる… × 〇 〇 〇 × 恋人とはLINEより電話で話したい 〇 〇 × × × 大勢の前でも緊張はしない 〇 × 〇 〇 × 自分のこだわりポイントは… 〇 × × × × ドタキャンされても気にしないほうだ × × 〇 〇 〇
  13. 最近傍法(k近傍法, k-nearest neighbor method)  「一番近いk個のサンプルを参考にクラスを決める」クラス分類法  最も lazy な機械学習手法

     kの値によって結果が変わることがある
  14. https://www.researchgate.net/figure/K-nearest-neighbor-algorithm-illustration-The-green-circle-is-the-sample-which-is-to-be_fig14_267953942

  15. SVM(Support Vector Machine)  N次元のベクトル(数値データ)を二値分類するための手法  決定木とは違って数値データのみが対象  マージン最大化 

    最も類似した項目(=サポートベクトル)をできるだけ明確に分類する仕組 み  これはすなわち、SVMが統計的な分類手法ではないことも意味する  カーネルトリック  分類しやすくするためにベクトルを高次元化するテクニック
  16. http://www.bogotobogo.com/python/scikit-learn/scikit_machine_learning_Support_Vector_Machines_SVM.php

  17. http://www.bogotobogo.com/python/scikit-learn/scikit_machine_learning_Support_Vector_Machines_SVM.php

  18. https://towardsdatascience.com/understanding-the-kernel-trick-e0bc6112ef78

  19. SVMで多値分類  one-vs-rest 法  one-vs-one 法

  20. clustering

  21. ハード/ソフトなクラスタリング  ハードなクラスタリング  各事例はただ一つのクラスに属する  ソフトなクラスタリング  各事例が複数のクラスに属することが許されている

  22. クラスタリングの分類  凝集型(agglomerative)  事例数=クラス数が初期状態  だんだん凝集することでクラス数が減少していく  分割型(divisive) 

    初期状態は全事例が同一のクラスに所属する  だんだん分割することでクラス数が増加していく
  23. K-means (k平均法)アルゴリズム  シンプルで効率的なクラスタリングアルゴリズム  初期シードを与え、収束するまで反復処理を繰り返す(次ページ)。  O(kn) (k:クラス数、n:事例数)の類似度比較を行う。通常、収束するま での反復処理の回数は非常に少ない。

     問題:初期シードの与え方によって一般に結果が異なる。  対策1:シードを変えていろいろやってみる。  対策2:シードの与え方を少しまじめに考える。
  24. https://rindalog.blogspot.com/2016/08/k-means.html

  25. 階層的凝集クラスタリング  初期化:すべての事例を異なったクラスに割り当てる  反復処理:最も類似度が高い2クラスを求め、それらを併合(1クラス 化)する。これを繰り返す。  終了条件:すべてが一つのクラスになるまで。  併合履歴はそのまま二分木になる

  26. 階層的凝集クラスタリング(続き)  類似度計算方法:  単一リンク:各事例対の類似度の中の最大値  完全リンク:各事例対の類似度の中の最小値  平均リンク:各事例対の類似度の平均値 

    重心:クラスの中心間の類似度
  27. 類似度とは何?  ユークリッド距離:空間上の2点間の距離 , = ෍ ( − )2 

    コサイン類似度:ベクトルの角度(のコサイン値)