学習アルゴリズム特論 - kana-lab.c.titech.ac.jp ·...
TRANSCRIPT
学習アルゴリズム特論
• 担当:金森 敬文 (e-mail: [email protected])
http://www.kana-lab.c.titech.ac.jp/
日本語ページに講義の情報を掲載.
• 講義の進め方:主に板書で解説する.スライドを使うこともある.
• 成績評価
∗ 講義中にレポート課題を出題する.その結果を総合して成績を評価する.詳細は後日アナウンスする.
1/53
講義の予定
• 2018-07-18
∗ 統計的データ解析と最適化,線形代数・微積分の復習∗ 最適化の基礎∗ 凸最適化とその応用:SVM
• 2018-07-25
∗ 上界最小化法(MM法):EM法,DCアルゴリズム∗ ブースティングと最適化:座標降下法∗ 高次元統計モデルとスパース学習:ℓ1正則化,近接勾配法• 2018-08-01
∗ 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化∗ 深層学習:Generative Adversarial Network(GAN),
制限ボルツマンマシン
2/53
• 参考文献:全般
∗ [書籍] 金森,鈴木,竹内,佐藤,MLPシリーズ “機械学習のための連続最適化”,講談社,2016.
∗ [書籍] 金森,“Rによる機械学習入門”,オーム社,2017.
∗ [書籍] Shai Shalev-Shwartz, et al., Understanding Machine Learning: From Theory
to Algorithms, Cambridge University Press, 2014.
• 最適化・凸解析
∗ [書籍] 金谷,“これなら分かる最適化数学 ―基礎原理から計算手法まで”,共立出版,2005.
∗ [書籍] Boyd and Vandenberghe, Convex Optimization, Cambridge University Press,
2004. http://web.stanford.edu/~boyd/cvxbook/
• 上界最小化法:
∗ [書籍] MLP:機械学習のための連続最適化,第13章∗ [論文](EMアルゴリズム) Dempster and Rubin, Maximum Likelihood from
Incomplete Data via the EM Algorithm, Journal of the Royal Statistical Society.
Series B (Methodological), Vol. 39, No. 1. (1977), pp. 1–38.
3/53
• ブースティングと最適化
∗ [書籍] Hastie, Tibshirani, Friedman, “The Elements of Statistical Learning”, Second
Edition, 2009.
https://web.stanford.edu/~hastie/ElemStatLearn/
Chapter 10: Boosting and Additive Models.
∗ [論文] Chen, and Guestrin, XGBoost: A Scalable Tree Boosting System, KDD’16.
• 高次元統計モデルとスパース学習
∗ [書籍] MLP:機械学習のための連続最適化,第15章∗ [論文] K. Hayashi, et al., ”A User’s Guide to Compressed Sensing for
Communications Systems,” IEICE Trans. Commun., Vol. E96-B, No. 03, pp.685-
712, Mar. 2013.
• 深層学習
∗ [書籍] 岡谷,MLPシリーズ“深層学習”,講談社,2015.
∗ [書籍] 斉藤,“ゼロから作る Deep Learning”, オライリー・ジャパン,2016.
∗ [論文] Ioffe, Szegedy, “Batch Normalization: Accelerating Deep Network Training
by Reducing Internal Covariate Shift”, ICML’15.
4/53
• 統計的データ解析と最適化
• 線形代数・微積分の復習
5/53
統計モデルを用いた推定
• データ x を生成している確率分布 p(x) について推論する.
• p(x) を含んでいる(と考えられる)確率分布の集合を設定:
統計モデル : P = {p(x; θ) | θ ∈ Θ ⊂ Rd}
仮定 : p(x) = p(x; θ∗) ∈ P
• 目標:データ x からパラメータ θ∗ を推定→ 予測などに応用
6/53
最尤推定量
• 最尤推定法:(対数)尤度を最大化.観測データ x ∼ p(x; θ∗) に対して
∗ 尤度 L(θ) = p(x; θ).∗ 対数尤度 ℓ(θ) = log p(x; θ).
maxθ∈Θ
p(x; θ) −→ θ
⇐⇒ minθ∈Θ
− log p(x; θ) −→ θ
∗ 離散確率変数:確率関数を考える.
• 考え方:「データの出現しやすさ」を最大化するパラメータを求める.
7/53
最尤推定:二項分布
• コイン投げ:x1, x2, . . . , xn ∼i.i.d. Ber(p), 0 ≤ p ≤ 1.note: “i.i.d” は「独立に同一の分布にしたがう」
• Ber(p)の意味:Pr(xi = 1) = p, Pr(xi = 0) = 1− p.
まとめて表すと Pr(xi = z) = pz(1− p)1−z, z = 0, 1.
二項分布のパラメータ p の尤度: L(p) =n∏
i=1
pxi(1− p)1−xi
8/53
m =
n∑i=1
xi とする.
ℓ(p) =n∑
i=1
log pxi(1− p)1−xi = m log p+ (n−m) log(1− p).
ℓ(p) を p について最大化:
∂ℓ
∂p(p) = 0 ⇔ m
p− n−m
1− p= 0 ⇔ p =
m
n.
• p の最尤推定量 p =1が出た回数試行数 .
• 自然な推定量が最尤推定量として得られる.
9/53
最尤推定:正規分布x1, . . . , xn ∼i.i.d N(µ, σ2)
• N(µ, σ2) の確率密度:p(x;µ, σ2) =1√2πσ2
exp
{− (x− µ)2
2σ2
}
対数尤度 ℓ(µ, σ2) := logn∏
i=1
p(xi;µ, σ2)
= − 1
2σ2
n∑i=1
(xi − µ)2 +n
2log σ2 − 1
2log 2π −→ 最大化
極値条件 ∂
∂µℓ(µ, σ2) = 0,
∂
∂σ2ℓ(µ, σ2) = 0 を解いて
最尤推定 : µ =1
n
n∑i=1
xi, σ2 =1
n
n∑i=1
(xi − µ)2.
10/53
例 1 (血液型:表現型の人数から遺伝子型の確率を推定).
• 血液型: A, B, AB, O.
• 対立遺伝子: a, b, o.
a,b,o の確率: θa, θb, θo
θa + θb + θo = 1, θa, θb, θo ≥ 0.
表現型 遺伝子型 人数A aa, ao, oa nA
B bb, bo, ob nB
AB ab, ba nAB
O oo nO
Pr(A) = θ2a + 2θaθo, Pr(B) = θ2b + 2θbθo
Pr(AB) = 2θaθb, Pr(O) = θ2o
11/53
条件:θa + θb + θo = 1, θa, θb, θo ≥ 0 のもとで(対数)尤度を最大化
対数尤度: ℓ(θa, θb, θo)
= log Pr(A)nAPr(B)nBPr(AB)nABPr(O)nO
= nA log(θ2a + 2θaθo) + nB log(θ2b + 2θbθo)
+ nAB log(2θaθb) + nO log(θ2o)
−→ (不等式)制約付き最適化問題.さまざまな数値解法/学習アルゴリズム
12/53
Python code: ファイル名 bloodtype.py で保存� �import numpy as np
from scipy.optimize import fmin
# 負の対数尤度# theta = np.array([thetaA, thetaB]); n = np.array([nA, nB, nAB, nO])
def nlikelihood(theta,n):
a = theta[0]; b = theta[1]; o = 1-a-b
p = np.array([a**2+2*a*o, b**2+2*b*o, 2*a*b, o**2])
return(-np.sum(n * np.log(p)))
# 最尤推定の計算# n = np.array([nA, nB, nAB, nO])
def mle(n):
# 初期値[1/3,1/3]で最小化sol = fmin(nlikelihood, [1/3,1/3], args=(n,))
return(np.array([sol[0], sol[1], 1-np.sum(sol)]))� �note: 尤度を ℓ(θa, θb) としている.θo は θo = 1− θa − θb から計算.
13/53
コンソールからpythonを起動してプログラムを実行� �$ python
Python 3.6.3 (default, Oct 4 2017, 06:09:38)
[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.37)] on darwin
>>> import numpy as np
>>> import bloodtype as bt
>>> n = np.array([40,30,20,10])
>>> bt.mle(n)
Optimization terminated successfully.
Current function value: 128.200878
Iterations: 21
Function evaluations: 42
Out[1]: array([ 0.37183434, 0.29628586, 0.3318798 ])� �nA = 40, nB = 30, nAB = 20, nO = 10 とするとθa = 0.37183434, θb = 0.29628586, θo = 0.3318798 が得られた.
scipy.optimize.fmin のデフォルト: Nelder-Mead法で最適化.
14/53
• 学習アルゴリズムと最適化
• 線形代数・微積分
15/53
学習アルゴリズムと最適化
学習とは? データからパターンを発見し,将来の予測などを行う.
学習アルゴリズム:
• 統計モデルを設定.• 損失関数を定義.• データに対する統計モデルの損失を最小化 −→ 「最適化」が必要.
例:最尤推定では統計モデルの「負の対数尤度」を最小化.
16/53
最適化問題目的関数 f : Rd→ R,制約 x ∈ S ⊂ Rd
minx∈Rd
f(x) s. t. x ∈ S
• S = Rd:制約なし最適化
• S = Rd:制約あり最適化
17/53
実行可能解 (feasible solution): 制約(x ∈ S)を満たす点
最適解 (optimal solution; opt. sol.):任意の x ∈ Sに対してf(x∗) ≤ f(x) を満たす点 x∗ ∈ S.
最適値 (optimal value; opt. val.): min{f(x) | x ∈ S} を最適値という.正確には inf{f(x) | x ∈ S}.Note: 「値」と「解」の言葉の使い分けに注意.
局所最適解/極小解 (local optimal solution; local opt. sol.):B(x, ε) = {y ∈ Rd : ∥y − x∥ < ε} とする.以下を満たす x∗ ∈ S を極小解,f(x∗)を極小値という:
∃ε > 0, ∀x ∈ B(x∗, ε) ∩ S, f(x∗) ≤ f(x)
最適解ならば局所最適解.
18/53
線形代数の復習d× d対称行列A ∈ Rd×d:
A = Q
λ1
. . .
λd
QT と対角化される.
ここで λi は実固有値,Q = (q1, . . . , qd)は直交行列 (QQT = QTQ = I).
Aqi = λiqi, i = 1, . . . , d
qTi qj = δij =
1, i = j,
0, i = j.
19/53
Aを対称行列とする.
• Aは非負定値 定義⇐⇒ ∀x ∈ Rd, xTAx ≥ 0.
A ⪰ Oと書く. A ⪰ O ⇐⇒ Aの固有値が全て非負
• Aは正定値 定義⇐⇒ ∀x ∈ Rd, x = 0 に対して xTAx > 0.
A ≻ Oと書く.A ≻ O ⇐⇒ A の固有値が全て正.
20/53
対称行列 A ∈ Rd×d,固有値 λ1, . . . , λd ∈ R.
∥A∥ := maxi=1,...,d
|λi|
note: 一般の(対称でない)行列の場合:∥A∥は最大特異値で定義.
このとき
∥Ax∥ ≤ ∥A∥∥x∥
実際,maxx:∥x∥=1xTATAx = ∥A∥2 から分かる.
21/53
微積分の復習
• 微分可能な関数 f : Rd→ R の勾配ベクトル∇f : Rd→ Rd
∇f(x) =(∂f
∂x1(x), . . . ,
∂f
∂xd(x)
)T
.
連鎖律:f : Rd→ R, ϕ : Rn→ Rd.
h(x) = f(ϕ(x)) とすると
∇h(x) = ∂ϕ
∂x∇f(ϕ(x)), ∂ϕ
∂x= (∇ϕ1, . . . ,∇ϕd)
ニューラルネットワークの学習(back propagation)で必要になる.
22/53
• ヘッセ行列(ヘシアン) ∇2f : Rd→ Rd×d.fの2階微分から定義されるd× d 対称行列
(∇2f(x))ij =∂2f
∂xi∂xj(x)
23/53
テイラー展開f : Rd→ R, Ck : k回連続微分可能な関数の集合.
• f ∈ C1 のとき:点xのまわりで1次式で近似
f(y) = f(x) +∇f(x)T (y − x) + o(∥y − x∥)
• f ∈ C2 のとき:点xのまわりで2次式で近似
f(y)
= f(x) +∇f(x)T (y − x) +1
2(y − x)T∇2f(x)(y − x) + o(∥y − x∥2)
24/53
∇fの性質
• ∇f(x) ∈ Rd は f(x) の値が増える方向:f(x+ ε∇f(x)) = f(x) + ε∥∇f(x)∥2 + o(ε)
• ∇f(x)は点xでの等高線(面)と直交.
x(t), t ∈ R:等高線上を動くとする (f(x(t)) = c, x(0) = x).
f(x(t)) = f(x) + t∇f(x)T x(0) + o(t) =⇒ ∇f(x)T x(0) = 0
25/53
• 最適化の基礎
26/53
最適性条件� �f : Rd→ R
最適化問題 : minx∈Rd
f(x)
の local opt sol を x∗ ∈ Rd とする.
• f ∈ C1 なら ∇f(x∗) = 0
• f ∈ C2 なら ∇f(x∗) = 0, ∇2f(x∗) ⪰ O� �制約なし最適化で,数値解の最適性のチェックなどに使える.
27/53
Proof. 任意のdで0 ≤ f(x∗ + εd)− f(x∗) = ε∇f(x∗)Td+ o(ε).
d = −∇f(x∗)としてε > 0, ε→ 0とすると
0 ≤ −∥∇f(x∗)∥2 =⇒ ∇f(x∗) = 0.
テイラー展開より,以下の不等式が ∀d ∈ Rd, 小さなε > 0で成立:
f(x∗) ≤ f(x∗ + εd) = f(x∗) + ε∇f(x∗)Td+ε2
2dT∇2f(x∗)d+ o(ε2)
= f(x∗) +ε2
2dT∇2f(x∗)d+ o(ε2)
=⇒ dT∇2f(x∗)d ≥ 0 ⇐⇒ ∇2f(x∗) ⪰ O.
■
28/53
等式制約つき最適化� �f : Rd→ R, gℓ : Rd→ R, f, gℓ ∈ C1, ℓ = 1, . . . , k.
最適化問題 : minx∈Rd
f(x) s. t. gℓ(x) = 0, ℓ = 1, . . . , k.
の local opt. sol. を x∗ ∈ Rd とする.以下が成立:
∃λ1, . . . , λk ∈ R, ∇f(x∗) +k∑
ℓ=1
λℓ∇gℓ(x∗) = 0
� �
29/53
Proof. gℓ(x) が x の一次式 gℓ(x) = aTℓ x+ bℓ の場合に証明する.
feasible region : S = {x ∈ Rd : gℓ(x) = 0, ℓ = 1, . . . , k},
M = span{∇g1(x∗), . . . ,∇gk(x∗)}, (Sに直交).
ε = 0 に対してx∗ + εd ∈ S ⇔ d ∈M⊥.なぜなら
0 = gℓ(x∗ + εd) = aT
ℓ (x∗ + εd) + bℓ = εaT
ℓ d = ε∇gℓ(x∗)Td.
d ∈M⊥, ε > 0に対して
f(x∗) ≤ f(x∗ + εd) = f(x∗) + εdT∇f(x∗) + o(ε)⇒ 0 ≤ dT∇f(x∗).
−d ∈M⊥ でも成立:0 ≤ −dT∇f(x∗).よって ∀d ∈M⊥ に対して dT∇f(x∗) = 0. したがって ∇f(x∗) ∈M . ■
30/53
例:
minx,y,z>0
−2 log x− 3 log y − log z, x+ y + z − 1 = 0
f = −2 log x− 3 log y − log z, g = x+ y + z − 1−2/x−3/y−1/z
+ λ
1
1
1
=
0
0
0
⇒ x = 2/λ, y = 3/λ, z = 1/λ
⇒ x = 2/6, y = 3/6, z = 1/6 (x+ y + z − 1 = 0より)
実際に「最小」になっていることは凸性から確認できる ⇒ 次の話題.
31/53
最適化の数値解法minx∈S⊂Rd f(x) の数値解法
反復解法� �
1. 初期化:初期解 x0 を定める. k ← 0 とする.2. 停止条件を満たすなら,結果を出力し,計算を終了する.3. 関数f(x),制約S,点列の履歴 x0,x1, . . . ,xk などの情報を用いて,
xk+1 を計算する.4. k ← k + 1 とする.手順2に戻る.� �最急降下法,ニュートン法,etc.
例:最急降下法 xk+1 = xk − εk∇f(xk)
εk > 0が十分小さい ⇒ f(xk+1) ≤ f(xk) (テイラー展開の式で確認)
32/53
• 凸最適化とその応用
33/53
凸解析
• Sが凸集合:x,x′ ∈ S, a ∈ [0, 1] =⇒ ax+ (1− a)x′ ∈ S
∗ 凸集合 S1, S2 の積集合 S1 ∩ S2 も凸集合
34/53
• f(x) : Rd→ Rが凸関数
∗ x,x′ ∈ Rd, a ∈ [0, 1]
⇒ f(ax+ (1− a)x′) ≤ af(x) + (1− a)f(x′)
f : Rd→ Rを凸関数とする.
• x1, . . . ,xn ∈ Rd, α1, . . . , αn ≥ 0,∑n
k=1αk = 1 に対して
f(α1x1 + · · ·+ αnxn) ≤ α1f(x1) + · · ·+ αnf(xn)
• Jensen不等式:d次元確率変数 x に対して
f(E[x]) ≤ E[f(x)]
35/53
• g : Rd→ R が凸関数 ⇒ {x ∈ Rd | g(x) ≤ 0} は凸集合.
• g1(x), . . . , gL(x)が凸関数なら
{x ∈ Rd | g1(x) ≤ 0, . . . , gL(x) ≤ 0} =L∩
ℓ=1
{x ∈ Rd | gℓ(x) ≤ 0}
は凸集合.
36/53
� �f(x):凸関数,S:凸集合
凸最適化問題 : minx∈Rd
f(x), s. t. x ∈ S (∗)� �
(∗)においてx∗が local opt sol なら opt sol.
Proof. x∗ ∈ Sを local opt sol. x0 ∈ Sを opt. sol. とすると0 ≤ α ≤ 1 で(1− α)x∗ + αx0 ∈ S.x∗は local opt sol なので,十分小さい α > 0で
f(x∗) ≤ f((1− α)x∗ + αx0) ≤ (1− α)f(x∗) + αf(x0).
よって f(x∗) ≤ f(x0).一方 x0 は opt. sol. なので f(x0) ≤ f(x∗).したがって f(x0) = f(x∗) となるので,x∗は opt. sol. ■
37/53
凸関数の性質f : Rd→ Rを凸関数とする.
(a) fは連続.
(b) A ∈ Rd×k,y ∈ Rk に対して g(y) = f(Ay) とするとg(y)はyの凸関数.
(c) 接線に対する優越性:f ∈ C1 のとき,任意のx,y ∈ Rdに対して
f(y) ≥ f(x) +∇f(x)T (y − x)
(d) ヘッセ行列の非負定値性:f ∈ C2のとき,任意のx ∈ Rdに対して
∇2f(x) ⪰ O
Proof. (a)は省略.(b)はすぐ分かる.
38/53
(c):凸の定義から,任意の α ∈ (0, 1)で
f(x+ α(y − x))− f(x) ≤ α(f(y)− f(x))
⇒ f(x+ α(y − x))− f(x)
α≤ f(y)− f(x)
α→ +0 で不等式を得る.
(d):(c)とテイラー展開より,任意の y ∈ Rd に対して
0 ≤ f(x+ α(y − x))− f(x)− α(y − x)T∇f(x)
=α2
2(y − x)T∇2f(x)(y − x) +O(α3)
任意のd = y − xに対して0 ≤ dT∇2f(x)d+O(α)となるので,α→ 0として∇f2(x) ⪰ O. ■
39/53
凸関数の最適性条件f : Rd→ R はf ∈ C1,凸とする.
最適化問題 minx∈Rd f(x) に対して以下は同値:
1. x∗が最適解
2. ∇f(x∗) = 0
Proof. x∗が最適解なら∇f(x∗) = 0はO.K.
∇f(x∗) = 0のとき,優越性より任意のyに対して
f(y) ≥ f(x∗) +∇f(x∗)T (y − x) = f(x∗)
よって x∗ は最適解. ■
40/53
KKT条件f(x), g1(x), . . . , gk(x): 微分可能な凸関数.
minx∈Rd
f(x) s. t. gℓ(x) ≤ 0, ℓ = 1, . . . , k. (⋆)
• 以下の条件(KKT条件)を満たす λ∗1, . . . , λ
∗k ∈ R が存在
=⇒ x∗が(⋆)の最適解.
KKT条件� �
停留条件 : ∇f(x∗) +k∑
ℓ=1
λ∗ℓ∇gℓ(x∗) = 0,
制約式 : gℓ(x∗) ≤ 0, λ∗
ℓ ≥ 0, ℓ = 1, . . . , k,
相補性 : λ∗ℓgℓ(x
∗) = 0, ℓ = 1, . . . , k.� �
41/53
Proof.
L(x) := f(x) +L∑
ℓ=1
λ∗ℓgℓ(x), x ∈ Rd
とすると L(x) は x について凸関数 (λ∗i ≥ 0なので).
∇L(x∗) = 0 と L(x) の凸性 ⇒ x∗ は minx∈Rd L(x)の最適解.
xを(⋆)の feasible sol. とすると,KKT条件から
f(x∗) = L(x∗) ≤ L(x) = f(x) +∑ℓ
λ∗λgℓ(x) ≤ f(x).
最後の不等式:λ∗ℓ ≥ 0, g(x) ≤ 0 より第2項は0以下. ■
42/53
定義:最適化問題 (⋆) のラグランジュ関数 L(x,λ),
L(x,λ) = f(x) +k∑
ℓ=1
λℓgℓ(x).
λ:ラグランジュ乗数� �
KKT条件の停留条件 ⇔ ∇L(x,λ) = 0
� �note: ∇ は変数 x に関する勾配ベクトル
43/53
等式制約への応用等式制約 gℓ(x) = aT
ℓ x+ bℓ = 0, ℓ = 1, . . . , k を考える.
minx∈Rd
f(x) s. t. gℓ(x) = 0, ℓ = 1, . . . , k.
gℓ(x) ≤ 0, −gℓ(x) ≤ 0, ℓ = 1, . . . , k と考える.
KKT条件:
∇f(x∗) +k∑
ℓ=1
(λℓ − λk+ℓ)∇gℓ(x∗) = 0,
gℓ(x∗) = 0, λℓ, λk+ℓ ≥ 0, ℓ = 1, . . . , k,
λℓgℓ(x∗) = −λk+ℓgℓ(x
∗) = 0.
44/53
KKT条件は以下と同値:
∇f(x∗) +k∑
ℓ=1
λℓ∇gℓ(x∗) = 0,
gℓ(x∗) = 0, λℓ ∈ R, ℓ = 1, . . . , k
λℓ = λℓ − λℓ+k と対応させればよい.
45/53
• 等式制約問題のラグランジュ関数:
L(x;λ) := f(x) +L∑
ℓ=1
λℓgℓ(x)
• 最適性条件: ∂
∂xL(x;λ) = 0,
∂
∂λL(x;λ) = 0
• 最適化と鞍点:
minx
f(x) s. t. g(x) = 0 ⇔ minx∈Rd
maxλ∈RL
f(x) + λTg(x)
もし g(x) = 0 なら maxλ∈RL λTg(x) =∞.
46/53
凸性と最適性
• 一般の最適化問題:(local) opt. sol. ⇒ 最適性条件が成立.
∗ 最適性条件:微分がゼロ,ラグランジュ未定乗数の式,etc.
例.x∗がminx∈Rd f(x)の最適解 ⇒ 最適性条件 ∇f(x∗) = 0 が成立.
• 凸最適化問題:最適性条件(KKT条件)が成立 ⇒ opt. sol.
47/53
KKT条件の応用:SVMと予測誤差
• ラベル予測:データ(x1, y1), . . . , , (xn, yn) ∈ Rd × {+1,−1}
• モデル:y = sign(xTw + b)
• 「多くのデータで yi(xTi w + b) > 0」となる w, b を求める.
SVM : minw,b
Cn∑
i=1
max{1− yi(xTi w + b), 0}+ 1
2∥w∥2
⇐⇒ minw,ξ,b
Cn∑
i=1
ξi +1
2∥w∥2
s. t. 0 ≤ ξi, 1− yi(xTi w + b) ≤ ξi, i = 1, . . . , n.
note: max{a, 0} = min{ξ | 0 ≤ ξ, a ≤ ξ}.
48/53
ラグランジュ関数:
L(w, b, ξ;λ, λ)
= CξT1+1
2∥w∥2 − λ
Tξ +
n∑i=1
λi
{1− yi
(xTi w + b
)− ξi
}ここで 1 = (1, . . . , 1)T.
停留条件:
∂L
∂ξ= C1− λ− λ = 0,
∂L
∂w= w −
n∑i=1
λiyixi = 0,
∂L
∂b= −
n∑i=1
λiyi = 0.
49/53
• λ, λ ≥ 0, λ+ λ = C1 より 0 ≤ λ ≤ C1.
• SV = {i : λi > 0}とする.xi, i ∈ SV をサポートベクトルという.以下が成立:
w =∑i∈SV
λiyixi,∑i∈SV
yiλi = 0
• 制約:0 ≤ ξi, 1− yi(xTi w + b
)− ξi ≤ 0, i = 1, . . . , n.
• 相補性:ξi(C − λi) = 0, λi
{1− yi
(xTi w + b
)− ξi
}= 0, i = 1, . . . , n.
50/53
SVの性質� �
• i ∈ SV なら yi(wTxi + b) ≤ 1:
λi > 0⇒ 1− yi(xTi w + b
)= ξi ≥ 0
• yi(wTxi + b) < 1 なら i ∈ SV:
0 < 1− yi(wTxi + b) ≤ ξi⇒ C − λi = 0⇒ λi = C� �
SV以外のデータを(いくつか)除いたデータD′でも解は同じ� �
• 元々のSVMの解:w∗, b∗, ξ∗,λ∗ とする.
• D′に対するSVMの解w′, b′, λ′, ξ′:w′ = w∗, b′ = b∗, λ′
i = λ∗i , ξ′i = ξ∗i , i ∈ SV.
データD′に対する KKT条件を満たす.� �
51/53
• Leave-one-out Cross Validation: 予測誤差の推定量
ErrLCV =1
n
n∑i=1
1[h(−i)(xi) = yi]
note: 1[· · · ] は定義関数.
∗ h(−i): (xi, yi) を除いたデータからSVMで求めた判別器.正則化パラメータ C は共通.
• すべてのデータを使ってSVMで得られる判別器を
h∗(x) = sign(w∗Tx+ b∗) とする.
52/53
• i ∈ SV のとき:SVの性質(の対偶)より
∗ yi(w∗Txi + b∗) ≥ 1 =⇒ h∗(xi) = yi.
∗ h(−i)(x) = h∗(x)
したがって i ∈ SV⇒ 1[h(−i)(xi) = yi] = 1[h∗(xi) = yi] = 0.
• i ∈ SV⇒ 1[h(−i)(xi) = yi] ≤ 1 (自明な不等式).
以上のことから
ErrLCV =1
n
∑i∈SV
1[h(−i)(xi) = yi] ≤|SV|n
.
SV の要素数:統計モデルのパラメータ数に相当.
53/53