prml勉強会@長岡 第4章線形識別モデル
TRANSCRIPT
第4章 線形識別モデルPRML勉強会@長岡
presented by 岡田 正平
おことわり• 勉強会用資料です
– 口頭で説明することを前提にしているため,スライド単体では説明不十分な部分があります
• スライド中の情報の正しさは保証しません
2
はじめに
3
この章について• 分類問題について扱います
• 決定領域• 決定境界
– 決定面とも
4
目的変数の表現• 1-of-K符号化法
– 𝐾 = 5クラスの例t = 0,1,0,0,0 T
– 𝑡𝑘の値はクラスが𝐶𝑘である確率と解釈可能
5
3つのアプローチ(recall that 1章)
6
3つのアプローチ(recall that 1章)
• 識別関数• 生成モデル• 識別モデル
– みんな大好きSVM
7
ちょっと3章も思い出して• 入力xに対して出力値を予測• 最も簡単なモデル
𝑦 x = wTx + 𝑤0𝑦 ∈ ℝ
8
分類問題では?• 𝑦は離散値を取るクラスラベル
– もっと一般的には領域(0,1)の値を取る事後確率
9
分類問題では?• 𝑦は離散値を取るクラスラベル
– もっと一般的には領域(0,1)の値を取る事後確率• 非線形関数𝑓(⋅)によって変換
𝑦 x = 𝑓(wTx + 𝑤0):一般化線形モデル𝑓(⋅):活性化関数
10
4章の構成4.1 識別関数(判別関数)4.2 確率的生成モデル4.3 確率的識別モデル----------------------------------------------------4.4 ラプラス近似4.5 ベイズロジスティック回帰
11
↓ 省略
4.1 識別関数(判別関数)
12
識別とは• 入力ベクトルxをクラス𝐶𝑘に割り当てる関数• 本章では決定面が超平面となる
線形識別のみを扱う
13
2クラス• 最も簡単な線形識別関数
𝑦 x = 𝐰T𝐱 + 𝑤0𝐰:重みベクトル𝑤0:バイアスパラメータ
𝑦 𝐱 ≥ 0ならばクラス𝐶1決定面は𝑦 𝐱 = 0
14
2クラス• 𝐰は決定面の法線ベクトル• 𝑤0は決定面の位置を決定する• 決定面から点𝐱への距離は
𝑟 = 𝑦 𝐱𝐰
15
16
2クラス• ダミー入力値𝑥0 = 1を導入𝐰� = 𝑤0,𝐰 , 𝐱� = 𝑥0, 𝐱 を導入𝑦 𝐱 = 𝐰�T𝐱�
スッキリ!– ベクトルの次元が1増えてる
17
多クラス• 1対多分類器・1対1分類器
– 曖昧な領域が存在
18
多クラス• 𝐾個の線形関数で構成される単独の𝐾クラス
識別を考える𝑦𝑘 𝐱 = 𝐰𝑘
T𝐱 + 𝑤0 = 𝐰�T𝐱�– すべての𝑗 ≠ 𝑘に対して𝑦𝑘(𝐱) > 𝑦𝑗(𝐱)である場合
点𝐱はクラス𝐶𝑘
19
多クラス• 𝐶𝑘 ,𝐶𝑗間の決定境界は𝑦𝑘 𝐱 = 𝑦𝑗 𝐱 = 0• つまり
𝐰𝑘 −𝐰𝑗T𝐱 + 𝑤𝑘0 − 𝑤𝑗0 = 0
– 2クラスの時と同様の幾何学的性質が適用される– 各決定領域は凸領域
20
21
パラメータの学習• 最小二乗• フィッシャーの線形判別• パーセプトロンアルゴリズム
22
最小二乗法• (結論)学習データ集合{𝐱𝑛, 𝐭𝑛}に対して
𝐖� = 𝐓T 𝐗�† T
𝐓:𝑛番目の行が𝐭𝑛Tである行列𝐗�:𝑛番目の行が𝐱𝑛Tである行列𝐗�†:𝐗�の擬似逆行列(→3.1.1)
– が,いろいろ問題がある
23
最小二乗法の問題• 分類問題においては外れ値に特に弱い
(「正し過ぎる」予測にペナルティ)
24
分類問題に対する誤差関数(→7.1.2)によりある程度は避けられるが...
最小二乗法の問題• 3クラス分類問題の例
25(´・ω・`)
そもそも• 最小二乗法は確率分布にガウス分布を仮定• 2値目的変数ベクトルはガウス分布から
かけ離れているハナから無理があるってもんですよ適切な確率モデルを採用しよう!
(次回?)26
フィッシャーの線形判別• 次元の削除という観点から• これまでは𝐷次元入力ベクトルを1次元(実
数)に射影していた– 当然情報は落ちるが,重みベクトル𝐰を調整す
ることでうまく分離する– 最も単純な方法は射影されたクラス平均の分離
度を最大化27
フィッシャーの線形判別しかし...
28
(・A・)イマイチ
フィッシャーの線形判別• フィッシャーさん,考えた• 射影されたクラス内の分散が小さくなるよ
うにすれば...
29
フィッシャーの線形判別
30
(・∀・)イイ!!
フィッシャーの線形判別実は目的変数に1-of-K符号化法とは異なる表現をもちいた場合の最小二乗法と等価
𝑡𝑛 =
𝑁𝑁1
for 𝐶1𝑁𝑁2
for 𝐶2
31
パーセプトロンアルゴリズム• 2クラスのモデル• 入力ベクトルを変換して得られる特徴ベク
トル𝜙(𝐱)に対して𝑦 𝐱 = 𝑓(𝐰T𝜙 𝐱 )
ただし,𝑓 𝑎 = �+1,𝑎 ≥ 0−1.𝑎 < 0
32
パーセプトロンアルゴリズム• 目的変数の表記は𝑡 ∈ {−1,1}
– 活性化関数との相性がいい
33
パーセプトロンアルゴリズム• 誤差関数の選択
– 誤識別したパターン総数殆どの場合で勾配0学習アルゴリズムが難しい
– パーセプトロン規準
34
パーセプトロンアルゴリズム• パーセプトロン規準
𝐸𝑃 𝐰 = −∑ 𝐰𝐓𝜙𝑛𝑡𝑛𝑛∈ℳ𝜙𝑛 = 𝜙 𝐱𝑛ℳ:誤分類された全てのパターン集合
• 確率的最急降下アルゴリズム(→3.1.3)– 𝐰 𝜏+1 = 𝐰 𝜏 − 𝜂𝛻𝐸𝑃 𝐰 = w 𝜏 + 𝜂𝜙𝑛𝑡𝑛
35
パーセプトロンアルゴリズム
36
パーセプトロンアルゴリズム• パーセプトロンの収束定理
– 厳密解が存在する場合,パーセプトロン学習アルゴリズムは有限回の繰り返しで厳密解に収束することを保証実用的には,分離できない問題なのか,単に収
束が遅いのかの区別が収束するまでわからないという点に注意
37
4.2 確率的生成モデル
38
ベイズ!• 2クラスの場合を考える
𝑝 𝐶1 x = 𝑝 x 𝐶1 𝑝 𝐶1𝑝 x 𝐶1 𝑝 𝐶1 +𝑝 x 𝐶2 𝑝(𝐶2)
= 11+exp (−𝑎)
= 𝜎 𝑎
𝑎 = ln 𝑝 x 𝐶1 𝑝 𝐶1𝑝 x 𝐶2 𝑝(𝐶2)
39
ロジスティックシグモイド関数• 𝜎 𝑎 = 1
1+exp (−𝑎)
• 「スカッシング(押し込み)関数」とも
40
多クラスの場合• 𝑝 𝐶𝑘 = 𝑝 x 𝐶𝑘 𝑝 𝐶𝑘
∑ 𝑝 x 𝐶𝑗 𝑝(𝐶𝑗)𝑗
= exp 𝑎𝑘∑ exp (𝑎𝑗)𝑗
𝑎𝑘 = ln(𝑝 x 𝐶𝑘 𝑝 𝐶𝑘 )– 正規化指数関数
• ソフトマックス関数とも41
連続値入力• クラスの条件付き確率密度がガウス分布と
仮定• すべてのクラスが同じ共分散行列を仮定
𝑝 x 𝐶𝑘=
1
2𝜋𝐷2
1
𝚺12
exp −12
x − 𝝁𝑘 T𝚺−1(x − 𝝁𝑘)
42
連続値入力• 指数部分にあるxの二次の項がキャンセルさ
れるため,正規化指数関数の引数が𝐱の線形関数になる
43
連続値入力• 共分散行列が異なる場合は?境界が非線形(二次関数)
44
最尤解• もう一度2クラス,ガウス分布,共通の共分
散の場合を考える• データ集合 x𝑛, 𝑡𝑛 が与えられていると仮定
𝑛 = 1,⋯ ,𝑁
𝑡𝑛 = �1 for 𝐶10 for 𝐶2
45
最尤解• 尤度関数は𝑝 t, X 𝜋,𝝁1,𝝁2,𝚺
= � 𝜋𝜋 x𝑛 𝝁1,𝚺 𝑡𝑛 1 − 𝜋 𝜋 x𝑛 𝝁2,𝚺 1−𝑡𝑛
𝑁
𝑛=1
ただし 𝑡 = 𝑡1,⋯ , 𝑡𝑁 T,𝜋 = 𝑝 𝐶1
46
最尤解• 各パラメータの最大化は𝜋 = 𝑁1
𝑁
𝝁1 = 1𝑁1∑ 𝑡𝑛x𝑛𝑁𝑛=1
𝝁2 = 1𝑁2∑ (1 − 𝑡𝑛)x𝑛𝑁𝑛=1
47
最尤解𝚺 = 𝑁1
𝑁S1 + 𝑁2
𝑁S2
S1 = 1𝑁1∑ x𝑛 − 𝝁1 x𝑛 − 𝝁1 𝑇𝑛∈𝐶1
S2 = 1𝑁2∑ x𝑛 − 𝝁2 x𝑛 − 𝝁2 𝑇𝑛∈𝐶2
• この結果は多クラスにも拡張可能
48
離散特徴• 特徴が離散値𝑥𝑖の場合を考える• 2値𝑥𝑖 ∈ 1,0 , 特徴数𝐷個の場合
– 特徴量を抑えるためナイーブベイズを仮定
𝑝 x 𝐶𝑘 = �𝜇𝑘𝑖𝑥𝑖 1 − 𝜇𝑘𝑖
1−𝑥𝑖𝐷
𝑖=1
49
離散特徴• 正規化指数関数の引数は𝑎𝑘 𝑥
= �{𝑥𝑖 ln 𝜇𝑘𝑖 + 1 − 𝑥𝑖 ln 1 − 𝜇𝑘𝑖 }𝐷
𝑖=1
+ ln 𝑝(𝐶𝑘)
入力値𝑥𝑖の線形関数となる
50
指数型分布族• クラスの条件付き確率が指数型分布族のメ
ンバーであると仮定• 𝑝 x 𝜆𝑘 = ℎ x 𝑔 λ𝑘 exp {λ𝑘Tu x }• u x = xとなるような分布については,正規
化指数関数の引数がxの線形関数となる
51
4.3 確率的識別モデル
52
識別アプローチの利点• 決めるべき適用パラメータが少ない
53
固定基底関数• 基底関数ベクトル𝜙(x)を使って入力を非線
形変換– 決定境界を非線形にできる– SVMでいうところのカーネル関数
54
固定基底関数
55
ロジスティック回帰• 事後確率(2クラスの場合)
𝑝 𝐶1 𝝓 = 𝑦 𝝓 = 𝜎(wT𝝓)• ロジスティックシグモイド関数
𝑝 𝐶2 𝝓 = 1 − 𝑝(𝐶1|𝝓)• パラメータの数=𝝓の次元数
56
最尤法によるパラメータ決定• データ集合 𝝓𝑛, 𝑡𝑛 , 𝑡𝑛 ∈ 0,1 ,𝜙𝑛 = 𝜙 𝑥𝑛 ,𝑛 = 1,⋯ ,𝑁に対する尤度関数
𝑝 t w = �𝑦𝑛𝑡𝑛 1 − 𝑦𝑛 1−𝑡𝑛
𝑁
𝑛=1
– t = 𝑡1,⋯ , 𝑡𝑁 T,𝑦𝑛 = 𝑝(𝐶1|𝝓𝒏)
57
最尤法によるパラメータ決定• 負の対数をとって誤差関数とする𝐸 w = − ln 𝑝 t w = −∑ 𝑡𝑛 ln 𝑦𝑛 + 1 − 𝑡𝑛 ln 1 − 𝑦𝑛𝑁
𝑛=1– 交差エントロピー誤差関数
58
最尤法によるパラメータ決定• 誤差関数の勾配をとると
𝛻𝐸 w = � 𝑦𝑛 − 𝑡𝑛 𝜙𝑛
𝑁
𝑛=1– なんか簡単な形に!
59
最尤法に寄るパラメータ推定• 線形分離可能なデータに対して,過学習を
起こしてしまう点に注意
60
反復重み付け最小二乗• ロジスティック回帰では最尤解を解析的に
導出することはできない• しかし誤差関数は凸関数唯一の最小解を持つ
• ニュートン・ラフソン法を用いるw(new) = w old − H−1𝛻𝐸(w)
61
反復重み付け最小二乗• 二乗和誤差関数の場合𝛻𝐸 w = ∑ wT𝝓𝑛 − 𝑡𝑛 𝝓𝑛 = ΦTΦw−ΦTt𝑁
𝑛=1
H = ∑ 𝝓𝑛𝝓𝒏𝑻𝑁
𝑛=1 = Φ𝑇Φ
– Φは𝑛番目の行が𝝓𝑛Tで与えられる𝑁 × 𝑀行列
62
反復重み付け最小二乗• 代入して,整理すると
w new = Φ𝑇Φ −1Φ𝑇t
– w old が消えた 反復回数1回で正確な解が求められる
63
反復重み付け最小二乗• 交差エントロピー誤差関数の場合
• w new = ΦTRΦ−1ΦTRz
– Rは要素が𝑅𝑛𝑛 = {𝑦𝑛 1 − 𝑦𝑛 }の対角行列– z = Φw old − R−1(y − t)– 重み付き最小二乗問題に対する正規方程式集合
64
多クラスロジスティック回帰• 事後確率
𝑝 𝐶𝑘 𝝓 = 𝑦𝑘 𝝓 = exp 𝑎𝑘∑ exp 𝑎𝑗𝑗
• ソフトマックス関数𝑎𝑘 = w𝑘
T𝝓
65
多クラスロジスティック回帰• 尤度関数(1-of-K符号化法を使用)𝑝 𝑇 𝑤1,⋯ ,𝑤𝐾 = ∏ ∏ 𝑦𝑛𝑘
𝑡𝑛𝑘𝐾𝑘=1
𝑁𝑛=1
• 以下,2クラスの場合と同様に導出可能
66
プロビット回帰• ロジスティック回帰で,どんなときでも事
後確率が簡単な形になるわけではない別のタイプの識別確率モデルも見てみよう• 2クラスの場合を考えます
𝑝 𝑡 = 1 𝑎 = 𝑓(𝑎)
𝑎 = wT𝜙, 𝑓 ⋅ :活性化関数67
プロビット回帰• 雑音しきい値モデル𝑡𝑛 = � 1 if 𝑎𝑛 ≤ 𝜃
0 otherwise• 𝜃の値が確率密度𝑝(𝜃)で与えら得る場合
𝑓 𝑎 = � 𝑝 𝜃 𝑑𝜃𝑎
−∞
68
69
プロビット回帰• 𝑝(𝜃)が標準正規分布の場合の𝑓(𝑎)プロビット関数
• プロビット関数に基づく一般化線形モデルをプロビット回帰という
70
プロビット回帰• 点線部分がプロビット関数
– (実線はロジスティックシグモイド関数)
71
プロビット回帰• ロジスティク回帰の結果と似る傾向がある• より外れ値に敏感• ロジスティック回帰のベイズ的な扱いにお
いて,利用法がある(4.5節)
72
4.4 ラプラス近似
73
ラプラス近似とは• 連続確率密度分布をガウス分布に近似
74
4.5 ベイズロジスティック回帰
75
この節では...• ロジスティック回帰のベイズ的取り扱い厳密に適用するのは難しいラプラス近似を適用して考える
76