集合知第7回
TRANSCRIPT
Goodfind Engineer 番外編
SVMって名前かっこいいですよね
1日で学ぶ,SVM講座〜サポートベクターマシーン〜
目次
• 目次
1. 機械学習のアプローチ方法
2. SVMとは?
3. 集合知の本でやってること
4. まとめ
以下時間があったら(てかやります)
1. 線形SVMの理論(ハードマージンSVM)
2. ソフトマージンSVM
3. 非線形SVM(カーネルトリック)
はじめに
• SVMだけで本が一冊書けてしまうので、今日は本当に触りだけで許してください
作者:ネロクリスティアニーニ,ジョンショー‐テイラー,Nello
Cristianini,John Shawe‐Taylor,大北剛出版社/メーカー:共立出版発売日: 2005/03
通称赤本.読みづらいらしいので,右側の黄色のPRMLのがオススメ.
SVMとは?
• (教師あり学習)パターン認識手法の1つ
• 一番認識性能が優れた学習モデルの1つ
• 実用例
–スパム検知,画像認識,文字認識,構文解析(CaBoCha),テキスト分類etc...
• 具体例
–顔の表情認識、軍事データセットを使用した新入の検知,タンパク質の構造をシーケンスから予測
機械学習のアプローチ方法
1. 識別関数
– 入力データを見て、特定のクラスに属するよう識別(パーセプトロン、ニューラルネットワーク、SVM)
2. 識別モデル
– 入力データからクラス事後確率をモデル化して識別(CRF:Conditional Random Fields)
3. 生成モデル
– 入力データがどのような分布で生成させたものかをモデル化して識別(ナイーブベイズ)
集合知の本でやっていること(線形分類)
デートサイトの男女の年齢とマッチするかしないかのデータ.
新しいデータが●or☓の判別を行いたい.
●の平均
簡単な解答xとyの平均を求め,
どちらのクラスに距離が近いかを求める
+の平均
集合知の本でやっていること(線形分類)
●の平均
簡単な解答xとyの平均を求め,
どちらのクラスに距離が近いかを求める
+の平均
新たに直線を引く.
直線は両クラスの中間
・左側ほどマッチしない・右側ほどマッチする
これが分類のための境界線(超平面)!
集合知の本でやっていること(線形分類)
• 内積で考えるともっと分類の判定に用いる計算量が減ります
M0をマッチする,M1をマッチしないクラスの平均点とする.中間点をCとする.
・分類したい点とのベクトルを考え,内積が正ならM0,負ならM1に分類できる.
集合知の本でやっていること(線形分類)
• 注意点
– これはあくまで線形分類器であり,境界線を探すだけのものです. 誤判別ももちろん含まれる.
• 学習サンプルに複数のベクトルデータを持たせても可能(9.4-9.5)
–定性データ(性別)も定量化(1,0)したり,スケールが異なるデータも,正規化すれば扱える
集合知の本でやっていること(非線形分類)
さて、問題です。Q:左の図の境界線はどうやって引くんでしょうか??(どちらのクラスも平均が同じ所...)解けた人は今日の昼ごはんタダ!?
Ans. xとyを2乗したグラフで境界線を考える!!
集合知の本でやっていること(非線形分類)
• しかし,実際は点の変換を行うのは,難しい場合が多い
• 次元が増えてしまうと更に複雑になり,なかなか変換できない
• カーネルトリック
–元データを線形写像で高次元に変換し,高次元で内積を計算し,元のデータに返す作業.
– これで非線形も対応可能で超すごいんです!!
集合知の本でやっていること(非線形分類)
カーネルトリックのイメージ図です(計算式は後ほど)
何が嬉しいかというと,関数の中身が分からなくてもカーネス関数(高次元での内積のこと)がわかれば計算できる所.
さて、いよいよSVMの正体に迫ろう!!(9.7)
新しいクラス分類を考える
この例ではクラスの平均による境界線を求めているが...。
誤判別が境界線の上でちょいと起こっている.
境界線に近いのが該当する点が原因...
※多くの誤判別は境界線付近で起こりやすい.
さて、いよいよSVMの正体に迫ろう!!(9.7)
では,境界線はどうやって引くべきなのか?
Ans.
境界線から各クラスの近傍点までの距離を最大化する.
(マージンの最大化)
あとで公開
さて、いよいよSVMの正体に迫ろう!!(9.7)
では,境界線はどうやって引くべきなのか?
Ans.
境界線から各クラスの近傍点までの距離を最大化する.
(マージンの最大化)この直線を超平面という.
マージン上の点だけが境界線を定めるのに使用される.
↓
他の点は不必要.
↓
マージン付近に存在するこれら点をサポートベクターと呼ぶ!
マージン
サポートベクター(超平面を求めるのに使用)
集合知の本でやっていること(まとめ)
• まとめ
–サポートベクターを使い,超平面を求めるのがSVM
–超平面を求める⇔マージンの最大化
–基本は線形分類だが,カーネルトリックを用いることで非線形にも対応.
オススメの本
言語処理のための機械学習入門(自然言語処理シリーズ)
[単行本]
高村大也 (著)
パター...ry)わかりやすいパターン認識 [単行本]
石井健一郎 (著)
集合知の本でやっていること
• 集合知の本のチャプターはこれで終了ですが...
• 内容があまりにもフワッとしすぎて,流石にSVMの理論をあまり知らずに使用するのはよくないのでは?(私もよくわかりません)
• もうちょっと理論も一緒に見てみましょう.SVM
は機械学習で超大事なポイントの1つです!
集合知の本でやっていること
こちらのスライドシェアがオススメです。