prml 第4章 - · pdf file1/94 prml第4章 宮澤 彬...
TRANSCRIPT
2/94
はじめに
I 計算過程を別ファイルに分けようと思いましたが面倒なので分けませんでした.そのためスライドがすこしごちゃごちゃしています.すみません.
I このスライドの LuaLATEXのソースコードはhttps://github.com/pecorarista/documentsにあります.
I 自分の好みにより教科書とは違う表記をしている箇所があります.
I 転置を > ではなく ′ で表しています.
I tr(A′B)は内積の公理を満たすので 〈A, B〉と書きます.
I 勾配の代わりに導関数を使っている箇所があります.
I 誤解の恐れがない限りベクトルを太字で書きません.
I 左辺を右辺で定義するとき (左辺) := (右辺)と書きます.
3/94
分類問題を解く
入力 xに対して,離散クラス C1, . . . , Ckのただ 1つを割り当てたい.つまり入力空間をいくつかの決定領域 (decision region)に分離したい.
決定領域の境界は決定境界 (decision boundary),あるいは決定面(decision surface)などと呼ばれる.
しばらくは線形識別モデルを考える.
4/94
線形識別モデルとは
線形識別モデルは決定面が,xの線形関数であり,D次元入力空間に対して,その決定面がD − 1次元の超平面で定義されるもの.
線形決定面で正しく各クラスに分類できるデータの集合は線形分離可能であると言われる.
5/94
目的変数の表し方について
目的変数の表し方はいろいろあるが,2変数の表し方で一般的なのは目的変数を t ∈ {0, 1}として t = 1で C1 を,t = 0で C2 を表す方法である.
K > 2クラスの場合は 1-of-K表記法を使用する.この表記法では
t = (0 · · · 0i`1 0 · · · 0)′ ∈ {0, 1}K
がクラス Ci に対応する.
6/94
分類問題に対する3つのアプローチ
分類問題に対するアプローチは大きく 3つに分けられる.
1. 識別関数 (discriminant function)を構築する方法.
I パーセプトロンや SVMなど
2. 事後確率 p(Ck|x)を直接モデル化する方法(識別モデル).
I ロジスティック回帰モデルなど
3. p(Ck)と p(x|Ck)を生成し,これらから p(Ck|x)を求める方法(生成モデル).
I ナイーブベイズなど
これらの比較は 1.5.4で詳しく扱った 1.
1 Murphy (2012) の 8.6 も詳しい.
7/94
第3章との違い
第 3章の線形回帰モデルでは y : x ∈ RD 7→ w′x+ w0 ∈ Rのような関数を使ってきた.しかし分類問題では離散値であるクラスラベルを出力してほしいので,非線形関数 f を噛ませる.
y(x) = f(w′x+ b) (4.3)
f は活性化関数 (activation function)と呼ばれる.f は非線形であっても,決定面は線形であるから,(4.3)で表現されるモデルのクラスを一般化線形モデル (generalized linear model) と呼ぶ.
8/94
2クラスの線形識別関数
最も簡単な線形識別関数は,入力ベクトル xの線形関数
y(x) = w′x+ w0 (4.4)
で与えられる.wを重みベクトル,w0 をバイアスパラメータと呼ぶ.
このとき決定境界は超平面 π : y(x) = 0となる.
w
π
9/94
y(x)の性質
y(x)/‖w‖は xから平面までの(符号付き)距離を与える.
証明 Hilbert空間の射影定理より,任意の点 xから超平面 πへの最短距離を与える点 x⊥ ∈ πがただ 1つ存在し,(x− x⊥)⊥πを満たす.したがって適当な実数 rを使って
x− x⊥ = rw
‖w‖
と書ける.両辺と wの標準内積をとって,w′x⊥ + w0 = 0を使えば,
w′x− w′x⊥ = r‖w‖
r = y(x)‖w‖
を得る.
10/94
多クラスに拡張すると生じる問題 (1)K = 2の線形識別をK > 2に拡張する.単純に 2クラス識別関数を組み合わせると問題が生じる.
1対他分類器 (one-versus-the-rest classifier)を使う方法.
R1
R2
R3
?
C1
not C1
C2
not C2
11/94
多クラスに拡張すると生じる問題 (2)1対 1分類器 (one-versus-on classifier)(
K2)
= K(K − 1)/2個の 2クラス識別関数を導入する.各点は識別関数の多数決で分類される.
R1
R2
R3
?C1
C2
C1
C3
C2
C3
12/94
曖昧な領域をなくしたい (1)
以下のK 個の線形関数
yk(x) = w′kx+ wk0 (k = 0, . . . , K) (4.9)
を作り,すべての j ( 6= k)で
yk(x) > yj(x)
すなわち
(wk − wj)′x+ (wk0 − wj0) > 0
が成り立つ場合に xは Ck に分類されるとする.
13/94
曖昧な領域をなくしたい (2)
前のページで紹介した基準で「謎の領域」が存在しないことを示す.
任意の点 xをとる.I := arg maxi{yi(x)} (6= ∅)としたとき |I| = 1ならば Ci0 (i0 ∈ I)に一意に分類できる.|I| > 1ならば,任意の異なるi, j ∈ I について yi(x) = yj(x)となっているので xが Ciと Cj の決定境界上にあることが分かる.
Ri
Rj
Rk
xA
xB
x̂
14/94
決定領域の凸性
決定領域は凸集合である.
証明 xA, xB が共に Ck に分類されているとする.これらの凸結合x̂ := λxA + (1 − λ)xB について
(wk − wj)′x̂+ (wk0 − wj0)= λ(wk − wj)′xA + λ(wk0 − wj0)
+ (1 − λ)(wk − wj)′xB + (1 − λ)(wk0 − wj0) > 0
が成り立つので x̂も Ck に分類される.
15/94
決定領域の単連結性 (1)
決定領域Rk (k = 1, . . . , K)は弧状連結(任意の 2点をとったとき,それら結ぶ連続曲線が存在する)であり,更に単連結(ループを連続的に変形して 1点に縮められる)である.
弧状連結であるが単連結ではない
b
`
16/94
決定領域の単連結性 (2)
証明 凸性から弧状連結であることは明らかである.Rk の任意の点 p0 をとり,` : [0, 1] → Rk を p0 を基点としたRk 内の任意のループとする.p0に留まり続けるループを p̃0と表すことにする.このとき
H(t, s) := sp̃0(t) + (1 − s)`(t)
と定めれば,凸性から任意の (t, s)でH(t, s) ∈ Rk である.H は
H(0, s) = H(1, s) = p0,
H(t, 1) = `(t), H(t, 1) = p̃0(t)
を満たしているので ` ' p̃0 であり,したがってRk は単連結である.
17/94
最適なパラメータを求める(最小二乗法)(1)
まずは二乗和誤差を最小化する方法を使ってみる.識別関数は
yk(x) = w′kx+ wk0, k = 1, . . . , K
と表されている.これはベクトルを使って
y(x) = W̃ ′x̃
と書ける.ただし,
W̃ :=
w10 w20 · · · wK0w11 w21 · · · wK1...
... . . . ...w1D w2D · · · wKD
, x̃ :=
x0x1...xD
, x0 := 1
とした.
18/94
二乗和誤差の最小化 (1)
学習データ {(xn, tn)}n=1, ..., N が与えられたとして,
X̃ :=
x′1...x′
N
, T̃ :=
t′1...t′N
と定める.このとき二乗和誤差関数は
ED(W̃ ) := 12 tr((X̃W̃ − T̃ )′(X̃W̃ − T̃ ))
= 12‖X̃W̃ − T̃‖2
である.
19/94
二乗和誤差関数の最小化 (2)
ED(W̃ )を微分する.成分ごとに偏微分してもよいが Fréchet導関数を求めるほうが簡単である.
〈X̃(W̃ +H) − T̃ , X̃(W̃ +H) − T̃ 〉 − 〈X̃W̃ − T̃ , X̃W̃ − T̃ 〉
= 2〈X̃W̃ − T̃ , X̃H̃〉 + ‖X̃H‖2
= 2〈X̃ ′(X̃W̃ − T̃ ),H〉 + ‖X̃H‖2
よりDED(W̃ )(H) = 〈X̃ ′(X̃W̃ − T̃ ),H〉である.したがって最小値を与える W̃ は
X̃ ′(X̃W̃ − T̃ ) = O
の解である.これを解いて
W̃ = (X ′X)−1X̃ ′T = X̃†T
を得る.
20/94
最小二乗解の実用性
以下のような問題がある.
1. 外れ値に敏感である(頑健でない)決定境界から遠く離れた「正しすぎる」予測にペナルティを与えてしまう.→ 7.1.2節で別の誤差関数を紹介
2. 2値目的変数と,最小二乗法が仮定するガウス分布との相性の悪さ最小二乗法は条件付き確率分布にガウス分布を仮定した場合の最尤法であり,一方 2値目的変数ベクトルは明らかにガウス分布からかけ離れているので,最小二乗法が使えないのは当たり前のことである.→適切な確率モデルを採用すれば,最小二乗法よりもよい特性を持つ分類法が得られる.
21/94
フィッシャーの線形判別 (1)
線形識別モデルは,D次元の入力ベクトルを 1次元空間に写すので情報の損失が発生する.
損失が起こるのは仕方ないが,D次元空間では分離されていたクラスが1次元空間で重なり合ってしまうことは極力避けたい.
そこでクラスの平均を結ぶ直線の正射影の長さが最大になるような wをとる.
22/94
フィッシャーの線形判別 (2)
‖w‖ = 1, mk := (1/Nk)∑
n∈Ckxn とすると,正射影の長さ `は
` =∣∣‖m2 −m1‖ cos θ
∣∣= |w′(m2 −m1)|
である.Cauchy-Schwarzの不等式より `は w//(m2 −m1)のとき最大になる.
m1
m2
w
θ
23/94
フィッシャーの判別基準 (1)
クラスの平均が離れたところに射影されても,クラス全体が重なり合うように射影されてしまっては意味がない.
−2 2 6
−2
0
2
4
−2 2 6
−2
0
2
4
右の図のようになってほしい.
24/94
フィッシャーの判別基準 (2)
同一クラス内にあるデータは射影された後もまとまっていてほしいので
s2k :=
∑n∈Ck
(w′xn − w′mk)2 (4.24)
を小さく抑えなければならない.
以上の考察をまとめると
J(w) := (w′m2 − w′m1)2
s21 + s2
2(4.25)
を最大化すればよいことが分かる.J(w)はフィッシャーの判別基準と呼ばれる.
25/94
フィッシャーの判別基準の最大化 (1)
クラス間共分散行列 (between-class covariance matrix) 2
SB = (m2 −m1)(m2 −m1)′ (4.27)
と総クラス内共分散行列 (within-class covariance matrix)
SW =∑
n∈C1
(xn −m1)(xn −m1)′ +∑
n∈C2
(xn −m2)(xn −m2)′ (4.28)
を使って J(w)を書き直すと
J(w) = w′SBw
w′SWw(4.26)
となる 3.
2 フィッシャー判別基準に関してぐぐってみたところどちらかというと “covariance” ではなく “scatter” と呼ばれているほうが多い印象を受けた.
3 レイリー商 (Rayleigh quotient) の形だ.
26/94
フィッシャーの判別基準の最大化 (2)
J を微分すると
DJ(w) = (2w′SB(w′SWw) − 2w′SBw(w′SW))/
(w′SWw)2
であるから,DJ(w) = Oとして
(w′SWw)SBw = (w′SBw)SWw (4.29)
を解く.向きさえ分かればよいので w′SBw = 1, w′SWw = 1となるように wを置き換えていくと
S−1W SBw = w
となる.SBw = (m2 −m1)((m2 −m1)′w)//(m2 −m1)より
w//S−1W (m2 −m1) (4.30)
を得る.(4.30)はフィッシャーの線形判別 (Fisherʼs lineardiscriminant)と呼ばれる.
27/94
最小二乗との関連 (1)
この節では,前節で見たフィッシャーの判別基準が最小二乗の特殊な場合になっていることを示す.
この節では目的変数 tは 1-of-Kはなく,t = N/N1 で C1 を,t = −N/N2 で C2 を表すことにする.
E = 12
N∑n=1
(w′xn + w0 − tn)2
w0 と wについて微分して,その導関数を 0とするとN∑
n=1(w′xn + w0 − tn) = 0 (4.32)
N∑n=1
(w′xn + w0 − tn)xn = 0 (4.33)
が得られる.
28/94
最小二乗との関連 (2)
(4.32)からバイアスが
N∑n=1
w′xn +N∑
n=1w0 −
N∑n=1
tn = 0
w′
(N∑
n=1xn
)+Nw0 −N1
N
N1−N2
N
N2= 0
w0 = −w′m (4.34)
を満たすことが分かる.ただし
m := 1N
N∑n=1
xn = 1N
(N1m1 +N2m2) (4.36)
とした.
29/94
最小二乗との関連 (3)
(4.33)を変形すると(演習 4.6)(SW + N1N2
NSB
)= N(m1 −m2) (4.37)
となる.SBw = (m2 −m1)((m2 −m1)′w)//(m2 −m1)より
w//S−1W (m2 −m1) (4.38)
である.
このように最小二乗から出発してフィッシャーの線形判別を導出することができた.
30/94
多クラスにおけるフィッシャーの判別 (1)
フィッシャーの線形判別をK > 2の場合に一般化する.入力空間の次元をD > K とし,D′ 次元の特徴量のベクトル y = W ′xに変換する.クラス内共分散行列は
SW :=K∑
k=1Sk (4.40)
とする.ここで
Sk :=∑
n∈Ck
(xn −mk)(xn −mk)′, (4.41)
mk := 1Nk
∑n∈Ck
xk (4.42)
である.
31/94
多クラスにおけるフィッシャーの判別 (2)
クラス間共分散行列 SB は
ST :=K∑
k=1Nk(mk −m)(mk −m)′ (4.46)
とする.ここで
m := 1N
N∑n=1
xn = 1N
K∑k=1
Nkmk (4.44)
である.
32/94
多クラスにおけるフィッシャーの判別 (2)
SW と SB をD′ 次元の特徴空間に射影して
sW =K∑
k=1
∑n∈Ck
(yn − µk)(yn − µk)′ (4.47)
sB =∑k=1
Nk(µk − µ)(µk − µ)′
とする.ここで
µk = 1Nk
∑n∈Ck
yn, µ = 1N
∑k=1
Nkµk (4.49)
である.
33/94
多クラスにおけるフィッシャーの判別 (3)
2クラスのときと同様,クラス間共分散行列が大きく,クラス内共分散が小さいときに大きくなるスカラーを構成する.そのようなスカラーの1つの例は
J(W ) = tr(s−1W sB) (4.50)
= tr((WSWW′)−1(WSBW
′)) (4.51)
である.
(4.51)の最大化については Fukunaga(1990)に書かれているらしい 4.結論として,最適なW は,一般化された固有方程式
SBv = λSWv
を解いて得られる固有ベクトルにより決定される.
4 見てない.
34/94
フィッシャーの線形判別の制限
フィッシャー線形判別の制限について説明するため SB の次元を求めておく.
ベクトルmk −mの第 i成分を cki と書く.このとき SB の第 i列はK∑
k=1Nkcki(mk −m)
となるので列空間 C(SB)はm1 −m, . . . ,mK −mで張られる.よってrankSB = dimC(SB) ≤ K である.更にmはNkmk (k = 1, . . . ,K)の重心であるから
N1(m1 −m) + · · · +NK(mK −m) = 0
となり,rankSB = dimC(SB) ≤ K − 1が分かる.したがって,S−1W SB
の固有空間は高々K − 1次元であり,W で特徴をたくさん作ったところでK − 1個の特徴しか活用できないことになる.
35/94
パーセプトロン
線形識別モデルのもう 1つの例としてパーセプトロンが挙げられる.
2クラスのモデルで入力ベクトル xを特徴ベクトルに変換する非線形関数 φを用いて
y(x) = f(w′φ(x)) (4.52)
という形の一般化線形モデルを用いる.ここで f は符号関数
f(a) :={
+1 if a ≥ 0,−1 if a < 0
(4.53)
である.
パーセプトロンを使う場合は目的変数を t ∈ {0, 1}をとし,t = +1をC1 に,t = −1を C2 に対応させる.
36/94
パーセプトロン基準 (1)
誤差関数を,誤識別したパターンの総数として最小化することで求められそうである.しかし,これでは誤差関数が wの区分的な定数関数になってしまい簡単なアルゴリズムが構築できない.そこでパーセプトロン基準 (perceptron criterion)という誤差関数を考える.
パラメータ wを
I xn がクラス C1 に分類されるならば w′φ(xn) > 0I xn がクラス C2 に分類されるならば w′φ(xn) < 0
となるようにとる.そのような wはすべての nで tnw′φ(xn) > 0を満
たす.wを求めるため,正しく分類されたパターンに対しては何もせず,誤分類されたパターンに対しては −tnw′φ(xn)を最小化することにする.
37/94
パーセプトロン基準 (2)
パーセプトロン基準は
EP(w) = −∑
n∈Mtnw
′φn (4.54)
で与えられる.ここで φn = φ(xn)であり,Mは誤識別された(misclassified)パターン全体の集合である.最適なパラメータの候補w(τ) を以下の式を使って更新していく.
w(τ+1) := w(τ) − η∇EP(w)= w(τ) + ηtnφn (4.55)
wを定数倍しても (4.52)は変化しないので,η = 1としてよい.
38/94
パーセプトロンの収束定理
(4.55)の両辺と −tnφn との標準内積をとると
−tnw(τ+1)′φn = −tnw(τ)′φn − ‖tnφn‖2 < −tnw(τ)′φn (4.56)
となるので更新により誤差が減少することが分かる.
パーセプトロンの収束定理から,学習データ集合が線形分離可能ならばパーセプトロンの学習アルゴリズムは有限回の繰り返しで厳密解(正しく分離できる w)に収束することが分かる 5.
5 証明は簡単だが省略する.たとえば海野ら (2015) を参照.
39/94
パーセプトロンの問題点
1. パーセプトロン学習アルゴリズムが収束するのに必要な繰り返し回数が多い.→分離できない問題なのか,単に収束が遅いのかの区別がわかりにくい.
2. 線形分離可能な場合でも,パラメータの初期値やデータの提示順に依存して様々な解に収束してしまう.
3. 線形分離不可能な場合に収束しない.
4. 確率的な出力を提供しない.
5. K > 2クラスの場合への一般化が容易でない.
40/94
確率的生成モデル(2クラス)
尤度 p(x|Ck)と事前確率 p(Ck)を使って事後確率 p(Ck|x)を生成するモデルを考える.
クラス C1 に対する事後確率は
p(C1|x) = p(x|C1)p(C1)p(x|C1)p(C1) + p(x|C2)p(C2)
である.ロジスティックシグモイド関数 σ(x) := 1/(1 + exp(−x))を使って書き直しておくと便利なので書き直してみると
p(C1|x) = σ(a) (4.57)
となる.ただし
a := log p(x|C1)p(C1)p(x|C2)p(C2) (4.58)
とした.
41/94
確率的生成モデル(多クラス)
K クラスの場合,事後確率 p(Ck|x)は
p(Ck|x) = p(x|Ck)p(Ck)∑j p(x|Cj)p(Cj)
= exp(ak)∑j exp(aj) (4.62)
で与えられる.ただし
ak := log(p(x|Ck)p(Ck)) (4.63)
とした.(4.62)は正規化指数関数 (normalized exponential function)またはソフトマックス関数 (softmax function)と呼ばれる.
42/94
ソフトマックス関数の性質正規化指数関数はロジスティックシグモイド関数の多変数への一般化と考えられる.
またこの関数の重要な性質として,任意の j 6= kに対して ak � aj となるような j について p(Ck|x) ' 1かつ p(Cj |x) ' 0となることがある.したがってこの関数を滑らかな最大値関数と捉えられ,そのことがソフトマックス関数と呼ばれる所以になっている.
ロジスティックシグモイド関数
−5 5
0.5y = 1
1 + exp(−x)
y = 1
O
x
y
43/94
連続値入力(2クラス)(1)
仮定1. クラスの条件付き確率密度がガウス分布である.2. すべてのクラスが同じ共分散行列を共有する.
このとき尤度 p(x|Ck)は
p(x|Ck) = 1(2π)D/2
1|Σ|1/2 exp
(−1
2(x− µk)′Σ−1(x− µk))
(4.64)
で与えられる.
44/94
連続値入力(2クラス)(2)
クラス C1 の事後確率は
p(C1|x)
= σ
(log
exp(−(1/2)(x− µ1)′Σ−1(x− µ1)
)p(C1)
exp (−(1/2)(x− µ2)′Σ−1(x− µ2)) p(C2)
)
= σ
(12(x− µ2)′Σ−1(x− µ2) − 1
2(x− µ1)′Σ−1(x− µ1) + log C1
C2
)= σ(w′x+ w0) (4.65)
となる.ここで
w := Σ−1(µ1 − µ2) (4.66)
w0 := 12µ
′2Σ
−1µ2 − 12µ
′1Σ
−1µ1 + log C1
C2(4.67)
とした.
45/94
連続値入力(多クラス)
K クラスの場合を考える.このとき事後確率 p(Ck|x)は,
ak(x) := w′kx+ wk0, (4.68)
wk := Σ−1µk, (4.69)
wk0 := 12µ
′kΣ
−1µk + log p(Ck) (4.70)
として
p(Ck|x) = exp(ak)∑j exp(aj)
で与えられる.
46/94
連続値入力のベイズ判別における決定境界
決定境界を P (Ci|x) ≥ P (Cj |x)で定めると,(4.65)から入力 xの線形関数になっていることが分かる.
共分散行列が共通であるという仮定を外すと,決定境界は xの 2次関数となる.
47/94
最尤解(2クラス)(1)
尤度 p(x|Ck)と事前確率 p(Ck)をパラメトリックな関数形で表現しておき,パラメータの最尤量を求めることを考える.
前節と同じく,各クラスの条件付き確率密度はガウス分布で,共分散行列は共通であると仮定する.またデータ {(xn, tn)}n=1, ..., N が与えられているとする.t = 1で C1 を,t = 0で C2 を表すことにする.
事前確率を p(C1) = α, p(C2) = 1 − αとする.このとき,
p(xn, C1) = p(xn|C1)p(C1) = αN (xn|µ1, Σ),p(xn, C2) = p(xn|C2)p(C2) = (1 − α)N (xn|µ2, Σ)
である.
48/94
最尤解(2クラス)(2)
尤度は以下のように計算できる.
p(t,X|α, µ1, µ2, Σ)
=N∏
n=1(αN (xn|µ1, Σ))tn((1 − α)N (xn|µ2, Σ))1−tn (4.71)
対数尤度を `(α, µ,Σ)とすると
∂`(α, µ,Σ)∂α
= N1
α− N −N1
1 − α
となるので ∂`/∂α = 0として
α = N1
N= N1
N1 +N2(4.73)
を得る.
49/94
最尤解(2クラス)(3)
次に µ1 の最尤量を求める.`の µ1 に関係する項を取り出すと
N∑n=1
tn log N (xn|µ1, Σ)
= −12
N∑n=1
tn(xn − µ1)′Σ−1(xn − µ1) + const. (4.74)
となっているので
Dµ1`(µ1) =N∑
n=1tn(xn − µ1)′Σ−1
である.
50/94
最尤解(2クラス)(4)
Dµ1`(µ1) = 0を解いて
µ1 = 1N1
N∑n=1
tnxn (4.75)
を得る.同様にして
µ2 = 1N2
N∑n=1
(1 − tn)xn (4.76)
も得られる.
51/94
最尤解(2クラス)(5)
最後に Σ の最尤量を求める.`の Σ に関係する項を取り出すと
− 12
N∑n=1
tn log |Σ| − 12
N∑n=1
tn(xn − µ1)′Σ−1(xn − µ1)
− 12
N∑n=1
(1 − tn) log |Σ| − 12
N∑n=1
(1 − tn)(xn − µ2)′Σ−1(xn − µ2)
= −N
2 log |Σ|
− 12
⟨∑n∈C1
(xn − µ1)(xn − µ1)′ +∑
n∈C2
(xn − µ2)(xn − µ2)′, Σ−1
⟩
である.
52/94
最尤解(2クラス)(6)
B := Σ−1 で微分して 6
DB`(B)(H)
= N
2 〈B−1′,H〉
− 12
⟨∑n∈C1
(xn − µ1)(xn − µ1)′ +∑
n∈C2
(xn − µ2)(xn − µ2)′,H
⟩
となるから,Σ の最尤量は
Σ = 1N
(∑n∈C1
(xn − µ1)(xn − µ1)′ +∑
n∈C2
(xn − µ2)(xn − µ2)′
)
である.
6 f(X) = log |X| の微分についてはスライドの最後の補足を参照.
53/94
離散特徴
入力が x ∈ {0, 1}D で与えられる場合を考える.一般的な分布は 2D − 1個の独立な変数を含んでいるため扱いにくい.そこで各特徴値 xi は互いに独立であり,その分布はクラスに依存したパラメータ µki によって定まるベルヌーイ分布に従うと仮定する.すなわち
p(x|Ck) =D∏
i=1µxi
ki(1 − µki)1−xi (4.81)
とする.このとき (4.63)に代入して
ak(x) = log(p(x|Ck)p(Ck))
=D∑
i=1(xi logµki + (1 − xi) log(1 − µki)) + log p(Ck) (4.82)
となる.これは入力 xi の線形関数になので,決定境界が超平面になっていることが分かる.
54/94
指数型分布族 (1)
今まで入力がガウス分布の場合,離散値の場合の事後確率を求めてきた.どちらもK = 2ならばロジスティックシグモイド,K ≥ 2ならばソフトマックスを活性化関数とする,一般化線形モデルで与えられることが分かった.この結果を尤度 p(x|Ck)が指数型分布族の場合に一般化する.
p(x|λk) = h(x)g(λk) exp (λ′ku(x)) (4.83)
特に u(x) = xであるような分布で x 7→ x/sと変数変換を行うと
p(x|λk) = 1sh(xs
)g(λk) exp
(1sλ′
kx
)(4.84)
となる.
55/94
指数型分布族 (2)
2クラスのとき,(4.58)の aは
a(x) = log p(x|C1)p(C1)p(x|C2)p(C2)
= log(g(λ1) exp((1/s)λ′
1x)p(C1)g(λ2) exp((1/s)λ′
2x)p(C2)
)= (λ1 − λ2)′x
+ log g(λ1) − log g(λ2) + log p(C1) − log p(C2) (4.85)
となる.よって p(C1|x) ≥ p(C2|x)となる境界は xの線形関数になっていることがわかった.
56/94
指数型分布族 (3)
K クラスのときは,
p(Ck|x) = p(x|Ck)p(Ck)∑j p(x|Cj)p(Cj)
= h(x)g(λk) exp(λ′kx)p(Ck)∑
j h(x)g(λj) exp(λ′jx)p(Cj)
= exp (λ′kx+ log g(λk) + log p(Ck))∑
j exp (λ′kx+ log g(λk) + log p(Ck))
となる.よって p(Ci|x) ≥ p(Cj |x)となる境界は xの線形関数になっていることがわかった.
57/94
確率的識別モデル
以下では,一般化線形モデルの関数形式を陽に仮定し,最尤法を利用してパラメータを決定する方法を扱う.このときに用いられるアルゴリズムとして反復再重み付け最小二乗 (iterative reweighted leastsquares, IRLS)がある.
58/94
固定基底関数 (1)
I 入力空間が線形分離不可能であっても,非線形変換 φをうまくとれれば,特徴空間上で線形分離が可能になる.
I 一般に φ0(x) = 1として,w0 をバイアスとする.
I 非線形変換を行なってもクラス間の重なりは取り除くことができない.
I 固定基底関数の限界については 3.6節を参照.
59/94
固定基底関数 (2)
x1
x2
−1 0 1
−1
0
1
φ1
φ2
0 0.5 1
0
0.5
1
60/94
ロジスティック回帰
識別モデルの例としてロジスティック回帰 (logistic regression)と呼ばれるモデルを扱う.名前に「回帰」とあるが,これは回帰よりむしろ分類のためのモデルである.
2クラスの場合を考える.事後確率 p(Ck|φ)がロジスティックシグモイド関数で書けたことを思い出して
p(C1|φ) = σ(w′φ) (4.87)
とする.このとき,p(C2|φ) = 1 − p(C1|φ)である.
特徴空間の次元をM とすると,最尤法を使う場合,パラメータ数がO(M2)であるのに対し,ロジスティック回帰ならばM で済む.
61/94
ロジスティック回帰のパラメータ決定 (1)
tn ∈ {0, 1}, φn := φ(xn), yn := p(C1|φn) = σ(w′φn)とする.データ集合 {(φn, tn)}n=1,...,N が与えられたとき尤度は
p(t|w) =N∏
n=1p(C1|φn)tnp(C2|φn)1−tn
=N∏
n=1ytn
n (1 − yn)1−tn (4.89)
となる.誤差関数としては交差エントロピー誤差関数 (cross-entropyerror function)
E(w) := − log p(t|w)
= −N∑
n=1(tn log yn + (1 − tn) log(1 − yn)) (4.90)
を用いる.
62/94
ロジスティック回帰のパラメータ決定
交差エントロピー誤差関数の勾配を求めるにあたり,ロジスティックシグモイドの導関数を求めておく.
dσ(a)da
= d
da
11 + exp(−a) = − − exp(−a)
(1 + exp(−a))2
= σ(a)(1 − σ(a)) (4.88)
これを使えば
∇E(w) = −N∑
n=1
(tn
1ynyn(1 − yn)φn + (1 − tn) 1
1 − yn(−yn)φn
)
=N∑
n=1(yn − tn)φn (4.91)
が得られる.∇E(w) = 0の解をニュートン法で求めることを考える.
63/94
反復再重み付け最小二乗(二乗和誤差)
先に第 3章で使った二乗和誤差関数
E(w) = 12‖t− Φw‖2
にニュートン法をする方法について紹介する.導関数を求めるとDE(w) = (t− Φw)′(−Φ) = (Φw − t)′Φであるから,
∇E(w) = Φ′Φw − Φ′t, (4.93)H = D∇E(w) = Φ′Φ (4.94)
となる.ゆえに wの更新は以下で与えられる.
w(new) = w(old) − (Φ′Φ)−1(Φ′Φw(old) − Φt)= (Φ′Φ)−1Φ′t (4.95)
よって二乗和誤差関数に関しては 1度の更新で正確な解が求められることが分かる.
64/94
反復再重み付け最小二乗(交差エントロピー誤差)(1)
ロジスティック回帰の交差エントロピー誤差関数にニュートン法を適用することを考える.
∇E(w) =N∑
n=1(yn − tn)φn = Φ′(y − t) (4.96)
これの導関数を求める.D∇E(w) = Φ′DyなのでDy(w)を求めなくてはならない.成分ごとに偏微分すると
∂yi
∂wj= δijyi(1 − yi)φi(xj)
である.よって R := (rij) = δijyi(1 − yi) (i = 1, . . . , N, j = 1, . . . , N)とすれば,
H = D∇E(w) = Φ′RΦ (4.97)
となる.
65/94
反復再重み付け最小二乗(交差エントロピー誤差)(2)
H は正定値である.vを非零のベクトルとし,u := Φv = (u1 · · · uN )′
とする.0 < yn < 1であるから
v′Hv = v′Φ′RΦv
= u′Ru
=∑i,j
δijyi(1 − yi)uiuj
=∑i,j
yi(1 − yi)u2i > 0
である 7.ゆえに E は唯一の最小解を持つ.
7 Φ 6= O を仮定した.
66/94
反復再重み付け最小二乗(交差エントロピー誤差)(3)
よって wの更新は以下のようになる.
w(new) = w(old) − (Φ′RΦ)−1Φ′(y − t)= (Φ′RΦ)−1((Φ′RΦ)w(old) − Φ′(y − t))= (Φ′RΦ)−1Φ′Rz (4.99)
ここで
z := Φw(old) −R−1(y − t) (1)
とした.注意しなければならないのは Rが wに依存していることである.ゆえに更新の度にRを計算し直さなければならない.このために反復重み付き最小二乗法と呼ばれているのである.
67/94
多クラスロジスティック回帰 (1)
多クラスの場合,事後確率 p(Ck|φ)は
p(Ck|φ) = yk(φ) = exp(ak)∑j exp(aj) (4.104)
と計算できた.これに最尤法を用いてパラメータ wを求める.∂yk/∂aj
が必要になるので,これを計算しておく.
∂yk
∂aj=δkj exp(ak)(
∑i exp(ai)) − exp(ak) exp(aj)(∑
i exp(ai))2
= exp(ak)(∑
i exp(ai))
(δkj − exp(aj)∑
i exp(ai)
)= yk(δkj − yj) (4.105)
68/94
多クラスロジスティック回帰 (2)
次に尤度を求める.1-of-K表記を使って
tnk = if tn == (0 · · · 0k`1 0 · · · 0) then 1 else 0
と表す.行列 T を (n, k)成分が tnk で与えられる行列とすると
p(T |w1, . . . , wK) =N∏
n=1
K∏k=1
p(Ck|φn)tnk =N∏
n=1
K∏k=1
ytnk
nk (4.107)
となる 8.ここで ynk = yk(φn)とした.負の対数をとると
E(w1, . . . , wK) = − log p(T |w1, . . . , wK) = −N∑
n=1
K∑k=1
tnk log ynk
(4.108)
となる.
8 これは Categorical distribution という Bernoulli 分布の自然な拡張になっている.
69/94
プロビット回帰 (1)
クラスの条件付き確率密度が指数型分布族のときを見てきたが,混合ガウス分布のときは今までのように計算できない.そこで別なタイプの識別確率モデルを考える.以下では 2クラスの場合のみを扱う.
雑音閾値モデル (noisy threshold model)を考える.入力 φn に対して an := w′φn を評価し,以下の式にしたがって目的変数を設定する.
tn ={
1 if an ≥ θ,
0 otherwise(4.112)
ここで θは確率的な項で,確率密度関数 gにしたがっているとする 9.このとき識別確率が
p(t = 1|a) =∫ a
−∞g(u)du (4.113)
で与えられるものとする.
9 個人的には,閾値が確率的に変動すると捉えるよりも,閾値に,入力に含まれる確率的誤差を含めたものが θ と捉えるほうが分かりやすいと思った.
70/94
プロビット回帰 (2)
特に gが標準ガウス分布にしたがう,すなわち識別確率が
Φ(a) :=∫ a
−∞
1√2π
exp(
−u2
2
)du (4.114)
で与えられるとき,このモデルはプロビット回帰 (probit regression)と呼ばれる 10.
最尤法でプロビット回帰のパラメータを決定できるらしいが省略する.
10標準正規分布の累積分布関数 Φ の逆関数をプロビット関数と呼ぶ.
71/94
プロビット回帰 (3)
標準正規分布の累積分布関数のグラフ
−3 3
0.5
y = Φ(a)
y = 1
O
a
y
72/94
正準連結関数 (1)
今まで何度か
∇E(w) =N∑
n=1(yn − tn)φn
という式が出てきた.目的変数 tの分布が指数型分布族のときに,上の式を一般化した結果が得られることを示す.
p(t|η, s) = 1sh
(t
s
)g(η) exp
(ηt
s
)(4.118)
(2.226)の導出と同様にして
y ≡ E(t|η) = − d
dηlog g(η) (4.119)
が得られる.(4.119)が ηについて解くことができて,η = ψ(y)と表せると仮定する.
73/94
正準連結関数 (2)
f を非線形関数として y = f(w′φ)というモデルを考える.f−1 は連結関数 (link function)と呼ばれる.
対数尤度は
log p(t|η, s) =N∑
n=1log p(tn|η, s)
=N∑
n=1
(log g(ηn) + ηntn
s
)+ const. (4.121)
である.
74/94
正準連結関数 (3)
対数尤度の勾配は
∇w log p(t|η, s) =N∑
n=1
(d
dη n
log g(ηn) + tns
)dηn
dyn
dyn
dan∇an
=N∑
n=1
1s
(tn − yn)ψ′(yn)f ′(an)φn (4.122)
と計算できる.
連結関数 f−1 = ψとなるような連結関数をとっておけば,
∇E(w) = 1s
N∑n=1
(yn − tn)φn (4.124)
となる.ガウス分布のときは s = β−1,ロジスティックモデルのときはs = 1である.
75/94
1次元のラプラス近似 (1)
4.5節でロジスティック回帰のベイズ的な取り扱いをするために必要となるラプラス近似という手法について説明する.
ラプラス近似の目的は,分布 p(z)が与えられたとき,そのモード z0 を中心とするガウス分布で p(z)を近似することである.まず 1変数の場合を考える.分布 p(z)を仮定する.
p(z) := 1Zf(z)
ここで Z :=∫f(z)dzは正規化のための定数である.
76/94
1次元のラプラス近似 (2)
z0 を中心として log f(z)を Taylor展開し,2次の項までをとると
log f(z) ' log f(z0) − 12A(z − z0)2 (4.127)
となる.
A = − d2
dz2 log f(z)∣∣∣∣z=z0
(z − z0)2 (4.128)
とした.f が z0で極大となるので Taylor展開の 1次の項が現れていないことに注意する.指数をとると
f(z) ' f(z0) exp(
−A
2 (z − z0)2)
(4.129)
である.
77/94
1次元のラプラス近似 (3)正規化して pを近似する分布
q(z) :=(A
2π
)1/2exp
(−A
2 (z − z0)2)
(4.130)
が得られる.
ラプラス近似
−2 −1 0 1 2 3 40
0.2
0.4
0.6
0.8
78/94
多次元のラプラス近似 (1)
M 次元空間上の分布 p(z) = f(z)/Z を近似する.1次元の場合と同様に
log f(z) ' log f(z0) − 12(z − z0)′A(z − z0) (4.131)
とできる.Aは log f(z)の z0 におけるヘッセ行列を −1倍したものである.両辺の指数をとると
f(z) ' f(z0) exp(
−12(z − z0)′A(z − z0)
)(4.133)
となる.正規化して
q(z) = |A|1/2
(2π)M/2 exp(
−12(z − z0)′A(z − z0)
)= N (z|z0, A
−1) (4.134)
を得る.
79/94
モデルの比較とBIC
分布 p(z)を近似したときと同様にして,正規化係数 Z は
Z =∫f(z)dz
' f(z0)∫
exp(
−12(z − z0)′A(z − z0)
)dz
= f(z0) (2π)M/2
|A|1/2 (4.135)
と近似できる.ただし A := −D2z(log f)(z0)である.
80/94
モデルの比較とBIC
モデルエビデンスは
p(D) =∫p(D|θ)p(θ)dθ (4.136)
で与えられる 11.f(θ) = p(D|θ)p(θ), Z = p(D)として,(4.135)を適用すると
p(D) ' f(θMAP) (2π)M/2
|A|1/2 (ME)
となる.ただし
A := −D2θ(log f)(θMAP) = −D2
θ(p(D|θ)p(θ))(θMAP)
である.
11M の条件付けを省略した.
81/94
モデルの比較とBIC
(ME)の両辺の対数をとって
log p(D) ' log p(D|θMAP)
+
オッカム係数 (Occam factor) と呼ばれる.︷ ︸︸ ︷log p(θMAP) + M
2 log(2π) − 12 log |A| (4.137)
を得る.
もしも事前確率 p(θ)がガウス分布で,ヘッセ行列が非退化 12 ならば,
log p(D) ' log p(D|θMAP) − 12M logN (4.139)
と近似できる.(4.139)はベイズ情報量基準 (Bayesian InformationCriterion, BIC),あるいはシュワルツ基準 (Schwarz criterion)と呼ばれる.(1.73)の AICと比較して,BICはモデルの複雑さに,より重いペナルティーを科している.
12この仮定が満たされていないことが多い.
82/94
ベイズロジスティック回帰のラプラス近似
ロジスティック回帰モデルをベイズ的に扱いたい.しかしそれを厳密に行うのは困難である.そこでラプラス近似を使って計算を行う方法を考える.事後分布をガウス分布で表現することがこの節での目標である.
事後分布がガウス分布ならば,事前分布もガウス分布とするのが自然である.そこで事前分布を
p(w) = N (w|m0, S0) (4.140)
とする.(4.89)と (4.140)を用いると事後確率の対数は
log p(w|t) = log p(w)p(t|w) + const.
= − 12(w −m0)′S0(w −m0)
−N∑
n=1(tn log yn + (1 − tn) log(1 − yn)) + const. (4.142)
と計算できる.
83/94
ラプラス近似
事後確率を最大化して最大事後確率解 wMAP を求める.共分散行列は
S−1N = −D2
w log p(w|t)(wMAP)= S−1
0 + Φ′RΦ (4.143)
で与えられる.よって事後確率分布のガウス分布による近似
q(w) = N (w|wMAP, SN ) (4.144)
を得る.
84/94
予測分布 (1)
前節で事後確率 p(w|t)のガウス分布表現が得られた.最後に行うのは,新しく特徴ベクトル φ(x)が与えられたときに,予測分布 p(C1|φ, t)とp(C2|φ, t)を求めることである.
前節の結果 p(w|t) = q(w)を用いると,C1 に対する予測分布は
p(C1|φ, t) =∫p(C1|φ,w)p(w|t)dw
'∫σ(w′φ)q(w)dw (4.145)
と書ける.このとき C2 に対する予測分布は p(C2|φ, t) = 1 − p(C1|φ, t)で与えられる.
85/94
予測分布 (2)
φ̂ := φ/‖φ‖として V とN をそれぞれ
V := {v ∈ RN ; v′φ = 0}, N := {aφ̂; a ∈ R}
と定義する.このとき任意の wは v ∈ V と aφ̂ ∈ N を用いてw = v + aφ̂と一意に表すことができる(ベクトル空間の直交分解).
よって
p(C1|t) '∫∫
σ(a)(p(v|a)p(a))dvda
=∫σ(a)p(a)
(∫p(v|a)dv
)da
=∫σ(a)N (a|µa, σ
a2 )da (4.151)
と計算できる.
86/94
予測分布 (3)
µa, σ2a はそれぞれ
µa := E(w′φ) = E(w)′φ = w′MAPφ,
σa := var(w′φ) = φ′ var(w)φ = φ′SNφ
である.
87/94
予測分布 (4)
(4.151)のままでは計算が進められないので σ(a)を標準正規分布の累積分布関数 Φ(a)を用いて近似する.y = σ(a)と y = Φ(λa)の原点における傾きが一致するような λを求める.
u(a) := λaとすると
dΦ(u(a))da
∣∣∣∣a=0
= du
da
d
du
∫ u
−∞
e−θ2/2√
2πdθ
∣∣∣∣∣a=0
= λe−u2/2√
2π
∣∣∣∣∣a=0
= λ√2π
であり,一方
dσ
da
∣∣∣∣a=0
= σ(0)(1 − σ(0)) = 14
であるから,λ =√π/8がわかる.
88/94
Φによる σの近似
赤い実線が標準正規分布の累積分布関数で,青い破線がロジスティックシグモイド関数である.
−5 5
0.5
y = 11 + exp(−x)
y = Φ
(√π
8 x)
y = 1
O
x
y
89/94
予測分布 (5)
σを Φで近似することで次の性質(演習 4.26)を使うことができる.∫Φ(λa)N (a|µ, σ2)da = Φ
(µ√
λ−2 + σ2
)(4.152)
これを使うと
p(C1|t) '∫Φ(λa)N (a|µa, σ
2a)da
= Φ
(µa√
λ−2 + σ2a
)
' σ
(µa√
1 + πσ2a/8
)
を得る.
90/94
2次形式のFréchet導関数
f(x) := x′AxとするとDxf(x)(h) = x′(A+A′)hである.
証明 h′Axはスカラーで h′Ax = (h′Ax)′ = x′A′hを満たすので
(x+ h)′A(x+ h) − x′Ax = x′Ah+ h′Ax+ h′Ah
= x′(A+A′)h+ h′Ah
が成り立つ.Cauchy-Schwarzの不等式と,作用素ノルムの性質から
|(x+ h)′A(x+ h) − x′Ax− x′(A+A′)h| ≤ |h′Ah|≤ ‖h‖‖Ah‖≤ ‖h‖‖A‖‖h‖
である.よって任意の ε > 0に対して,‖h‖ ≤ ε/‖A‖とすればDxf(x)(h) = x(A+A′)hであることが分かる.
91/94
log |X|の導関数 (1)
X をN ×N の実対称正定値行列とする.このとき f(X) := log |X|と定めるとDXf(X)(H) = 〈X−1,H〉である.
証明 X をH を変化させたときの f の変化量は
f(X +H) − f(X) = log |X(I +X−1H)| − log |X|= log |I +X−1H|
と計算できる.X−1H のジョルダン標準形を J,変換行列を P とする.また Y := X−1H の固有値を λi (i = 1, . . . , n)とする.このとき
log |I +X−1H| = log |P−1(I + J)P | = log |I + J |
= log(
N∏i=1
(1 + λi))
=N∑
i=1log(1 + λi)
である.
92/94
log |X|の導関数 (2)h ∈ C 7→ log(1 + h)について,どのような ε > 0をとってもある δ > 0が存在して,|h| < δならば
log(1 + h) ≤ h+ ε
N‖X−1‖|h|
とできる.したがって ‖H‖ < δ/‖X−1‖ととればmaxi |λi| < δなので 13
N∑i=1
log(1 + λi) =n∑
i=1λi + ε
N‖X−1‖
(N∑
i=1|λi|
)≤ tr(X−1H) + ε‖H‖
となる.13一般に行列 A の任意の固有値 λ 6= 0 と対応する固有ベクトル x について
‖A‖ =‖A‖‖x‖
‖x‖≥
‖Ax‖‖x‖
=‖λx‖‖x‖
≥ |λ|
が成り立つ.すなわちスペクトル半径 ρ(A) := maxi |λi|と行列のノルムの間に不等式ρ(A) ≤ ‖A‖ が成り立つ.
93/94
log |X|の導関数 (3)
ゆえに f(X) = log |X|の Fréchet導関数は
DXf(X)(H) = tr(X−1H) = 〈X−1′,H〉
である.
証明にあたりManton (2010)とManton (2012)を参考にした.
94/94
参考文献
Manton, J. H. (2010).https://jmanton.wordpress.com/tag/frechet-derivative.
Manton, J. H. (2012). Differential calculus, tensor productsand the importance of notation. arXiv preprintarXiv:1208.0197.
Murphy, K. P. (2012). Machine learning: a probabilisticperspective. MIT press.
ビショップ, C. M. (2008). パターン認識と機械学習 上. シュプリンガージャパン.
海野裕也, 岡野原大輔, 得居誠也, and 徳永拓之 (2015). オンライン機械学習 (機械学習プロフェッショナルシリーズ). 講談社.