Mais conteúdo relacionado
Semelhante a コンピュータ先端ガイド2巻3章勉強会(SVM) (20)
Mais de Masaya Kaneko (12)
コンピュータ先端ガイド2巻3章勉強会(SVM)
- 2. 1
自己紹介
• 名前:金子 真也(かねこ まさや)
• Twitter:@syinari0123
• 出身:巣鴨高校
• 趣味:お散歩, 美味しいもの・美術館巡りなど
• やる気だけはなくさないように生きてます
- 5. 4
目次
• パターン識別 ←
• 線形から非線形への拡張
• カーネル関数
• SVM(Support Vector Machine)
– 線形SVM
– 非線形SVM
• SVMの多クラス分類
• SVMの応用
- 7. 6
線形パターン識別
識別関数𝑓𝑓 𝒙𝒙𝑖𝑖 として以下のように定める
𝑓𝑓 𝒙𝒙𝑖𝑖 = 𝒘𝒘𝑡𝑡 𝒙𝒙𝑖𝑖 + 𝑤𝑤0 �
≥ 0 (𝒙𝒙𝑖𝑖 ∈ 𝜔𝜔1)
≤ 0 (𝒙𝒙𝑖𝑖 ∈ 𝜔𝜔2)
→適切に𝒙𝒙𝑖𝑖を識別できるような𝒘𝒘, 𝑤𝑤0を求める
(空間を適切に分断する超平面を求める)
http://www.neuro.sfc.keio.ac.jp/~masato/study/SVM/SVM_1.htm
- 10. 9
線形から非線形への拡張(2)
非線形関数Φによりデータの非線形変換
𝜙𝜙: 𝒙𝒙 = 𝑥𝑥1, . . , 𝑥𝑥𝑑𝑑
𝑡𝑡 → 𝜙𝜙1 𝒙𝒙 , … , 𝜙𝜙𝐷𝐷 𝒙𝒙
→線形分離可能な分布をするような空間に変換
𝑓𝑓 𝒙𝒙𝑖𝑖 = 𝒘𝒘𝑡𝑡 𝜙𝜙(𝒙𝒙𝑖𝑖) + 𝑤𝑤0 �
≥ 0 (𝒙𝒙𝑖𝑖 ∈ 𝜔𝜔1)
≤ 0 (𝒙𝒙𝑖𝑖 ∈ 𝜔𝜔2)
https://www1.doshisha.ac.jp/~mjin/R/31/31.html
- 13. 12
カーネル関数(1)
ある関数𝜙𝜙 𝒙𝒙 (𝑹𝑹𝑑𝑑 → 𝑹𝑹𝐷𝐷)があり,
∀𝒙𝒙, 𝒚𝒚 ∈ 𝑹𝑹𝑑𝑑に対して,
𝑘𝑘 𝑥𝑥, 𝑦𝑦 = 𝜙𝜙 𝒙𝒙 𝑡𝑡 𝜙𝜙(𝒚𝒚)
が成立する関数Φが存在する時, 関数kを
カーネル関数という.
※カーネル関数が存在するための必要十分条件と
してはMercer’s theoremが存在(省略)
- 14. 13
カーネル関数(2)
カーネル関数の例
• 線形カーネル 𝑘𝑘 𝒙𝒙, 𝒚𝒚 = 𝒙𝒙𝑡𝑡 𝒚𝒚
• 多項式カーネル 𝑘𝑘 𝒙𝒙, 𝒚𝒚 = 𝒙𝒙𝑡𝑡
𝒚𝒚 + 𝑐𝑐 𝑝𝑝
• ガウスカーネル
𝑘𝑘 𝒙𝒙, 𝒚𝒚 = exp(−
𝒙𝒙 − 𝒚𝒚
2𝜎𝜎2
)
• RBFカーネル
𝑘𝑘 𝒙𝒙, 𝒚𝒚 = exp(−𝛾𝛾 𝒙𝒙 − 𝒚𝒚 2)
- 21. 20
ハードマージン
制約式 ∗ は次のように書き換えられる
𝑓𝑓 𝒙𝒙𝑖𝑖 = 𝒘𝒘𝑡𝑡
𝒙𝒙𝑖𝑖 + 𝑤𝑤0 �
≥ 1 (𝒙𝒙𝑖𝑖 ∈ 𝜔𝜔1)
≤ −1 (𝒙𝒙𝑖𝑖 ∈ 𝜔𝜔2)
制約式 ∗ 条件下で以下を求める問題に帰着できる
min
𝒘𝒘,𝑤𝑤0
𝒘𝒘
→線形分離不可能な場合に解が存在しない
𝑓𝑓 𝒙𝒙 ≥ 1
𝑓𝑓 𝒙𝒙 ≤ −1 𝑓𝑓 𝒙𝒙 = 0
- 42. 41
1対1方式(1)
• 全体から2つのクラスのペアを作り分類
– nクラスに対して 𝑛𝑛 𝐶𝐶2個のSVM
• 全ての組み合わせに対して多数決を行う
𝑓𝑓𝑖𝑖𝑖𝑖 𝒙𝒙 �
> 0 𝑖𝑖に投票
< 0 𝑗𝑗に投票
3クラス分類問題において, あるデータ𝒙𝒙が…
𝑓𝑓12
𝒙𝒙 > 0 クラス1に投票
𝑓𝑓23 𝒙𝒙 < 0 クラス3に投票
𝑓𝑓13
𝒙𝒙 > 0 クラス1に投票
→ データ𝒙𝒙はクラス1に分類(2票獲得)
- 46. 45
ペアワイズカップリング法(2)
1. 識別関数𝑓𝑓𝑖𝑖𝑖𝑖 𝒙𝒙 から分類確率𝑝𝑝̂𝑖𝑖𝑖𝑖 𝒙𝒙 のモデル化
𝑝𝑝̂𝑖𝑖𝑖𝑖 𝒙𝒙 =
1
1 + exp(−𝐴𝐴𝑓𝑓𝑖𝑖𝑖𝑖 𝒙𝒙 + 𝐵𝐵)
→最尤推定法によりA,Bを推定
2. モデル化した𝑝𝑝̂𝑖𝑖𝑖𝑖 𝒙𝒙 と実際の𝑝𝑝𝑖𝑖𝑖𝑖 𝒙𝒙 が近くなるよ
うに𝑝𝑝𝑖𝑖
𝒙𝒙 の推定
min
𝑝𝑝𝑖𝑖
𝑖𝑖∈[𝑐𝑐]
� 𝑛𝑛𝑖𝑖 + 𝑛𝑛𝑗𝑗 𝐾𝐾𝐾𝐾 𝑝𝑝̂𝑖𝑖𝑖𝑖 ∥ 𝑝𝑝𝑖𝑖𝑖𝑖
𝑖𝑖≠𝑗𝑗
→ 𝑝𝑝𝑖𝑖𝑖𝑖 = 𝑝𝑝𝑖𝑖/(𝑝𝑝𝑖𝑖 + 𝑝𝑝𝑗𝑗)より 𝑝𝑝𝑖𝑖
𝑖𝑖∈[𝑐𝑐]
に関して最小化
- 49. 48
誤り訂正出力符号(2)
• m個の符号の列それぞれで識別関数𝑓𝑓𝑗𝑗 𝒙𝒙 を学習
• それぞれの符号とのハミング距離を計算し, 最も
距離が近いクラスへと分類
識別関数
𝑓𝑓𝑗𝑗 𝒙𝒙𝑖𝑖
(𝑗𝑗 = 1 … 𝑚𝑚)
-1
1
1
-1
-1
1
-1
-1
1
1
-1
-1
1
-1
正解符号語
𝑦𝑦 = 2
距離0
特徴ベクトル
𝒙𝒙𝒊𝒊
入力画像
𝒙𝒙𝒊𝒊 =
𝑥𝑥𝑖𝑖1
⋮
𝑥𝑥𝑖𝑖 𝑑𝑑
符号語
- 53. 52
多クラスSVMの双対問題
同様にラグランジュ関数によって最適化問題から
以下の双対問題を導ける (𝛼𝛼𝑖𝑖 𝑖𝑖, 𝛼𝛼�𝑖𝑖 𝑖𝑖は双対変数)
識別関数も以下のようになる(KKT条件の利用)
𝒘𝒘𝑘𝑘 𝑡𝑡
𝜙𝜙 𝒙𝒙 + 𝑤𝑤0
𝑘𝑘
= � 𝛼𝛼�𝑖𝑖𝑖𝑖 𝐾𝐾 𝒙𝒙𝑖𝑖, 𝒙𝒙𝑗𝑗
𝑖𝑖
+ 𝑤𝑤0
𝑘𝑘
max
𝜶𝜶
−
1
2
� � 𝛼𝛼�𝑖𝑖𝑘𝑘 𝛼𝛼�𝑗𝑗𝑘𝑘 𝐾𝐾 𝒙𝒙𝑖𝑖, 𝒙𝒙𝑗𝑗
𝑘𝑘𝑖𝑖,𝑗𝑗
+ � � 𝛼𝛼𝑖𝑖𝑘𝑘
𝑘𝑘≠𝑦𝑦𝑖𝑖𝑖𝑖
𝑠𝑠. 𝑡𝑡. ∀𝑖𝑖 � 𝛼𝛼�𝑖𝑖𝑘𝑘
𝑖𝑖
= 0 (𝑘𝑘 ≠ 𝑦𝑦𝑖𝑖)
∀𝑖𝑖 0 ≤ 𝛼𝛼𝑖𝑖𝑘𝑘 ≤ 𝐶𝐶 (𝑘𝑘 ≠ 𝑦𝑦𝑖𝑖)