25
PRML復々習レーン#10 7.1.3-7.1.5 2013-04-07→2013-05-05 Yoshihiko Suhara @sleepy_yoshi 1

PRML復々習レーン#10 7.1.3-7.1.5

Embed Size (px)

DESCRIPTION

2013-05-05 PRMLふくs

Citation preview

Page 1: PRML復々習レーン#10 7.1.3-7.1.5

PRML復々習レーン#10 7.1.3-7.1.5

2013-04-07→2013-05-05

Yoshihiko Suhara

@sleepy_yoshi

1

Page 2: PRML復々習レーン#10 7.1.3-7.1.5

Overview

• 7.1.3 多クラスSVM

• 7.1.4 回帰のためのSVM

• 7.1.5 計算論的学習理論

2

Page 3: PRML復々習レーン#10 7.1.3-7.1.5

7.1.3 多クラスSVM

3

Page 4: PRML復々習レーン#10 7.1.3-7.1.5

多クラスSVMの種類

• one-vs-the-rest方式 • one-vs-one方式

– DAGSVM

• ECOC法 • one class SVM

– なぜかこのセクションで紹介

one-vs-one方式の問題点 one-vs-the-restの問題点

4章の復習

4

Page 5: PRML復々習レーン#10 7.1.3-7.1.5

One-vs-the-rest 方式

• K個の多クラス分類問題に対してクラス𝑘 (𝑘 = 1, … , 𝐾)を正例,それ以外のクラスを負例として𝐾個の分類器を学習

• 方法1 [デファクトスタンダード] – 出力値が最大のクラスに分類する (Max Wins)

• ただし,この方法では個々の分類器の出力は独立に調整されているため,理論的裏付けがない

• 方法2

– 負例に対する出力値を −1/(𝐾 − 1) になるように分類器を学習 [Lee+ 01]

• 方法3 – 𝐾個のモデルを同時に学習する方法 [Weston+ ]

5

Page 6: PRML復々習レーン#10 7.1.3-7.1.5

One-vs-one方式: DAGSVM [Platt+ 00]

• Directed Asyclic Graph SVM (DAGSVM) • one-vs-one分類器を下図のように組み合わせることで,効率的にマルチクラス分類を実現

[Platt+ 00]より抜粋

精度は one-vs-the-rest (Max Wins) と同程度 予測に必要な計算コストが少ない

6

Page 7: PRML復々習レーン#10 7.1.3-7.1.5

誤り訂正符号を用いた方法 [Dietterich+ 95][Allwein+ 00]

• Error correcting output code (ECOC) を用いたマルチクラス分類 • クラス集合を適当に2分割し,それに基づく二値分類器を複数学習,二値分類器の出力結果によって予測を決定

• 例) 4クラス分類に7個の二値分類器を利用する例 – + が当該分割において正例,- が当該分割において負例,0が含まれていない

[Allwein+ 00]より抜粋

7

Page 8: PRML復々習レーン#10 7.1.3-7.1.5

One-class SVM

• 中心が𝒂,半径𝑅の超球で近似する –超球の外にあるデータに対しては𝜉𝑛のペナルティが発生

• 以下のように定式化される:

min. 𝑅2 + 𝐶 𝜉𝑛

𝑁

𝑛=1

s. t. 𝒙𝑛 − 𝒂 2

2 ≤ 𝑅2 + 𝜉𝑛, 𝜉𝑛 ≥ 0, ∀𝑛

8

Page 9: PRML復々習レーン#10 7.1.3-7.1.5

One-class SVM (外れ値あり)

• 外れ値データに対して異なるスラック変数,トレードオフパラメータを用意

min. 𝑅2 + 𝐶1 𝜉𝑛

𝑁

𝑛=1

+ 𝐶2 𝜂𝑖

𝑁′

𝑖=𝑁+1

𝒙𝑛 − 𝒂 22 ≤ 𝑅2 + 𝜉𝑛 𝜉𝑛 ≥ 0

𝒙𝑛 − 𝒂 22 ≥ 𝑅2 − 𝜂𝑖 𝜂𝑖 ≥ 0

s. t.

9

Page 10: PRML復々習レーン#10 7.1.3-7.1.5

7.1.4 回帰のためのSVM

10

Page 11: PRML復々習レーン#10 7.1.3-7.1.5

回帰のためのSVM

• Support Vector Regression (SVR) とも呼ばれる

• SVMにおいてはヒンジ損失を用いて,損失に寄与するデータ点 (サポートベクタ) の数を少数に抑えた – 損失に寄与 = モデル表現に寄与

• 回帰の場合も同様に損失関数を工夫することでサポートベクタ数を少数に抑える工夫をする

11

Page 12: PRML復々習レーン#10 7.1.3-7.1.5

回帰に対する損失関数 (1/2)

• L2正則化つき二乗誤差損失関数は,

1

2 𝑦𝑛 − 𝑡𝑛

2

𝑁

𝑛=1

+𝜆

2𝒘 2

• 誤差関数に以下の𝜖許容誤差関数を用いる

𝐸𝜖 𝑦 𝑥 − 𝑡 = 0 𝑦 𝑥 − 𝑡 < 𝜖

𝑦 𝑥 − 𝑡 − 𝜖 otherwise

誤差が𝜖以下の場合,損失が0

誤差が𝜖より大きい場合,線形に損失を与える

12

Page 13: PRML復々習レーン#10 7.1.3-7.1.5

回帰に対する損失関数 (2/2)

• 二乗誤差を𝜖許容誤差に置き換えると正則化つきの損失関数は以下になる

–※正則化パラメータ𝐶の位置は慣習に基づく

𝐶 𝐸𝜖 𝑦 𝒙𝑛 − 𝑡𝑛

𝑁

𝑛=1

+1

2𝒘 2

13

Page 14: PRML復々習レーン#10 7.1.3-7.1.5

図解: 𝜖許容誤差関数

二乗誤差関数

𝜖許容誤差関数

14

Page 15: PRML復々習レーン#10 7.1.3-7.1.5

スラック変数の導入

• 分類におけるソフトマージンと同様に各データ点の誤りを表すスラック変数を導入する

• 𝑦 𝒙𝑛 − 𝜖 ≤ 𝑡𝑛 ≤ 𝑦 𝒙𝑛 + 𝜖より,以下の制約条件が書ける 𝑡𝑛 ≤ 𝑦 𝒙𝑛 + 𝜖 + 𝜉𝑛

𝑡𝑛 ≥ 𝑦 𝒙𝑛 − 𝜖 − 𝜉 𝑛 • これを用いて誤差関数は以下のように書ける

𝐶 𝜉𝑛 + 𝜉 𝑛

𝑁

𝑛=1

+1

2𝒘 2

誤りを𝜉で表現

(7.53)

(7.54)

(7.55)

(7.55)式を𝜉𝑛 ≥ 0, 𝜉 𝑛 ≥ 0 および (7.53), (7.54)式の制約のもとで最小化 ⇒ そこでラグランジュ乗数法ですよ!

15

Page 16: PRML復々習レーン#10 7.1.3-7.1.5

図解: スラック変数の意味

• 𝜖チューブ内部の点は𝜉, 𝜉 𝑛ともに0

𝜖チューブ

16

Page 17: PRML復々習レーン#10 7.1.3-7.1.5

ラグランジュ関数

• ラグランジュ定数𝑎𝑛 ≥ 0, 𝑎 𝑛 ≥ 0, 𝜇𝑛 ≥ 0, 𝜇 𝑛 ≥ 0 を用いて以下のラグランジュ関数の停留点を求める

𝐿 = 𝐶 𝜉𝑛 + 𝜉 𝑛

𝑁

𝑛=1

+1

2𝒘 2 − 𝜇𝑛𝜉𝑛 + 𝜇 𝑛𝜉 𝑛

𝑁

𝑛=1

− 𝑎𝑛 𝜖 + 𝜉𝑛 + 𝑦𝑛 − 𝑡𝑛

𝑁

𝑛=1

− 𝑎 𝑛 𝜖 + 𝜉 𝑛 − 𝑦𝑛 + 𝑡𝑛

𝑁

𝑛=1

𝑦𝑛 = 𝒘𝑇𝜙(𝒙𝑛) + 𝑏 と置き換えて,𝑤, 𝑏, 𝜉𝑛, 𝜉 𝑛に

対する偏微分を0とする 17

Page 18: PRML復々習レーン#10 7.1.3-7.1.5

see P.52

• (7.61)式の導出 (演習7.7)

–手書きノートを参照

18

Page 19: PRML復々習レーン#10 7.1.3-7.1.5

19

←(7.61)式どおりという意味

Page 20: PRML復々習レーン#10 7.1.3-7.1.5

入力に対する予測

• 新しい入力に対する予測は以下の式で求まる

𝑦 𝒙 = 𝑎𝑛 − 𝑎 𝑛 𝑘 𝒙, 𝒙𝑛 + 𝑏

𝑁

𝑛=1

– 𝑎𝑛, 𝑎 𝑛 ≠ 0 であるサポートベクタとのカーネル関数の値によって決定

20

Page 21: PRML復々習レーン#10 7.1.3-7.1.5

𝜖 の決定方法と影響

• ハイパーパラメータとして調整する (?)

• 𝜖を大きく設定するとサポートベクタが減少

–∵ 𝜖チューブが大きくなるため

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

Page 22: PRML復々習レーン#10 7.1.3-7.1.5

𝜈SVM回帰の例

• ガウスカーネルを利用

22

Page 23: PRML復々習レーン#10 7.1.3-7.1.5

𝜈を使った表現

• 𝐶パラメータの代わりにチューブの外側に存在するデータの上限𝜈をハイパーパラメータとして定式化することも可能

• see p.54

23

Page 24: PRML復々習レーン#10 7.1.3-7.1.5

7.1.5 計算論的学習理論 ※別資料

24

次回に延期 乞うご期待!

Page 25: PRML復々習レーン#10 7.1.3-7.1.5

おしまい

25