Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

PRML 第4章

7,157 views

Published on

パターン認識と機械学習 第4章
Pattern Recognition and Machine Learning Chapter 4

Published in: Science
  • Be the first to comment

PRML 第4章

  1. 1. 1/94 PRML 第 4 章 宮澤 彬 総合研究大学院大学 博士前期 miyazawa-a@nii.ac.jp May 15, 2015 (modified: July 16, 2015)
  2. 2. 2/94 はじめに 計算過程を別ファイルに分けようと思いましたが面倒なので分けま せんでした.そのためスライドがすこしごちゃごちゃしています. すみません. このスライドの LuaLATEX のソースコードは https://github.com/pecorarista/documents にあります. 自分の好みにより教科書とは違う表記をしている箇所があります. 転置を ではなく で表しています. tr(A B) は内積の公理を満たすので A, B と書きます. 勾配の代わりに導関数を使っている箇所があります. 誤解の恐れがない限りベクトルを太字で書きません. 左辺を右辺で定義するとき (左辺) := (右辺) と書きます.
  3. 3. 3/94 分類問題を解く 入力 x に対して,離散クラス C1, . . . , Ck のただ 1 つを割り当てたい.つ まり入力空間をいくつかの決定領域 (decision region) に分離したい. 決定領域の境界は決定境界 (decision boundary),あるいは決定面 (decision surface) などと呼ばれる. しばらくは線形識別モデルを考える.
  4. 4. 4/94 線形識別モデルとは 線形識別モデルは決定面が,x の線形関数であり,D 次元入力空間に対 して,その決定面が D − 1 次元の超平面で定義されるもの. 線形決定面で正しく各クラスに分類できるデータの集合は線形分離可能 であると言われる.
  5. 5. 5/94 目的変数の表し方について 目的変数の表し方はいろいろあるが,2 変数の表し方で一般的なのは目 的変数を t ∈ {0, 1} として t = 1 で C1 を,t = 0 で C2 を表す方法で ある. K > 2 クラスの場合は 1-of-K 表記法を使用する.この表記法では t = (0 · · · 0 i 1 0 · · · 0) ∈ {0, 1}K がクラス Ci に対応する.
  6. 6. 6/94 分類問題に対する 3 つのアプローチ 分類問題に対するアプローチは大きく 3 つに分けられる. 1. 識別関数 (discriminant function) を構築する方法. パーセプトロンや SVM など 2. 事後確率 p(Ck|x) を直接モデル化する方法(識別モデル). ロジスティック回帰モデルなど 3. p(Ck) と p(x|Ck) を生成し,これらから p(Ck|x) を求める方法(生成 モデル). ナイーブベイズなど これらの比較は 1.5.4 で詳しく扱った 1 . 1 Murphy (2012) の 8.6 も詳しい.
  7. 7. 7/94 第 3 章との違い 第 3 章の線形回帰モデルでは y : x ∈ RD → w x + w0 ∈ R のような関 数を使ってきた.しかし分類問題では離散値であるクラスラベルを出力 してほしいので,非線形関数 f を噛ませる. y(x) = f(w x + b) (4.3) f は活性化関数 (activation function) と呼ばれる.f は非線形であっ ても,決定面は線形であるから,(4.3) で表現されるモデルのクラスを 一般化線形モデル (generalized linear model) と呼ぶ.
  8. 8. 8/94 2 クラスの線形識別関数 最も簡単な線形識別関数は,入力ベクトル x の線形関数 y(x) = w x + w0 (4.4) で与えられる.w を重みベクトル,w0 をバイアスパラメータと呼ぶ. このとき決定境界は超平面 π : y(x) = 0 となる. w π
  9. 9. 9/94 y(x) の性質 y(x)/ w は x から平面までの(符号付き)距離を与える. 証明 Hilbert 空間の射影定理より,任意の点 x から超平面 π への最短 距離を与える点 x⊥ ∈ π がただ 1 つ存在し,(x − x⊥)⊥π を満たす.し たがって適当な実数 r を使って x − x⊥ = r w w と書ける.両辺と w の標準内積をとって,w x⊥ + w0 = 0 を使えば, w x − w x⊥ = r w r = y(x) w を得る.
  10. 10. 10/94 多クラスに拡張すると生じる問題 (1) K = 2 の線形識別を K > 2 に拡張する.単純に 2 クラス識別関数を組 み合わせると問題が生じる. 1 対他分類器 (one-versus-the-rest classifier) を使う方法. R1 R2 R3 ? C1 not C1 C2 not C2
  11. 11. 11/94 多クラスに拡張すると生じる問題 (2) 1 対 1 分類器 (one-versus-on classifier) K 2 = K(K − 1)/2 個の 2 クラス識別関数を導入する.各点は識別関数 の多数決で分類される. R1 R2 R3 ?C1 C2 C1 C3 C2 C3
  12. 12. 12/94 曖昧な領域をなくしたい (1) 以下の K 個の線形関数 yk(x) = wkx + wk0 (k = 0, . . . , K) (4.9) を作り,すべての j (= k) で yk(x) > yj(x) すなわち (wk − wj) x + (wk0 − wj0) > 0 が成り立つ場合に x は Ck に分類されるとする.
  13. 13. 13/94 曖昧な領域をなくしたい (2) 前のページで紹介した基準で「謎の領域」が存在しないことを示す. 任意の点 x をとる.I := arg maxi{yi(x)} (= ∅) としたとき |I| = 1 なら ば Ci0 (i0 ∈ I) に一意に分類できる.|I| > 1 ならば,任意の異なる i, j ∈ I について yi(x) = yj(x) となっているので x が Ci と Cj の決定境 界上にあることが分かる. Ri Rj Rk xA xB x
  14. 14. 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. 15. 15/94 決定領域の単連結性 (1) 決定領域 Rk (k = 1, . . . , K) は弧状連結(任意の 2 点をとったとき,そ れら結ぶ連続曲線が存在する)であり,更に単連結(ループを連続的に 変形して 1 点に縮められる)である. 弧状連結であるが単連結ではない b
  16. 16. 16/94 決定領域の単連結性 (2) 証明 凸性から弧状連結であることは明らかである. Rk の任意の点 p0 をとり, : [0, 1] → Rk を p0 を基点とした Rk 内の 任意のループとする.p0 に留まり続けるループを ˜p0 と表すことにする. このとき H(t, s) := s˜p0(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) = ˜p0(t) を満たしているので ˜p0 であり,したがって Rk は単連結で ある.
  17. 17. 17/94 最適なパラメータを求める(最小二乗法)(1) まずは二乗和誤差を最小化する方法を使ってみる.識別関数は yk(x) = wkx + wk0, k = 1, . . . , K と表されている.これはベクトルを使って y(x) = W ˜x と書ける.ただし, W :=      w10 w20 · · · wK0 w11 w21 · · · wK1 ... ... ... ... w1D w2D · · · wKD      , ˜x :=      x0 x1 ... xD      , x0 := 1 とした.
  18. 18. 18/94 二乗和誤差の最小化 (1) 学習データ {(xn, tn)}n=1, ..., N が与えられたとして, X :=    x1 ... xN    , T :=    t1 ... tN    と定める.このとき二乗和誤差関数は ED(W) := 1 2 tr((XW − T) (XW − T)) = 1 2 XW − T 2 である.
  19. 19. 19/94 二乗和誤差関数の最小化 (2) ED(W) を微分する.成分ごとに偏微分してもよいが Fréchet 導関数を 求めるほうが簡単である. X(W + H) − T, X(W + H) − T − XW − T, XW − T = 2 XW − T, XH + XH 2 = 2 X (XW − T), H + XH 2 より DED(W)(H) = X (XW − T), H である.したがって最小値を 与える W は X (XW − T) = O の解である.これを解いて W = (X X)−1 X T = X† T を得る.
  20. 20. 20/94 最小二乗解の実用性 以下のような問題がある. 1. 外れ値に敏感である(頑健でない) 決定境界から遠く離れた「正しすぎる」予測にペナルティを与えて しまう. → 7.1.2 節で別の誤差関数を紹介 2. 2 値目的変数と,最小二乗法が仮定するガウス分布との相性の悪さ 最小二乗法は条件付き確率分布にガウス分布を仮定した場合の最尤 法であり,一方 2 値目的変数ベクトルは明らかにガウス分布から かけ離れているので,最小二乗法が使えないのは当たり前のことで ある. →適切な確率モデルを採用すれば,最小二乗法よりもよい特性を持 つ分類法が得られる.
  21. 21. 21/94 フィッシャーの線形判別 (1) 線形識別モデルは,D 次元の入力ベクトルを 1 次元空間に写すので情 報の損失が発生する. 損失が起こるのは仕方ないが,D 次元空間では分離されていたクラスが 1 次元空間で重なり合ってしまうことは極力避けたい. そこでクラスの平均を結ぶ直線の正射影の長さが最大になるような w をとる.
  22. 22. 22/94 フィッシャーの線形判別 (2) w = 1, mk := (1/Nk) n∈Ck xn とすると,正射影の長さ は = m2 − m1 cos θ = |w (m2 − m1)| である.Cauchy-Schwarz の不等式より は w//(m2 − m1) のとき最 大になる. m1 m2 w θ
  23. 23. 23/94 フィッシャーの判別基準 (1) クラスの平均が離れたところに射影されても,クラス全体が重なり合う ように射影されてしまっては意味がない. −2 2 6 −2 0 2 4 −2 2 6 −2 0 2 4 右の図のようになってほしい.
  24. 24. 24/94 フィッシャーの判別基準 (2) 同一クラス内にあるデータは射影された後もまとまっていてほしいので s2 k := n∈Ck (w xn − w mk)2 (4.24) を小さく抑えなければならない. 以上の考察をまとめると J(w) := (w m2 − w m1)2 s2 1 + s2 2 (4.25) を最大化すればよいことが分かる.J(w) はフィッシャーの判別基準と 呼ばれる.
  25. 25. 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. 26. 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−1 W SBw = w となる.SBw = (m2 − m1)((m2 − m1) w)//(m2 − m1) より w//S−1 W (m2 − m1) (4.30) を得る.(4.30) はフィッシャーの線形判別 (Fisherʼs linear discriminant) と呼ばれる.
  27. 27. 27/94 最小二乗との関連 (1) この節では,前節で見たフィッシャーの判別基準が最小二乗の特殊な場 合になっていることを示す. この節では目的変数 t は 1-of-K はなく,t = N/N1 で C1 を, t = −N/N2 で C2 を表すことにする. E = 1 2 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. 28. 28/94 最小二乗との関連 (2) (4.32) からバイアスが N n=1 w xn + N n=1 w0 − N n=1 tn = 0 w N n=1 xn + Nw0 − N1 N N1 − N2 N N2 = 0 w0 = −w m (4.34) を満たすことが分かる.ただし m := 1 N N n=1 xn = 1 N (N1m1 + N2m2) (4.36) とした.
  29. 29. 29/94 最小二乗との関連 (3) (4.33) を変形すると(演習 4.6) SW + N1N2 N SB = N(m1 − m2) (4.37) となる.SBw = (m2 − m1)((m2 − m1) w)//(m2 − m1) より w//S−1 W (m2 − m1) (4.38) である. このように最小二乗から出発してフィッシャーの線形判別を導出するこ とができた.
  30. 30. 30/94 多クラスにおけるフィッシャーの判別 (1) フィッシャーの線形判別を K > 2 の場合に一般化する.入力空間の次 元を D > K とし,D 次元の特徴量のベクトル y = W x に変換する. クラス内共分散行列は SW := K k=1 Sk (4.40) とする.ここで Sk := n∈Ck (xn − mk)(xn − mk) , (4.41) mk := 1 Nk n∈Ck xk (4.42) である.
  31. 31. 31/94 多クラスにおけるフィッシャーの判別 (2) クラス間共分散行列 SB は ST := K k=1 Nk(mk − m)(mk − m) (4.46) とする.ここで m := 1 N N n=1 xn = 1 N K k=1 Nkmk (4.44) である.
  32. 32. 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 = 1 Nk n∈Ck yn, µ = 1 N k=1 Nkµk (4.49) である.
  33. 33. 33/94 多クラスにおけるフィッシャーの判別 (3) 2 クラスのときと同様,クラス間共分散行列が大きく,クラス内共分散 が小さいときに大きくなるスカラーを構成する.そのようなスカラーの 1 つの例は J(W) = tr(s−1 W sB) (4.50) = tr((WSWW )−1 (WSBW )) (4.51) である. (4.51) の最大化については Fukunaga(1990) に書かれているらし い 4 .結論として,最適な W は,一般化された固有方程式 SBv = λSWv を解いて得られる固有ベクトルにより決定される. 4 見てない.
  34. 34. 34/94 フィッシャーの線形判別の制限 フィッシャー線形判別の制限について説明するため SB の次元を求めて おく. ベクトル mk − m の第 i 成分を cki と書く.このとき SB の第 i 列は K k=1 Nkcki(mk − m) となるので列空間 C(SB) は m1 − m, . . . , mK − m で張られる.よって rank SB = dim C(SB) ≤ K である.更に m は Nkmk (k = 1, . . . , K) の 重心であるから N1(m1 − m) + · · · + NK(mK − m) = 0 となり,rank SB = dim C(SB) ≤ K − 1 が分かる.したがって,S−1 W SB の固有空間は高々 K − 1 次元であり,W で特徴をたくさん作ったとこ ろで K − 1 個の特徴しか活用できないことになる.
  35. 35. 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. 36. 36/94 パーセプトロン基準 (1) 誤差関数を,誤識別したパターンの総数として最小化することで求めら れそうである.しかし,これでは誤差関数が w の区分的な定数関数に なってしまい簡単なアルゴリズムが構築できない.そこでパーセプトロ ン基準 (perceptron criterion) という誤差関数を考える. パラメータ w を xn がクラス C1 に分類されるならば w φ(xn) > 0 xn がクラス C2 に分類されるならば w φ(xn) < 0 となるようにとる.そのような w はすべての n で tnw φ(xn) > 0 を満 たす.w を求めるため,正しく分類されたパターンに対しては何もせ ず,誤分類されたパターンに対しては −tnw φ(xn) を最小化することに する.
  37. 37. 37/94 パーセプトロン基準 (2) パーセプトロン基準は EP(w) = − n∈M tnw φn (4.54) で与えられる.ここで φn = φ(xn) であり,M は誤識別された (misclassified) パターン全体の集合である.最適なパラメータの候補 w(τ) を以下の式を使って更新していく. w(τ+1) := w(τ) − η EP(w) = w(τ) + ηtnφn (4.55) w を定数倍しても (4.52) は変化しないので,η = 1 としてよい.
  38. 38. 38/94 パーセプトロンの収束定理 (4.55) の両辺と −tnφn との標準内積をとると −tnw(τ+1) φn = −tnw(τ) φn − tnφn 2 < −tnw(τ) φn (4.56) となるので更新により誤差が減少することが分かる. パーセプトロンの収束定理から,学習データ集合が線形分離可能ならば パーセプトロンの学習アルゴリズムは有限回の繰り返しで厳密解(正し く分離できる w)に収束することが分かる 5 . 5 証明は簡単だが省略する.たとえば海野ら (2015) を参照.
  39. 39. 39/94 パーセプトロンの問題点 1. パーセプトロン学習アルゴリズムが収束するのに必要な繰り返し回 数が多い.→分離できない問題なのか,単に収束が遅いのかの区別 がわかりにくい. 2. 線形分離可能な場合でも,パラメータの初期値やデータの提示順に 依存して様々な解に収束してしまう. 3. 線形分離不可能な場合に収束しない. 4. 確率的な出力を提供しない. 5. K > 2 クラスの場合への一般化が容易でない.
  40. 40. 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. 41. 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. 42. 42/94 ソフトマックス関数の性質 正規化指数関数はロジスティックシグモイド関数の多変数への一般化と 考えられる. またこの関数の重要な性質として,任意の j = k に対して ak aj とな るような j について p(Ck|x) 1 かつ p(Cj|x) 0 となることがある. したがってこの関数を滑らかな最大値関数と捉えられ,そのことがソフ トマックス関数と呼ばれる所以になっている. ロジスティックシグモイド関数 −5 5 0.5 y = 1 1 + exp(−x) y = 1 O x y
  43. 43. 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. 44. 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) = σ 1 2 (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 := 1 2 µ2Σ−1 µ2 − 1 2 µ1Σ−1 µ1 + log C1 C2 (4.67) とした.
  45. 45. 45/94 連続値入力(多クラス) K クラスの場合を考える.このとき事後確率 p(Ck|x) は, ak(x) := wkx + wk0, (4.68) wk := Σ−1 µk, (4.69) wk0 := 1 2 µkΣ−1 µk + log p(Ck) (4.70) として p(Ck|x) = exp(ak) j exp(aj) で与えられる.
  46. 46. 46/94 連続値入力のベイズ判別における決定境界 決定境界を P(Ci|x) ≥ P(Cj|x) で定めると,(4.65) から入力 x の線形関 数になっていることが分かる. 共分散行列が共通であるという仮定を外すと,決定境界は x の 2 次関 数となる.
  47. 47. 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. 48. 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. 49. 49/94 最尤解(2 クラス)(3) 次に µ1 の最尤量を求める. の µ1 に関係する項を取り出すと N n=1 tn log N(xn|µ1, Σ) = − 1 2 N n=1 tn(xn − µ1) Σ−1 (xn − µ1) + const. (4.74) となっているので Dµ1 (µ1) = N n=1 tn(xn − µ1) Σ−1 である.
  50. 50. 50/94 最尤解(2 クラス)(4) Dµ1 (µ1) = 0 を解いて µ1 = 1 N1 N n=1 tnxn (4.75) を得る.同様にして µ2 = 1 N2 N n=1 (1 − tn)xn (4.76) も得られる.
  51. 51. 51/94 最尤解(2 クラス)(5) 最後に Σ の最尤量を求める. の Σ に関係する項を取り出すと − 1 2 N n=1 tn log |Σ| − 1 2 N n=1 tn(xn − µ1) Σ−1 (xn − µ1) − 1 2 N n=1 (1 − tn) log |Σ| − 1 2 N n=1 (1 − tn)(xn − µ2) Σ−1 (xn − µ2) = − N 2 log |Σ| − 1 2 n∈C1 (xn − µ1)(xn − µ1) + n∈C2 (xn − µ2)(xn − µ2) , Σ−1 である.
  52. 52. 52/94 最尤解(2 クラス)(6) B := Σ−1 で微分して 6 DB (B)(H) = N 2 B−1 , H − 1 2 n∈C1 (xn − µ1)(xn − µ1) + n∈C2 (xn − µ2)(xn − µ2) , H となるから,Σ の最尤量は Σ = 1 N n∈C1 (xn − µ1)(xn − µ1) + n∈C2 (xn − µ2)(xn − µ2) である. 6 f(X) = log |X| の微分についてはスライドの最後の補足を参照.
  53. 53. 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. 54. 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 → x/s と変数変換を行うと p(x|λk) = 1 s h x s g(λk) exp 1 s λkx (4.84) となる.
  55. 55. 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. 56. 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. 57. 57/94 確率的識別モデル 以下では,一般化線形モデルの関数形式を陽に仮定し,最尤法を利用し てパラメータを決定する方法を扱う.このときに用いられるアルゴリズ ムとして反復再重み付け最小二乗 (iterative reweighted least squares, IRLS) がある.
  58. 58. 58/94 固定基底関数 (1) 入力空間が線形分離不可能であっても,非線形変換 φ をうまくとれ れば,特徴空間上で線形分離が可能になる. 一般に φ0(x) = 1 として,w0 をバイアスとする. 非線形変換を行なってもクラス間の重なりは取り除くことができ ない. 固定基底関数の限界については 3.6 節を参照.
  59. 59. 59/94 固定基底関数 (2) x1 x2 −1 0 1 −1 0 1 φ1 φ2 0 0.5 1 0 0.5 1
  60. 60. 60/94 ロジスティック回帰 識別モデルの例としてロジスティック回帰 (logistic regression) と呼 ばれるモデルを扱う.名前に「回帰」とあるが,これは回帰よりむしろ 分類のためのモデルである. 2 クラスの場合を考える.事後確率 p(Ck|φ) がロジスティックシグモイ ド関数で書けたことを思い出して p(C1|φ) = σ(w φ) (4.87) とする.このとき,p(C2|φ) = 1 − p(C1|φ) である. 特徴空間の次元を M とすると,最尤法を使う場合,パラメータ数が O(M2 ) であるのに対し,ロジスティック回帰ならば M で済む.
  61. 61. 61/94 ロジスティック回帰のパラメータ決定 (1) tn ∈ {0, 1}, φn := φ(xn), yn := p(C1|φn) = σ(w φn) とする.データ集 合 {(φn, tn)}n=1,...,N が与えられたとき尤度は p(t|w) = N n=1 p(C1|φn)tn p(C2|φn)1−tn = N n=1 ytn n (1 − yn)1−tn (4.89) となる.誤差関数としては交差エントロピー誤差関数 (cross-entropy error function) E(w) := − log p(t|w) = − N n=1 (tn log yn + (1 − tn) log(1 − yn)) (4.90) を用いる.
  62. 62. 62/94 ロジスティック回帰のパラメータ決定 交差エントロピー誤差関数の勾配を求めるにあたり,ロジスティックシ グモイドの導関数を求めておく. dσ(a) da = d da 1 1 + exp(−a) = − − exp(−a) (1 + exp(−a))2 = σ(a)(1 − σ(a)) (4.88) これを使えば E(w) = − N n=1 tn 1 yn yn(1 − yn)φn + (1 − tn) 1 1 − yn (−yn)φn = N n=1 (yn − tn)φn (4.91) が得られる. E(w) = 0 の解をニュートン法で求めることを考える.
  63. 63. 63/94 反復再重み付け最小二乗(二乗和誤差) 先に第 3 章で使った二乗和誤差関数 E(w) = 1 2 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. 64. 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. 65. 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)u2 i > 0 である 7 .ゆえに E は唯一の最小解を持つ. 7 Φ = O を仮定した.
  66. 66. 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. 67. 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. 68. 68/94 多クラスロジスティック回帰 (2) 次に尤度を求める.1-of-K 表記を使って tnk = if tn == (0 · · · 0 k 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. 69. 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. 70. 70/94 プロビット回帰 (2) 特に g が標準ガウス分布にしたがう,すなわち識別確率が Φ(a) := a −∞ 1 √ 2π exp − u2 2 du (4.114) で与えられるとき,このモデルはプロビット回帰 (probit regression) と呼ばれる 10 . 最尤法でプロビット回帰のパラメータを決定できるらしいが省略する. 10標準正規分布の累積分布関数 Φ の逆関数をプロビット関数と呼ぶ.
  71. 71. 71/94 プロビット回帰 (3) 標準正規分布の累積分布関数のグラフ −3 3 0.5 y = Φ(a) y = 1 O a y
  72. 72. 72/94 正準連結関数 (1) 今まで何度か E(w) = N n=1 (yn − tn)φn という式が出てきた.目的変数 t の分布が指数型分布族のときに,上の 式を一般化した結果が得られることを示す. p(t|η, s) = 1 s h t s g(η) exp ηt s (4.118) (2.226) の導出と同様にして y ≡ E(t|η) = − d dη log g(η) (4.119) が得られる.(4.119) が η について解くことができて,η = ψ(y) と表せ ると仮定する.
  73. 73. 73/94 正準連結関数 (2) f を非線形関数として y = f(w φ) というモデルを考える.f−1 は連結 関数 (link function) と呼ばれる. 対数尤度は log p(t|η, s) = N n=1 log p(tn|η, s) = N n=1 log g(ηn) + ηntn s + const. (4.121) である.
  74. 74. 74/94 正準連結関数 (3) 対数尤度の勾配は w log p(t|η, s) = N n=1 d dη n log g(ηn) + tn s dηn dyn dyn dan an = N n=1 1 s (tn − yn)ψ (yn)f (an)φn (4.122) と計算できる. 連結関数 f−1 = ψ となるような連結関数をとっておけば, E(w) = 1 s N n=1 (yn − tn)φn (4.124) となる.ガウス分布のときは s = β−1 ,ロジスティックモデルのときは s = 1 である.
  75. 75. 75/94 1 次元のラプラス近似 (1) 4.5 節でロジスティック回帰のベイズ的な取り扱いをするために必要と なるラプラス近似という手法について説明する. ラプラス近似の目的は,分布 p(z) が与えられたとき,そのモード z0 を 中心とするガウス分布で p(z) を近似することである.まず 1 変数の場 合を考える.分布 p(z) を仮定する. p(z) := 1 Z f(z) ここで Z := f(z)dz は正規化のための定数である.
  76. 76. 76/94 1 次元のラプラス近似 (2) z0 を中心として log f(z) を Taylor 展開し,2 次の項までをとると log f(z) log f(z0) − 1 2 A(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. 77. 77/94 1 次元のラプラス近似 (3) 正規化して p を近似する分布 q(z) := A 2π 1/2 exp − A 2 (z − z0)2 (4.130) が得られる. ラプラス近似 −2 −1 0 1 2 3 4 0 0.2 0.4 0.6 0.8
  78. 78. 78/94 多次元のラプラス近似 (1) M 次元空間上の分布 p(z) = f(z)/Z を近似する.1 次元の場合と同様に log f(z) log f(z0) − 1 2 (z − z0) A(z − z0) (4.131) とできる.A は log f(z) の z0 におけるヘッセ行列を −1 倍したもので ある.両辺の指数をとると f(z) f(z0) exp − 1 2 (z − z0) A(z − z0) (4.133) となる.正規化して q(z) = |A|1/2 (2π)M/2 exp − 1 2 (z − z0) A(z − z0) = N(z|z0, A−1 ) (4.134) を得る.
  79. 79. 79/94 モデルの比較と BIC 分布 p(z) を近似したときと同様にして,正規化係数 Z は Z = f(z)dz f(z0) exp − 1 2 (z − z0) A(z − z0) dz = f(z0) (2π)M/2 |A|1/2 (4.135) と近似できる.ただし A := −D2 z(log f)(z0) である.
  80. 80. 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. 81. 81/94 モデルの比較と BIC (ME) の両辺の対数をとって log p(D) log p(D|θMAP) + オッカム係数 (Occam factor) と呼ばれる. log p(θMAP) + M 2 log(2π) − 1 2 log |A| (4.137) を得る. もしも事前確率 p(θ) がガウス分布で,ヘッセ行列が非退化 12 ならば, log p(D) log p(D|θMAP) − 1 2 M log N (4.139) と近似できる.(4.139) はベイズ情報量基準 (Bayesian Information Criterion, BIC),あるいはシュワルツ基準 (Schwarz criterion) と呼 ばれる.(1.73) の AIC と比較して,BIC はモデルの複雑さに,より重い ペナルティーを科している. 12この仮定が満たされていないことが多い.
  82. 82. 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. = − 1 2 (w − m0) S0(w − m0) − N n=1 (tn log yn + (1 − tn) log(1 − yn)) + const. (4.142) と計算できる.
  83. 83. 83/94 ラプラス近似 事後確率を最大化して最大事後確率解 wMAP を求める.共分散行列は S−1 N = −D2 w log p(w|t)(wMAP) = S−1 0 + Φ RΦ (4.143) で与えられる.よって事後確率分布のガウス分布による近似 q(w) = N(w|wMAP, SN ) (4.144) を得る.
  84. 84. 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. 85. 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, σa 2 )da (4.151) と計算できる.
  86. 86. 86/94 予測分布 (3) µa, σ2 a はそれぞれ µa := E(w φ) = E(w) φ = wMAPφ, σa := var(w φ) = φ var(w)φ = φ SN φ である.
  87. 87. 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)) = 1 4 であるから,λ = π/8 がわかる.
  88. 88. 88/94 Φ による σ の近似 赤い実線が標準正規分布の累積分布関数で,青い破線がロジスティック シグモイド関数である. −5 5 0.5 y = 1 1 + exp(−x) y = Φ π 8 x y = 1 O x y
  89. 89. 89/94 予測分布 (5) σ を Φ で近似することで次の性質(演習 4.26)を使うことができる. Φ(λa)N(a|µ, σ2 )da = Φ µ √ λ−2 + σ2 (4.152) これを使うと p(C1|t) Φ(λa)N(a|µa, σ2 a)da = Φ µa λ−2 + σ2 a σ µa 1 + πσ2 a/8 を得る.
  90. 90. 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. 91. 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−1 H)| − log |X| = log |I + X−1 H| と計算できる.X−1 H のジョルダン標準形を J,変換行列を P とする. また Y := X−1 H の固有値を λi (i = 1, . . . , n) とする.このとき log |I + X−1 H| = log |P−1 (I + J)P| = log |I + J| = log N i=1 (1 + λi) = N i=1 log(1 + λi) である.
  92. 92. 92/94 log |X| の導関数 (2) h ∈ C → 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−1 H) + ε H となる. 13一般に行列 A の任意の固有値 λ = 0 と対応する固有ベクトル x について A = A x x ≥ Ax x = λx x ≥ |λ| が成り立つ.すなわちスペクトル半径 ρ(A) := maxi |λi| と行列のノルムの間に不等式 ρ(A) ≤ A が成り立つ.
  93. 93. 93/94 log |X| の導関数 (3) ゆえに f(X) = log |X| の Fréchet 導関数は DXf(X)(H) = tr(X−1 H) = X−1 , H である. 証明にあたり Manton (2010) と Manton (2012) を参考にした.
  94. 94. 94/94 参考文献 Manton, J. H. (2010). https://jmanton.wordpress.com/tag/frechet-derivative. Manton, J. H. (2012). Differential calculus, tensor products and the importance of notation. arXiv preprint arXiv:1208.0197. Murphy, K. P. (2012). Machine learning: a probabilistic perspective. MIT press. ビショップ, C. M. (2008). パターン認識と機械学習 上. シュプリン ガージャパン. 海野裕也, 岡野原大輔, 得居誠也, and 徳永拓之 (2015). オンライン機 械学習 (機械学習プロフェッショナルシリーズ). 講談社.

×