Successfully reported this slideshow.
Upcoming SlideShare
×

# Coursera machine learning week7: Support Vector Machines

1,081 views

Published on

Courseraのmachine learningコース、Week 7のSVMに関する勉強会スライドです。

Published in: Technology
• Full Name
Comment goes here.

Are you sure you want to Yes No
• You can hardly find a student who enjoys writing a college papers. Among all the other tasks they get assigned in college, writing essays is one of the most difficult assignments. Fortunately for students, there are many offers nowadays which help to make this process easier. The best service which can help you is ⇒ www.HelpWriting.net ⇐

Are you sure you want to  Yes  No
• Writing a good research paper isn't easy and it's the fruit of hard work. For help you can check writing expert. Check out, please ⇒ www.HelpWriting.net ⇐ I think they are the best

Are you sure you want to  Yes  No

Are you sure you want to  Yes  No

Are you sure you want to  Yes  No

Are you sure you want to  Yes  No

### Coursera machine learning week7: Support Vector Machines

1. 1. Coursera Machine Learning Week 7 SVM, SVM with Kernel 2016/12/06 Koki Kawasaki
2. 2. agenda • 講義要約 – Large Margin Classification • Optimization Objective • Large Margin Intuition • Mathematics Behind Large Margin Classification – Kernels • Kernels I • Kernels II – SVMs in Practice • Using An SVM – Quiz • 課題 2
3. 3. Large Margin Classification Optimization Objective 3 SVMとは、LogisticRegressionの目的関数 を としたもの！
4. 4. Large Margin Classification Optimization Objective 4 SVMとは、LogisticRegressionの目的関数 を としたもの！
5. 5. Large Margin Classification Optimization Objective 5 SVMとは、LogisticRegressionの目的関数 を としたもの！ シグモイド関数に logをかませたもの シグモイド関数に logをかませたもの 0 1 0.5 -1 0 0.5 0 1 0.5 -1 0 0.5 ヒンジ損失関数って呼ぶらしい
6. 6. Large Margin Classification Optimization Objective 6 SVMとは、LogisticRegressionの目的関数 を としたもの！ シグモイド関数に logをかませたもの シグモイド関数に logをかませたもの 0 1 0.5 -1 0 0.5 0 1 0.5 -1 0 0.5 Optimizationに 影響を与えない 定数項mを削除λの代わりにC ヒンジ損失関数って呼ぶらしい
7. 7. Large Margin Classification Optimization Objective 7 以下の仮説関数を用いて予測。 （マージンを取った中間ということと理解） 学習 これを解いて、目的関数を最小化する最適なθを求める。 予測
8. 8. Large Margin Classification Large Margin Intuition • SVMがやってること。 – 決定境界から一番近いデータ点までの距離（マージン）を最大化する ような手法 • 決定境界とは（おさらい） – 仮説関数が0を予測するか、1を予測するかの境界となる（xの）直線 のこと。 SVMの決定境界 = 0
9. 9. Large Margin Classification Large Margin Intuition • SVMがやってること。 – 決定境界から一番近いデータ点までの距離（マージン）を最大化する ような手法 • 決定境界とは（おさらい） – 仮説関数が0を予測するか、1を予測するかの境界となる（xの）直線 のこと。 SVMの決定境界 = 0SVMは、この マージンを最大化するように θを決定する
10. 10. Large Margin Classification Mathematics Behind Large Margin Classification • 数学的な理解 – 以下の場合を考える • 線形分離可能（決定境界でデータを完全に 二分できる） • Θ_0 = 0 10 =0 線形分離可能
11. 11. Large Margin Classification Mathematics Behind Large Margin Classification • 数学的な理解 11 ベクトルθ 決定境界 ベクトルθ 決定境界 小さいと θ最小化できない θを最小化したい good bad x1 x2 の最大化 α：ベクトルθとx(i)のなす角 緑色の線
12. 12. agenda • 講義要約 – Large Margin Classification • Optimization Objective • Large Margin Intuition • Mathematics Behind Large Margin Classification – Kernels • Kernels I • Kernels II – SVMs in Practice • Using An SVM – Quiz • 課題 12
13. 13. Kernels Kernels I • SVMは、線形分離可能な問題に対する解法 • SVM with Kernelは、 非線形分離な問題に対する解法
14. 14. • まとめスライド • 真面目に解説 – そもそもKernel – 学習 • ランドマーク作成 • Ｆ計算 • 最適化、最適なθ • SVM with Kernelの学習フェーズは直観的な理解は難しい – 予測 • 予測したい入力データｘ • Ｆ計算、θの解釈 • 具体例 14
15. 15. Kernels Kernels I • Kernel法とは、 • SVM with Kernelとは、 – SVMで使うデータxを、類似度関数（e.g. Gaussian Kernel）で高次元の特徴ベクトルに変換してから、 SVMでOptimizationする方法 パターン認識の目的は、一般に、 データの構造(例えばクラスタ、ランキング、主成分、相関、分類)を見つけだし、研究することに ある。 この目的を達成するために、 カーネル法ではデータを高次元の特徴空間上へ写像する。 特徴空間の各座標はデータ要 素の一つの特徴に対応し、特徴空間への写像（特徴写像）によりデータの集合はユークリッド空間中の点の集合に変換される。 特徴空間におけるデータの構造の分析に際しては、様々な方法がカーネル法と組み合わせて用いられる。 特徴写像としては多 様な写像を使うことができ(一般に非線形写像が使われる)、 それに対応してデータの多様な構造を見いだすことができる。 （Wikipediaより引用） データをそのまま使わずに、カーネル関数を用いて高次 元の特徴ベクトルに変換してから使うような手法
16. 16. Kernels Kernels II SVM SVM with Kernel 高次元の特徴ベクトルf に 変換 ここで、類似度関数 また、ランドマーク 最適なθが求まったら、 で予測
17. 17. Kernels Kernels II SVM SVM with Kernel 高次元の特徴ベクトルf に 変換 ここで、類似度関数 また、ランドマーク 最適なθが求まったら、 で予測
18. 18. Kernels Kernels II • （真面目な説明）SVM with Kernelがやっていること 学習 ①ランドマーク作成 ②類似度f の計算 ③コスト関数最小化 x1 x2 ①所与のデータ から、ランドマーク を作成 ぶっちゃけ学習フェーズは直観的な理解は難しいです
19. 19. Kernels Kernels II • （真面目な説明）SVM with Kernelがやっていること 学習 ①ランドマーク作成 ②類似度f の計算 ③コスト関数最小化 ②各x(i)について、以下の類似度 を求める x1 x2 ：類似度関数によって定義された ランドマークl とデータx との距離 1.0 平均がl(j)、高さ?が 1.0のガウス分布 l(j)とx(i)が近いほど1.0に近い値を、 遠ければ0に近い値を返す 類似度関数 （カーネル関数） Gaussian Kernel
20. 20. Kernels Kernels II • （真面目な説明）SVM with Kernelがやっていること 学習 ①ランドマーク作成 ②類似度f の計算 ③コスト関数最小化 x1 x2 ②各x(i)について、以下の類似度 を求める
21. 21. Kernels Kernels II • （真面目な説明）SVM with Kernelがやっていること 学習 ①ランドマーク作成 ②類似度f の計算 ③コスト関数最小化 x1 x2 ②各x(i)について、以下の類似度 を求める
22. 22. Kernels Kernels II • （真面目な説明）SVM with Kernelがやっていること 学習 ①ランドマーク作成 ②類似度f の計算 ③コスト関数最小化 ②各x(i)について、以下の類似度 を求める x1 x2
23. 23. Kernels Kernels II • （真面目な説明）SVM with Kernelがやっていること 学習 ①ランドマーク作成 ②類似度f の計算 ③コスト関数最小化 ③類似度fを特徴量として、コスト関数の最小化 （最適化計算のアルゴリズムについては動画では触れられなかった。Cost関数内に微分不可能な点が存在するため（理論的には）最 急降下法は使えない。まぁソルバーに突っ込んだらそんなの関係なしに計算はしてくれそう） θに関する最小化を行い、最適なθを求める。
24. 24. Kernels Kernels II • SVM with Kernelがやっていること 予測 x1 x2 ①入力データxとランドマークlとの類似度f の計算 ②予測
25. 25. Kernels Kernels II • SVM with Kernelがやっていること 予測 x1 x2 ：類似度関数によって定義された ランドマークl とデータx との距離 ①入力データxとランドマークlとの類似度f の計算 ②予測
26. 26. Kernels Kernels II • SVM with Kernelがやっていること 予測 x1 x2 ①入力データxとランドマークlとの類似度f の計算 ②
27. 27. Kernels Kernels II • SVM with Kernelがやっていること 予測 x1 x2 パラメータθは、このランドマークl とデータx との距 離f に対する重みと解釈できる （距離が近かった/遠かった時に、どれだけ予測に 影響を与えるかのパラメータ） i.e. y=1であるランドマークとの距離が近かった時 に、どれだけ予測を1に近づけるか ①入力データxとランドマークlとの類似度f の計算 ②予測
28. 28. Kernels Kernels II • SVM with Kernelがやっていること 予測 x1 x2 例えば、 と学習されていたとする。 （i.e. θ1、θ2はy=1の、θ3はy=0のランドマーク） 左図のような場合、 ①入力データxとランドマークlとの類似度f の計算 ②予測 みたいな感じになり、 1を予測
29. 29. Kernels Kernels II • SVM with Kernelがやっていること 予測 x1 x2 例２ ①入力データxとランドマークlとの類似度f の計算 ②予測 みたいな感じになり、 0 0 1 -0.5 <0 0を予測
30. 30. Kernels Kernels II • SVM with Kernelがやっていること 予測 x1 x2 ①入力データxとランドマークlとの類似度f の計算 ②予測 θと距離関数（のσ）（あと一応C）によって 定められた 1を予測するような領域があるイメージ 0を予測するような領域（θ3がマイナスだったら
31. 31. Kernels Kernels II SVM with Kernel SVM (with Kernel)が持つパラメータは、以下の2つ • C （= 1/λ） – 大きい：Lower bias, High variance – 小さい：Higher bias, Low variance – ロジスティクス回帰の正規化パラメータが コスト側についただけ • σ^2 – 大きい：Lower bias, High variance – 小さい：Higher bias, Low variance – ランドマーク周りの1 or 0を予測する領域が 広くなる / 狭くなる感じ l l 1.0 σ大きい 1.0 σ小さい
32. 32. agenda • 講義要約 – Large Margin Classification • Optimization Objective • Large Margin Intuition • Mathematics Behind Large Margin Classification – Kernels • Kernels I • Kernels II – SVMs in Practice • Using An SVM – Quiz • 課題 33
33. 33. SVMs in Practice Using An SVM 実際にSVMを使うときのお話し 1. 自分でSVM実装するのはアホらしいので、パッ ケージ使いましょうね 2. 特徴量はちゃんとスケーリングしましょうね 3. Gaussian Kernel以外にも、類似度関数（Kernel） はありますよ 4. マルチクラスやる場合は、組み込みの多値分 類器使うか、one-vs-allで 5. いつLogisticRegression、SVM系、NNを使うべき か？
34. 34. SVMs in Practice Using An SVM 5. いつLogisticRegression、SVM系、NNを使うべきか？ n:データの特徴量の数、 m: データの数 • n大きく、m小さい時 – SVM with Kやるには、 データ不足 • n小さく、mそれなりの時 – SVM with Kが光り輝く時 • n小さく、m大きい時 SVM with Kは、計算時間がかかる LR SVM SVM with K 特徴量を追加して、 NN LR SVM NN NN ※NNはオールラウンダーだが、計算時間で劣る場合が多い