学習アルゴリズム特論 - kana-lab.c.titech.ac.jp ·...

53
学習アルゴリズム特論 担当:金森 敬文 (e-mail: [email protected]) http://www.kana-lab.c.titech.ac.jp/ 日本語ページに講義の情報を掲載. 講義の進め方:主に板書で解説する.スライドを使うこともある. 成績評価 * 講義中にレポート課題を出題する.その結果を総合して成績を 評価する.詳細は後日アナウンスする. 1/53

Upload: lamkhanh

Post on 29-Aug-2019

232 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

学習アルゴリズム特論

• 担当:金森 敬文 (e-mail: [email protected])

http://www.kana-lab.c.titech.ac.jp/

日本語ページに講義の情報を掲載.

• 講義の進め方:主に板書で解説する.スライドを使うこともある.

• 成績評価

∗ 講義中にレポート課題を出題する.その結果を総合して成績を評価する.詳細は後日アナウンスする.

1/53

Page 2: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

講義の予定

• 2018-07-18

∗ 統計的データ解析と最適化,線形代数・微積分の復習∗ 最適化の基礎∗ 凸最適化とその応用:SVM

• 2018-07-25

∗ 上界最小化法(MM法):EM法,DCアルゴリズム∗ ブースティングと最適化:座標降下法∗ 高次元統計モデルとスパース学習:ℓ1正則化,近接勾配法• 2018-08-01

∗ 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化∗ 深層学習:Generative Adversarial Network(GAN),

制限ボルツマンマシン

2/53

Page 3: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

• 参考文献:全般

∗ [書籍] 金森,鈴木,竹内,佐藤,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

Page 4: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

• ブースティングと最適化

∗ [書籍] 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

Page 5: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

• 統計的データ解析と最適化

• 線形代数・微積分の復習

5/53

Page 6: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

統計モデルを用いた推定

• データ x を生成している確率分布 p(x) について推論する.

• p(x) を含んでいる(と考えられる)確率分布の集合を設定:

統計モデル : P = {p(x; θ) | θ ∈ Θ ⊂ Rd}

仮定 : p(x) = p(x; θ∗) ∈ P

• 目標:データ x からパラメータ θ∗ を推定→ 予測などに応用

6/53

Page 7: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

最尤推定量

• 最尤推定法:(対数)尤度を最大化.観測データ x ∼ p(x; θ∗) に対して

∗ 尤度 L(θ) = p(x; θ).∗ 対数尤度 ℓ(θ) = log p(x; θ).

maxθ∈Θ

p(x; θ) −→ θ

⇐⇒ minθ∈Θ

− log p(x; θ) −→ θ

∗ 離散確率変数:確率関数を考える.

• 考え方:「データの出現しやすさ」を最大化するパラメータを求める.

7/53

Page 8: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

最尤推定:二項分布

• コイン投げ: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

Page 9: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

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

Page 10: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

最尤推定:正規分布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

Page 11: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

例 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

Page 12: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

条件:θ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

Page 13: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

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

Page 14: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

コンソールから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

Page 15: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

• 学習アルゴリズムと最適化

• 線形代数・微積分

15/53

Page 16: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

学習アルゴリズムと最適化

学習とは? データからパターンを発見し,将来の予測などを行う.

学習アルゴリズム:

• 統計モデルを設定.• 損失関数を定義.• データに対する統計モデルの損失を最小化 −→ 「最適化」が必要.

例:最尤推定では統計モデルの「負の対数尤度」を最小化.

16/53

Page 17: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

最適化問題目的関数 f : Rd→ R,制約 x ∈ S ⊂ Rd

minx∈Rd

f(x) s. t. x ∈ S

• S = Rd:制約なし最適化

• S = Rd:制約あり最適化

17/53

Page 18: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

実行可能解 (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

Page 19: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

線形代数の復習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

Page 20: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

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

Page 21: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

対称行列 A ∈ Rd×d,固有値 λ1, . . . , λd ∈ R.

∥A∥ := maxi=1,...,d

|λi|

note: 一般の(対称でない)行列の場合:∥A∥は最大特異値で定義.

このとき

∥Ax∥ ≤ ∥A∥∥x∥

実際,maxx:∥x∥=1xTATAx = ∥A∥2 から分かる.

21/53

Page 22: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

微積分の復習

• 微分可能な関数 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

Page 23: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

• ヘッセ行列(ヘシアン) ∇2f : Rd→ Rd×d.fの2階微分から定義されるd× d 対称行列

(∇2f(x))ij =∂2f

∂xi∂xj(x)

23/53

Page 24: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

テイラー展開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

Page 25: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

∇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

Page 26: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

• 最適化の基礎

26/53

Page 27: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

最適性条件� �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

Page 28: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

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

Page 29: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

等式制約つき最適化� �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

Page 30: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

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

Page 31: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

例:

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

Page 32: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

最適化の数値解法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

Page 33: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

• 凸最適化とその応用

33/53

Page 34: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

凸解析

• Sが凸集合:x,x′ ∈ S, a ∈ [0, 1] =⇒ ax+ (1− a)x′ ∈ S

∗ 凸集合 S1, S2 の積集合 S1 ∩ S2 も凸集合

34/53

Page 35: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

• 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

Page 36: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

• 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

Page 37: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

� �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

Page 38: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

凸関数の性質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

Page 39: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

(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

Page 40: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

凸関数の最適性条件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

Page 41: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

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

Page 42: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

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

Page 43: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

定義:最適化問題 (⋆) のラグランジュ関数 L(x,λ),

L(x,λ) = f(x) +k∑

ℓ=1

λℓgℓ(x).

λ:ラグランジュ乗数� �

KKT条件の停留条件 ⇔ ∇L(x,λ) = 0

� �note: ∇ は変数 x に関する勾配ベクトル

43/53

Page 44: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

等式制約への応用等式制約 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

Page 45: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

KKT条件は以下と同値:

∇f(x∗) +k∑

ℓ=1

λℓ∇gℓ(x∗) = 0,

gℓ(x∗) = 0, λℓ ∈ R, ℓ = 1, . . . , k

λℓ = λℓ − λℓ+k と対応させればよい.

45/53

Page 46: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

• 等式制約問題のラグランジュ関数:

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

Page 47: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

凸性と最適性

• 一般の最適化問題:(local) opt. sol. ⇒ 最適性条件が成立.

∗ 最適性条件:微分がゼロ,ラグランジュ未定乗数の式,etc.

例.x∗がminx∈Rd f(x)の最適解 ⇒ 最適性条件 ∇f(x∗) = 0 が成立.

• 凸最適化問題:最適性条件(KKT条件)が成立 ⇒ opt. sol.

47/53

Page 48: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

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

Page 49: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

ラグランジュ関数:

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

Page 50: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

• λ, λ ≥ 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

Page 51: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

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

Page 52: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

• 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

Page 53: 学習アルゴリズム特論 - kana-lab.c.titech.ac.jp · 深層学習:誤差逆伝搬法,確率勾配法,ドロップアウト,バッチ正規化 深層学習: Generative

• 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