prml復々習レーン#10 7.1.3-7.1.5
Post on 07-Jul-2015
1.515 Views
Preview:
DESCRIPTION
TRANSCRIPT
PRML復々習レーン#10 7.1.3-7.1.5
2013-04-07→2013-05-05
Yoshihiko Suhara
@sleepy_yoshi
1
Overview
• 7.1.3 多クラスSVM
• 7.1.4 回帰のためのSVM
• 7.1.5 計算論的学習理論
2
7.1.3 多クラスSVM
3
多クラスSVMの種類
• one-vs-the-rest方式 • one-vs-one方式
– DAGSVM
• ECOC法 • one class SVM
– なぜかこのセクションで紹介
one-vs-one方式の問題点 one-vs-the-restの問題点
4章の復習
4
One-vs-the-rest 方式
• K個の多クラス分類問題に対してクラス𝑘 (𝑘 = 1, … , 𝐾)を正例,それ以外のクラスを負例として𝐾個の分類器を学習
• 方法1 [デファクトスタンダード] – 出力値が最大のクラスに分類する (Max Wins)
• ただし,この方法では個々の分類器の出力は独立に調整されているため,理論的裏付けがない
• 方法2
– 負例に対する出力値を −1/(𝐾 − 1) になるように分類器を学習 [Lee+ 01]
• 方法3 – 𝐾個のモデルを同時に学習する方法 [Weston+ ]
5
One-vs-one方式: DAGSVM [Platt+ 00]
• Directed Asyclic Graph SVM (DAGSVM) • one-vs-one分類器を下図のように組み合わせることで,効率的にマルチクラス分類を実現
[Platt+ 00]より抜粋
精度は one-vs-the-rest (Max Wins) と同程度 予測に必要な計算コストが少ない
6
誤り訂正符号を用いた方法 [Dietterich+ 95][Allwein+ 00]
• Error correcting output code (ECOC) を用いたマルチクラス分類 • クラス集合を適当に2分割し,それに基づく二値分類器を複数学習,二値分類器の出力結果によって予測を決定
• 例) 4クラス分類に7個の二値分類器を利用する例 – + が当該分割において正例,- が当該分割において負例,0が含まれていない
[Allwein+ 00]より抜粋
7
One-class SVM
• 中心が𝒂,半径𝑅の超球で近似する –超球の外にあるデータに対しては𝜉𝑛のペナルティが発生
• 以下のように定式化される:
min. 𝑅2 + 𝐶 𝜉𝑛
𝑁
𝑛=1
s. t. 𝒙𝑛 − 𝒂 2
2 ≤ 𝑅2 + 𝜉𝑛, 𝜉𝑛 ≥ 0, ∀𝑛
8
One-class SVM (外れ値あり)
• 外れ値データに対して異なるスラック変数,トレードオフパラメータを用意
min. 𝑅2 + 𝐶1 𝜉𝑛
𝑁
𝑛=1
+ 𝐶2 𝜂𝑖
𝑁′
𝑖=𝑁+1
𝒙𝑛 − 𝒂 22 ≤ 𝑅2 + 𝜉𝑛 𝜉𝑛 ≥ 0
𝒙𝑛 − 𝒂 22 ≥ 𝑅2 − 𝜂𝑖 𝜂𝑖 ≥ 0
s. t.
9
7.1.4 回帰のためのSVM
10
回帰のためのSVM
• Support Vector Regression (SVR) とも呼ばれる
• SVMにおいてはヒンジ損失を用いて,損失に寄与するデータ点 (サポートベクタ) の数を少数に抑えた – 損失に寄与 = モデル表現に寄与
• 回帰の場合も同様に損失関数を工夫することでサポートベクタ数を少数に抑える工夫をする
11
回帰に対する損失関数 (1/2)
• L2正則化つき二乗誤差損失関数は,
1
2 𝑦𝑛 − 𝑡𝑛
2
𝑁
𝑛=1
+𝜆
2𝒘 2
• 誤差関数に以下の𝜖許容誤差関数を用いる
𝐸𝜖 𝑦 𝑥 − 𝑡 = 0 𝑦 𝑥 − 𝑡 < 𝜖
𝑦 𝑥 − 𝑡 − 𝜖 otherwise
誤差が𝜖以下の場合,損失が0
誤差が𝜖より大きい場合,線形に損失を与える
12
回帰に対する損失関数 (2/2)
• 二乗誤差を𝜖許容誤差に置き換えると正則化つきの損失関数は以下になる
–※正則化パラメータ𝐶の位置は慣習に基づく
𝐶 𝐸𝜖 𝑦 𝒙𝑛 − 𝑡𝑛
𝑁
𝑛=1
+1
2𝒘 2
13
図解: 𝜖許容誤差関数
二乗誤差関数
𝜖許容誤差関数
14
スラック変数の導入
• 分類におけるソフトマージンと同様に各データ点の誤りを表すスラック変数を導入する
• 𝑦 𝒙𝑛 − 𝜖 ≤ 𝑡𝑛 ≤ 𝑦 𝒙𝑛 + 𝜖より,以下の制約条件が書ける 𝑡𝑛 ≤ 𝑦 𝒙𝑛 + 𝜖 + 𝜉𝑛
𝑡𝑛 ≥ 𝑦 𝒙𝑛 − 𝜖 − 𝜉 𝑛 • これを用いて誤差関数は以下のように書ける
𝐶 𝜉𝑛 + 𝜉 𝑛
𝑁
𝑛=1
+1
2𝒘 2
誤りを𝜉で表現
(7.53)
(7.54)
(7.55)
(7.55)式を𝜉𝑛 ≥ 0, 𝜉 𝑛 ≥ 0 および (7.53), (7.54)式の制約のもとで最小化 ⇒ そこでラグランジュ乗数法ですよ!
15
図解: スラック変数の意味
• 𝜖チューブ内部の点は𝜉, 𝜉 𝑛ともに0
𝜖チューブ
16
ラグランジュ関数
• ラグランジュ定数𝑎𝑛 ≥ 0, 𝑎 𝑛 ≥ 0, 𝜇𝑛 ≥ 0, 𝜇 𝑛 ≥ 0 を用いて以下のラグランジュ関数の停留点を求める
𝐿 = 𝐶 𝜉𝑛 + 𝜉 𝑛
𝑁
𝑛=1
+1
2𝒘 2 − 𝜇𝑛𝜉𝑛 + 𝜇 𝑛𝜉 𝑛
𝑁
𝑛=1
− 𝑎𝑛 𝜖 + 𝜉𝑛 + 𝑦𝑛 − 𝑡𝑛
𝑁
𝑛=1
− 𝑎 𝑛 𝜖 + 𝜉 𝑛 − 𝑦𝑛 + 𝑡𝑛
𝑁
𝑛=1
𝑦𝑛 = 𝒘𝑇𝜙(𝒙𝑛) + 𝑏 と置き換えて,𝑤, 𝑏, 𝜉𝑛, 𝜉 𝑛に
対する偏微分を0とする 17
see P.52
• (7.61)式の導出 (演習7.7)
–手書きノートを参照
18
19
←(7.61)式どおりという意味
入力に対する予測
• 新しい入力に対する予測は以下の式で求まる
𝑦 𝒙 = 𝑎𝑛 − 𝑎 𝑛 𝑘 𝒙, 𝒙𝑛 + 𝑏
𝑁
𝑛=1
– 𝑎𝑛, 𝑎 𝑛 ≠ 0 であるサポートベクタとのカーネル関数の値によって決定
20
𝜖 の決定方法と影響
• ハイパーパラメータとして調整する (?)
• 𝜖を大きく設定するとサポートベクタが減少
–∵ 𝜖チューブが大きくなるため
Parameter 𝜖 controls the width of the -insensitive zone, used to fit the training data. The value of 𝜖 can affect the number of support vectors used to construct the regression function. The bigger 𝜖 , the fewer support vectors are selected. On the other hand, bigger 𝜖-values results in more ‘flat’ estimates. Hence, both C and 𝜖-values affect model complexity (but in a different way). (http://kernelsvm.tripod.com/ より抜粋)
21
𝜈SVM回帰の例
• ガウスカーネルを利用
22
𝜈を使った表現
• 𝐶パラメータの代わりにチューブの外側に存在するデータの上限𝜈をハイパーパラメータとして定式化することも可能
• see p.54
23
7.1.5 計算論的学習理論 ※別資料
24
次回に延期 乞うご期待!
おしまい
25
top related