• 検索結果がありません。

線形サポートベクトルマシン

N/A
N/A
Protected

Academic year: 2021

シェア "線形サポートベクトルマシン"

Copied!
36
0
0

読み込み中.... (全文を見る)

全文

(1)

機械学習論

線形サポートベクトルマシン

(2)

線形モデルとカーネルモデル

特徴ベースモデル(線形モデル)

f(x;w) =w1x1+w2x2+. . .+wdxd

事例ベースモデル(カーネルモデル)

f(x;α) =α1k(x,x1) +α2k(x,x2) +. . .+αnk(x,xn)

スパースモデリング

特徴スパースモデル

{wˆj}dj=1の多くが0となるモデル:特徴jが不要

事例スパースモデル

ˆi}ni=1の多くが0となるモデル:事例iが不要

I. Takeuchi, ML 2/36

(3)

Part1

2クラス分類問題とマージン最大化

(4)

分類問題

分類問題の例題

検査番号 肥満度x1 血圧x2 健康/糖尿病y

1 31.0 150 +1

2 19.0 160 +1

3 28.0 120 +1

4 31.0 170 +1

5 29.0 120 +1

6 20.0 100 1

7 18.0 130 1

8 24.0 110 1

9 15.0 150 1

10 15.0 110 1

I. Takeuchi, ML 4/36

(5)

データの2次元プロット

80 100 120 140 160 180 200

10 15 20 25 30 35 40

Blood Pressure (BP)

Body Mass Index (BMD)

(6)

線形分類境界

80 100 120 140 160 180 200

10 15 20 25 30 35 40

Blood Pressure (BP)

Body Mass Index (BMD)

I. Takeuchi, ML 6/36

(7)

線形分類境界

2次元入力(x= [x1 x2]R2)の場合

f(x1, x2) =w0+w1x1+w2x2= 0

d次元入力(xRd)の場合

f(x) =w0+wx= 0

(8)

分類境界の関数値

右図の分類境界の方程式は

f(x1, x2) =230 + 4x1+x2= 0

で与えられる. このとき,以下の10点のうち, 1, 2, 6, 7の4点に おけるf(x1, x2)の値を計算してみよう

ID x1 x2 y 1 31.0 150 +1 2 19.0 160 +1 3 28.0 120 +1 4 31.0 170 +1 5 29.0 120 +1 6 20.0 100 1 7 18.0 130 1 8 24.0 110 1 9 15.0 150 1

10 15.0 110 1 80

100 120 140 160 180 200

10 15 20 25 30 35 40

Blood Pressure (BP)

Body Mass Index (BMD)

I. Takeuchi, ML 8/36

(9)

計算結果

ID x1 x2 y f

1 31.0 150 +1 +44 2 19.0 160 +1 +06 3 28.0 120 +1 +02 4 31.0 170 +1 +64 5 29.0 120 +1 +06 6 20.0 100 1 50 7 18.0 130 1 28 8 24.0 110 1 24 9 15.0 150 1 20

10 15.0 110 1 60 80

100 120 140 160 180 200

10 15 20 25 30 35 40

Blood Pressure (BP)

Body Mass Index (BMD)

f(x)の符号(正/負)は分類境界のどちら側かを表す

|f(x)|の値は分類境界からの距離を表す

(10)

線形分離可能

すべてのデータ点に対して以下を満たす超平面が存在するとき線 形分離可能という:

yi=1 f(xi)<0, yi= +1 f(xi)>0.

I. Takeuchi, ML 10/36

(11)

最適な分類境界は?

以下の3つの分類境界はすべてのデータ点を正しく分類している が..

80 100 120 140 160 180 200

10 15 20 25 30 35 40

Blood Pressure (BP)

Body Mass Index (BMD)

80 100 120 140 160 180 200

10 15 20 25 30 35 40

Blood Pressure (BP)

Body Mass Index (BMD)

80 100 120 140 160 180 200

10 15 20 25 30 35 40

Blood Pressure (BP)

Body Mass Index (BMD)

(a)−230 + 4x1+ 1x2= 0 (b)−215 + 4x1+ 1x2= 0 (c)−232 + 4.5x1+ 1x2= 0

(12)

マージンとマージン最大化

データ点と分類境界の符号付距離をマージンという

すべてのデータ点のうち、分類境界に最も近いデータ点のマージ ンをデータ全体のマージンと呼ぶこともある

I. Takeuchi, ML 12/36

(13)

演習問題1

線形分類境界

f(x1, x2) =w0+w1x1+w2x2= 0

と正しく分類されているi番目の学習データ点(xi1, xi2)との距離が yi(w0+w1xi1+w2xi2)

w12+w22

と与えられ,

yif(xi) =yi(w0+w1xi1+w2xi2)

に比例することを示せ.

(14)

演習問題1の解答

I. Takeuchi, ML 14/36

(15)

マージン最大化

2次元入力の場合 max

w0,w1,w2∈R

{ min

i∈{1,...,n}

[yi(w0+w1xi1+w2xi2)

w21+w22

]}

d次元入力の場合 max

w0∈R,w∈Rd

{ min

i∈{1,...,n}

[yi(w0+wxi)

ww ]}

線形分類境界からの符号付距離をマージンと呼ぶ マージン yif(xi) =yi(w0+wxi)

(16)

Part2

二次計画問題としての定式化

I. Takeuchi, ML 16/36

(17)

二次計画問題

二次計画問題(二次関数を線形制約のもとで最小化):

min

z1,...,zm∈R

m

k=1

m

ℓ=k

akℓzkz+

m

k=1

bkzk

s.t.

m

k=1

c1kzk+d10,

...

m

k=1

chkzk+dh0

(18)

二次計画問題(行列・ベクトル表現)

行列,ベクトル(mはパラメータの次元数,hは制約数)

m×mA =

a11 · · · a1m

.. .

.. .

.. .

am1 · · · amm

, b m×1=

b1

.. . bm

, C h×m=

c11 · · · c1m ..

. ..

. .. . ch1 · · · chm

, d h×1=

d1

.. . dm

ニ次計画問題の行列・ベクトル表現

I. Takeuchi, ML 18/36

(19)

二次計画問題の例題

以下の(等式制約の)二次計画問題を解け

zmin1,z2 −z1z2 s.t. z1+z2= 1

メモ1

(20)

演習問題2

マージン最大化問題 max

w0∈R,w∈Rd

{ min

i∈{1,...,n}

[yi(w0+wxi)

ww ]}

が以下の二次計画問題に変換できることを示せ min

w0∈R,w∈Rd ww

s.t. yi(w0+wxi)1 ∀i∈ {1, . . . , n}.

I. Takeuchi, ML 20/36

(21)

演習問題2(ヒント1)

マージン最大化問題 max

w0∈R,w∈Rd

{ min

i∈{1,...,n}

[yi(w0+wxi)

ww ]}

において,マージンが最小となるデータを(xj, yj)とすると,

max

w0∈R,w∈Rd

yj(w0+wxj)

ww

s.t. yi(w0+wxi)≥yj(w0+wxj) ∀i∈ {1, . . . , n}.

(22)

演習問題2(ヒント2)

分類境界の方程式は定数倍しても変わらないので,最適化問題 max

w0∈R,w∈Rd

yj(w0+wxj)

ww

s.t. yi(w0+wxi)≥yj(w0+wxj) ∀i∈ {1, . . . , n}.

をマージン

yj(w0+wxj) = 1

となるようにw0w を定数倍すると,

max

w0∈R,w∈Rd

1 ww

s.t. yi(w0+wxi)1 ∀i∈ {1, . . . , n}.

I. Takeuchi, ML 22/36

(23)

演習問題2(ヒント3)

最適化問題 max

w0∈R,w∈Rd

1 ww

s.t. yi(w0+wxi)1 ∀i∈ {1, . . . , n}.

の目的関数を2乗して逆数をとると,

min

w0∈R,w∈Rd ww

s.t. yi(w0+wxi)1 ∀i∈ {1, . . . , n}.

(24)

ハードマージンサポートベクトルマシン( SVM)

min

w0∈R,w∈Rd ww

s.t. yi(w0+wxi)1 ∀i∈ {1, . . . , n}.

(線形分離可能な場合に適用可能)

I. Takeuchi, ML 24/36

(25)

Part3

ソフトマージンサポートベクトルマシン(SVM)

(26)

線形分離ができない場合

線形分離可能 線形分離不能

I. Takeuchi, ML 26/36

(27)

罰則

マージンが1となるようにスケールを調整したので、罰則を以下 のように定義

ξi:=

{ 0 ifyif(xi)1, 1−yif(xi) ifyif(xi)<1.

(28)

ソフトマージン SVM

ハードマージンSVM min

w0∈R,w∈Rd ww

s.t. yi(w0+wxi)1 ∀i∈ {1, . . . , n}.

罰則と緩和(ソフトマージンSVM)

min

w0∈R,w∈Rd,{ξi∈R}ni=1

1

2ww+C

n

i=1

ξi

s.t. yi(w0+wxi)1−ξi, ξi0 ∀i∈ {1, . . . , n}.

(C >0はチューニングパラメータ; cf. クロスバリデーション)

I. Takeuchi, ML 28/36

(29)

SVM の損失関数表現

(ソフトマージン)SVMは以下のように表現できる:

( ˆw0,w) = arg minˆ

w0,w

n

i=1

ℓ(yi, f(xi)) +λ∥w22

ただし,ℓ(yi, f(xi))はヒンジ損失関数:

ℓ(yi, f(xi)) = max{0,1−yif(xi)}

0 0.5 1 1.5 2 2.5 3 3.5 4

-3 -2 -1 0 1 2 3

loss

LogisticHinge Loss

(30)

SVM とロジスティック回帰分析の損失関数

ヒンジ損失

ℓ(yif(xi)) = max{0,1−yif(xi)}

ロジスティック損失

ℓ(yif(xi)) = log(1 + exp(−yif(xi)))

0 0.5 1 1.5 2 2.5 3 3.5 4

-3 -2 -1 0 1 2 3

loss

LogisticHinge Loss Logistic Loss

I. Takeuchi, ML 30/36

(31)

演習問題3

SVMが

wmin0,w

n

i=1

max{0,1−yif(xi)}+λ∥w22

と表され,L2正則化付きロジスティック回帰分析(yi∈ {−1,+1} の場合)が

wmin0,w

n

i=1

log(1 + exp(−yif(xi))) +λ∥w22

と表されることを示せ.ただし,

f(xi) =w0+wxi

(32)

SVM に関するヒント:区分線形関数の最小化

区分線形関数

区分線形関数の最小化(制約なし最適化表現)

minz max{a1+b1z,a2+b2z, . . . ,ak+bkz}

区分線形関数の最小化(制約付き最適化表現)

minz,t t

s.t.a1+b1z≤t,a2+b2z≤t, . . . ,ak+bkz≤t

I. Takeuchi, ML 32/36

(33)

ロジスティック回帰分析に関するヒント

ロジスティック回帰分析の学習=尤度最大化(yi∈ {0,1}表現)

max

w∈Rd

n

i=1

(

yilog 1

1 + exp(wxi)+ (1−yi) log exp(wxi) 1 + exp(wxi)

)

において,yi∈ {−1,+1}の表現では,事後確率が P(yi= +1|xi) = 1

1 + exp(−yiwxi) と書ける

(34)

演習問題3の解答

I. Takeuchi, ML 34/36

(35)

まとめ

(36)

まとめ

SVMはマージン最大化の考え方に基づいて導出された

SVMは二次計画問題として定式化される

SVMは正則化付きの損失関数最小化問題としても定式化できる

I. Takeuchi, ML 36/36

参照

関連したドキュメント

[r]

授業科目名 (英文名) 線形数学 (経済学部・専門関連科目 ) (Linear Mathematics) 科目区分 対象学生 ※ 単位数 2.00 開講年次・ 学期

探索範囲の真ん中あたりとみつけたいものとを比較し、その結果

[r]

[r]

本研究は,拡散の非線形性を取り除くことにより,これら非線形拡散問題の解の振

▶ 講義 −→ 小テスト (

[r]