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.
プログラミング輪講   機械学習  @pika_shi
機械学習とはl  ⼈人間が⾏行行うパターン認識則や経験則    を,コンピュータで実現させるl  サンプルデータ集合を対象に解析を    ⾏行行い,そのデータから有⽤用な規則,    ルールを抽出する                    ...
検索エンジンとの関係l  ランキングの改良  (例)どのページがユーザにとって好ましいかを,過去のクリックの履     歴により分析       Webページ                     問い合わせ          クエリ   ...
機械学習の例l  教師あり学習          l  教師なし学習  決定⽊木         ナイーブ・ベイズ     K-means      SVM                    主成分分析 パーセプトロン         ...
SVM
SVMとは?l  現在最も識別性能の⾼高い分類器の1つl  ⾼高次元でもうまく分類できるので,複雑な問題に適⽤用され    ることが多い  l  顔の表情の分類  l  ⼿手書き⽂文字認識  l  地震による被害規模の予測  l  ...
SVMの学習l  マージン最⼤大化により識別線を決定                        7
カーネルトリックl  訓練データを⾼高次元空間に写像し、その写像された空間上    で線形分離を⾏行行う                             8
LIBSVMを使う>> from svm import *>> from svmutil import *>>>> # 訓練データ>> problem = svm_problem([1,-1], [[0,0], [1,1]])>> # パラメー...
パーセプトロン
パーセプトロンとは?l  ⼈人間の視覚・脳の機能をモデル化した分類器                            11
パーセプトロンの学習能⼒力力l  パーセプトロンは⾮非線形分離が不可能    l AND,OR,XORのうち不可能なのは?                        多層パーセプトロン                          ...
多層パーセプトロンl  中間層(隠れ層)をもち,⾮非線形分離も可能に                             13
バックプロパゲーション(誤差逆伝播法)l  分類器の精度をより⾼高めるために,出⼒力力結果から重みを調    整していくl  ネットワーク内の重みを調整しながら,後ろに伝わってい    くl  今回の課題で実装してもらいます(クリックデー...
過学習l  学習しすぎて,逆に学習能⼒力力が低下 l  中間層を多くしすぎた時などに⽣生じる                          15
SVMとの⽐比較l  パーセプトロンとSVMはどっちが汎化能⼒力力が⾼高い?                                  16
決定⽊木
決定⽊木l  意思決定を⾏行行うための学習モデル                        学年                                       B4          M1                  ...
決定⽊木とは?l  どっちの決定⽊木がよい?                               学年    ⾃自宅or下宿              B4          M1                           ...
決定⽊木のライブラリl  Pythonのライブラリ  l  scikit-learn      http://scikit-learn.sourceforge.net/dev/modules/      tree.htmll  多クラス分...
scikit-learnを使う>> from sklearn import tree>>>> # 訓練データ>> samples = [[0, 0], [1, 1]]>> # クラス>> values = [0, 1]>> # 訓練>> clf...
ナイーブ・ベイズ
ナイーブ・ベイズとは?l  確率モデルに基づいた分類器 l  ⽂文書分類,診断などに⽤用いられることが多い  通常メール          スパムメール   飲み会              当選          旅⾏行行        ...
その他l  不均衡データ問題 (imbalanced data)  l  識別器の訓練データに⼤大きなクラスの偏りがある場合,⼤大きいクラ      スに流されてしまう  l  対策としては,⼤大きい⽅方のクラスサイズを⼩小さい⽅方に合わ...
課題
Upcoming SlideShare
Loading in …5
×

機械学習

8,477 views

Published on

某研究室のM1が,B4向けに機械学習の講義を行った際のスライドです.

Published in: Technology
  • Be the first to comment

機械学習

  1. 1. プログラミング輪講 機械学習 @pika_shi
  2. 2. 機械学習とはl  ⼈人間が⾏行行うパターン認識則や経験則 を,コンピュータで実現させるl  サンプルデータ集合を対象に解析を ⾏行行い,そのデータから有⽤用な規則, ルールを抽出する 2
  3. 3. 検索エンジンとの関係l  ランキングの改良 (例)どのページがユーザにとって好ましいかを,過去のクリックの履 歴により分析 Webページ 問い合わせ クエリ 検索 エンジン クリック 索引 DB フィードPageRank バック ランキングされた検索結果 3
  4. 4. 機械学習の例l  教師あり学習 l  教師なし学習 決定⽊木 ナイーブ・ベイズ K-means SVM 主成分分析 パーセプトロン 強化学習 4
  5. 5. SVM
  6. 6. SVMとは?l  現在最も識別性能の⾼高い分類器の1つl  ⾼高次元でもうまく分類できるので,複雑な問題に適⽤用され ることが多い l  顔の表情の分類 l  ⼿手書き⽂文字認識 l  地震による被害規模の予測 l  僕の研究l  Pythonのライブラリ l  LIBSVM http://www.csie.ntu.edu.tw/~cjlin/libsvm/ l  SVM-Light http://svmlight.joachims.org/ 6
  7. 7. SVMの学習l  マージン最⼤大化により識別線を決定 7
  8. 8. カーネルトリックl  訓練データを⾼高次元空間に写像し、その写像された空間上 で線形分離を⾏行行う 8
  9. 9. LIBSVMを使う>> from svm import *>> from svmutil import *>>>> # 訓練データ>> problem = svm_problem([1,-1], [[0,0], [1,1]])>> # パラメータの設定 (カーネルの種類など)>> # 多クラスSVMや,クロスバリデーションなども引数で設定可能>> prameter = svm_parameter(‘-t 2 –h 0’)>> # 訓練>> m = svm_train(problem, parameter)>> # 予測>> predict = svm_predict([1,-1], [[-1, 0],[3, 3]], m)>> predict[0][1.0, -1.0] 9
  10. 10. パーセプトロン
  11. 11. パーセプトロンとは?l  ⼈人間の視覚・脳の機能をモデル化した分類器 11
  12. 12. パーセプトロンの学習能⼒力力l  パーセプトロンは⾮非線形分離が不可能 l AND,OR,XORのうち不可能なのは? 多層パーセプトロン なら可能! 12
  13. 13. 多層パーセプトロンl  中間層(隠れ層)をもち,⾮非線形分離も可能に 13
  14. 14. バックプロパゲーション(誤差逆伝播法)l  分類器の精度をより⾼高めるために,出⼒力力結果から重みを調 整していくl  ネットワーク内の重みを調整しながら,後ろに伝わってい くl  今回の課題で実装してもらいます(クリックデータの学習) 14
  15. 15. 過学習l  学習しすぎて,逆に学習能⼒力力が低下 l  中間層を多くしすぎた時などに⽣生じる 15
  16. 16. SVMとの⽐比較l  パーセプトロンとSVMはどっちが汎化能⼒力力が⾼高い? 16
  17. 17. 決定⽊木
  18. 18. 決定⽊木l  意思決定を⾏行行うための学習モデル 学年 B4 M1 B5 学年 ⾃自宅 or 下宿 早起き ソフト ⾃自宅or下宿 ⾏行行く ⾃自宅or下宿 B4 下宿 得意 ⾏行行く B4 下宿 苦⼿手 ⾏行行く 下宿 ⾃自宅 下宿 ⾃自宅 B4 ⾃自宅 苦⼿手 ⾏行行かない ⾏行行く ⾏行行かない ⾏行行く ⾏行行かない B5 下宿 苦⼿手 ⾏行行く M1 下宿 得意 ⾏行行く ⾃自宅or下宿 M1 ⾃自宅 得意 ⾏行行かない 下宿 ⾃自宅 ⾏行行く ⾏行行かない 18
  19. 19. 決定⽊木とは?l  どっちの決定⽊木がよい? 学年 ⾃自宅or下宿 B4 M1 B5 下宿 ⾃自宅 ⾃自宅or下宿 ⾏行行く ⾃自宅or下宿 ⾏行行く ⾏行行かない 下宿 ⾃自宅 下宿 ⾃自宅 簡単なものほどよい ⾏行行く ⾏行行かない ⾏行行く ⾏行行かない (オッカムの剃⼑刀)l  情報理論(エントロピー),ジニ係数などを⽤用いて簡単な決 定⽊木を求めることができる 19
  20. 20. 決定⽊木のライブラリl  Pythonのライブラリ l  scikit-learn http://scikit-learn.sourceforge.net/dev/modules/ tree.htmll  多クラス分類はSVMより決定⽊木の⽅方がうまくいくことが多 い l  逆に2クラス分類はやはりSVMには精度は及ばない 20
  21. 21. scikit-learnを使う>> from sklearn import tree>>>> # 訓練データ>> samples = [[0, 0], [1, 1]]>> # クラス>> values = [0, 1]>> # 訓練>> clf = tree.DecisionTreeClassifier()>> clf = clf.fit(samples, values)>> # 予測>> clf.predict([2, 2])array([1]) 21
  22. 22. ナイーブ・ベイズ
  23. 23. ナイーブ・ベイズとは?l  確率モデルに基づいた分類器 l  ⽂文書分類,診断などに⽤用いられることが多い 通常メール スパムメール 飲み会 当選 旅⾏行行 おめでとう 出会いl  次のメールはスパム? l  最近出会いがなくて寂しい.誰か飲み会開いて! l  出会いがなくて寂しいそこのあなた!このサイトに登録すればモテ モテですよ. 23
  24. 24. その他l  不均衡データ問題 (imbalanced data) l  識別器の訓練データに⼤大きなクラスの偏りがある場合,⼤大きいクラ スに流されてしまう l  対策としては,⼤大きい⽅方のクラスサイズを⼩小さい⽅方に合わせる,ま たはその逆が⼀一般的l  アンサンブル学習 (ensemble learning) l  識別器を複数組み合わせて,⾼高精度の識別器を作成 l  うまく作成できれば,識別器の能⼒力力を120%引き出すことができる 24
  25. 25. 課題

×