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.

機械学習アルゴリズムの絵本

5,342 views

Published on

機械学習のアルゴリズムの中には 名前のついていない「素朴な方法」がある。
複数の方法を組み合わせて使っている場合に 素朴な方法を無視して混乱が生まれる。
そこで素朴な方法にライトを当てて、 各種アルゴリズムを図解することで 「あー、こういう組み合わせで動いてんだ」 とわかってもらう。

Published in: Education
  • Be the first to comment

機械学習アルゴリズムの絵本

  1. 1. 機械学習アルゴリズムの絵本 2016-09-02 サイボウズ・ラボ 西尾泰和
  2. 2. このスライドの目的 機械学習のアルゴリズムの中には 名前のついていない「素朴な方法」がある。 複数の方法を組み合わせて使っている場合に 素朴な方法を無視して混乱が生まれる* そこで素朴な方法にライトを当てて、 各種アルゴリズムを図解することで 「あー、こういう組み合わせで動いてんだ」 とわかってもらう。 2 * 「SVDはクラスタリングの手法」とか「NMFはk-meansみたいなもの」とか
  3. 3. データについて N個のデータがあり、データごとにD個の情報が あるとする。例: N人の学生がいて、学生にはD個 のテストの成績データがある。 これを数学の言葉でいうと「N行D列の行列」 「N個のD次元ベクトル」 ExcelのN行D列の四角い領域だと思っていい。 3
  4. 4. データの絵 4
  5. 5. クラスタリング データを小さいグループ(部分集合、クラスタ)に 分割すること 5
  6. 6. 分割の方法 ・素朴な方法 ・階層クラスタリング ・k-means 6
  7. 7. 素朴1: 特定の列の値で分ける 例えば学生を性別でわける。 7
  8. 8. 素朴2: 特定の列の値を区分する 例えば顧客を年齢で「10代」「20代」…と分ける 8
  9. 9. 素朴3: 一番大きい列がどれか 例えば学生を、通信簿の数学と英語と音楽の5段 階評価を元に「数学が得意」「英語が得意」「音 楽が得意」にわける。 9
  10. 10. 階層クラスタリング データの中で一番近いものを同じグループにまと める。次に近いものをまとめる。……を繰り返し て「木」の形を作る。 10
  11. 11. 階層クラスタリング 次に、木を適当な「高さ」で打ち切ることで データの分割ができる。 11
  12. 12. k-means データの他にK個の「代表点」を追加する。 この代表点の位置を「近くのデータの重心へ」 と繰り返し更新していくことで、 データをうまいこと代表させる。図ではK=3。 12
  13. 13. k-means 次に、N個のデータを、このK個の代表点のどれ が一番近いかで「代表1に近いもの」「代表2に 近いもの」…とK個に分割する。 13
  14. 14. その他手法 ・素朴な次元削減 ・行列分解 ・特異値分解(SVD) ・非負行列因子分解(NMF) ・応用的手法 ・主成分分析(PCA) ・潜在意味解析(LDA) 14
  15. 15. 素朴な次元削減 D個の列の中から適当な列を選ぶ。(図では3個) 15
  16. 16. 特異値分解 行列を「回転」「拡大縮小」「回転」の 3つの行列に分解する。 回転は「各列の情報の混ぜ合わせ」に相当する。 「複数の列の情報を混ぜて、もっといい特徴量が 作れないかなー」という期待で使われる。 16
  17. 17. 特異値分解 「拡大縮小」の行列は対角線上にしか値が入って いない。この値の大小が「混ぜ合わせ」結果の重 要度だと考えて、この値の大きい列を「混ぜ合わ せ」の回転行列から取り出すことがよくある。次 元削減として機能する 17
  18. 18. 非負行列因子分解 行列を負の値を含まない2つの行列に分解する。 「各列の混ぜ合わせ」の際に、負の係数で混ぜる のを禁止する。「もっと人間にとって自然な混ぜ 方にならないかな」という期待で使われる。 18
  19. 19. 主成分分析 データから「共分散行列」を作り、SVDする。 共分散行列が対称行列になるため SVDのフェーズが簡単になる。 19
  20. 20. 主成分分析 共分散行列を特異値分解した後、 2列取り出し(次元削減)、 散布図を描く(可視化)ことがよくある。 主成分分析が次元削減や可視化の手法と 呼ばれるゆえんである。 20
  21. 21. 潜在意味解析 N個の文章(たとえばニュース記事)から、各単語 の出現回数を数えて、N行D列のデータを作る。 Dは単語の種類数。 これをSVDする。 21 文章
  22. 22. 潜在意味解析 SVDで分解した結果(回転し混ぜ合わせた列)が 例えば「スポーツ系」「政治系」など入力文書の 潜在的な概念と対応すると期待して使われる。 素朴クラスタリング3「一番大きい列がどれか」 を使うことで「ニュース記事がクラスタリングで きます」という使い方をする。 「SVDはクラスタリング」という発想はたぶんこ れのせいではないか。 22
  23. 23. まとめ 「SVDはクラスタリングの手法」とか 「NMFはk-meansみたいなもの」とかの 混乱を解決するために絵を描いて解説した。 23
  24. 24. おまけ 自己組織化マップ(SOM)、ロジスティック回帰、 AutoEncoderなどの図を描くと面白いと思ったの だが、割と複雑なのと、解決しようとしていた混 乱には関係がないなーということで割愛した。 機械学習に自信がある読者向けの演習問題ってこ とにする。 24

×