L1 正則化による変数の選択と縮小推定法
中村知繁
慶應義塾大学大学院理工学研究科 M1(南研)
May 13, 2014
目次
導入 - 回帰モデルとは何か?
線形回帰モデル, 変数選択法, 縮小推定法
Lasso - L1 型正則化による、縮小推定と変数選択
Elastic Net - Lasso に変わる新たな手法
SPCA - スパース主成分分析
まとめ
今後の研究について
2 / 87
文献
B. Efron, T. Hastie, I. Johnstone, R. Tibshirani (2004). LEAST
ANGLE REGRESSION
H. Zou and T. Hastie (2005). Regularization and variable selection
via the elastic net
H. Zou, T. Hastie, and R. Tibshirani (2006). Sparse principal
component analysis.
R. Tibshirani (1996). Regression Shrinkage and Selection via the
Lasso
T. Hastie, R. Tibshirani, J. Friedman (2009). The Elements of
Statistical Learning 2nd Edition
G. James, D. Witten, T. Hastie R. Tibshirani (2014). An
Introduction to Statistical Learning
3 / 87
導入 - 回帰モデルとは何か?
線形回帰モデル, 変数選択法, 縮小推定法
Lasso - L1 型正則化による、縮小推定と変数選択
Elastic Net - Lasso に変わる新たな手法
SPCA - スパース主成分分析
まとめ
今後の研究について
4 / 87
導入 — 回帰が扱う問題の例
まず、回帰モデルが扱う問題のイメージを共有するために、例を列挙
する。
気温、放射量、風速によってオゾン濃度の変化をモデル化する。
ワインの成分から、ワインの質を予測する
前立腺がんになりやすいリスク因子を特定する
log-priodgram に基づいて、音声を分離する
過去のマーケティングデータから、時期の売り上げを予測する
心臓病のリスクを、人の属性・食事・医学的な尺度から予測する。
5 / 87
導入 — 教師あり学習問題
教師あり学習の問題設定
予測したい変数:目的変数 Y (回帰・判別で異なる)を決める。
Y を説明する変数:説明変数 Xn×p = (X1, ..., Xp) を決める。
教師データ(トレーニングデータ)が (x1, y1), · · · , (xN , yN ) が与
えられる。これらは、変数の観測値。
教師あり学習の目的
教師データを用いて未知の現象をモデル化する。
説明変数が目的変数に与える影響を理解する。
未知のデータ(入力)に対して、結果(出力)を予測する。
6 / 87
導入|例
ozone radiation temperature wind
1 41.00 190 67 7.40
2 36.00 118 72 8.00
3 12.00 149 74 12.60
4 18.00 313 62 11.50
5 23.00 299 65 8.60
6 19.00 99 59 13.80
7 8.00 19 61 20.10
8 16.00 256 69 9.70
9 11.00 290 66 9.20
10 14.00 274 68 10.90
11 18.00 65 58 13.20
12 14.00 334 64 11.50
Table: 1973 年ニューヨークの、オゾン濃度と、風速、最高気温、日光放
射量に関するデータ
7 / 87
導入|例
オゾン濃度と、各説明変数の関係性
Figure: オゾン濃度を、各変数毎に単回帰した直線を緑色で示した。
8 / 87
導入|例
目的変数をすべての変数で説明する
Y = Ozone : 目的変数
X = (radiation, temperature, wind) : 説明変数
Y を X で説明するモデルは、以下のように考えられる。
Y = f(X) + ε (1)
ε は誤差ベクトル
一般的には平均 0、分散 σ2 の正規分布に従うと仮定する。
9 / 87
導入|妥当な f(X) とは何か?
X が与えられたときの、f(X) の最適な値とは?
次の式を、最小にする g(X) を妥当なものだと考える。
arg min
g(X)
E[(Y − g(X))2
|X = x] (2)
最適な f(X) は、次のようになる(回帰関数と呼ぶ)。
f(X) = E(Y |X = x) (3)
10 / 87
導入|妥当な f(X) とは何か?
f(X) のイメージ
X = 4 に対して Y が取りうる値として妥当なもの次のように
なる。
f(4) = E(Y |X = 4) (4)
Figure: ozone 濃度を、各変数毎に単回帰した。
11 / 87
導入| f(X) と誤差
f(X) と誤差
実際、Y が真のモデル f(X) から観測される際には、誤差が
ある。
ε = Y − f(x) を誤差という。
Y の観測値は真のモデルの値と誤差の和として観測される。
これは、X が与えられたときに観測される Y はある分布か
ら得られているため。
実際、全ての f(x) の推定量 ˆf(x) に対して、
E[(Y − ˆf(X))2
|X = x] = [f(x) − ˆf(x)]2
+ V ar(ε) (5)
1 項目は推定したモデルが真のモデルに近ければ小さくなる
2 項目は誤差分散で一定である。
12 / 87
導入|線形回帰モデル
線形回帰モデル
線形回帰モデルは、E[Y |X] に以下のモデルを仮定する。
fL(X) = β0 + β1X1 + · · · + βpXp (6)
線形回帰モデルは、p + 1 個のパラメータ β1, β2, · · · , βp に
よって特徴付けられるモデルである。
教師データに対して、モデルを当てはめることでパラメータ
β1, β2, · · · , βp を推定する
線形回帰モデルは(未知の)真のモデルの理解しやすい近似
としての役割を果たす。
ただし、真のモデルは(ほとんどの場合)与えない。
13 / 87
導入|線形回帰モデル vs 非線形な回帰
線形回帰モデル vs 非線形な回帰
上図: ˆfL(X) = ˆβ0 + ˆβ1X を当てはめた結果
下図: ˆfC(X) = ˆβ0 + ˆβ1X + β2X2 + ˆβ3X3 を当てはめた結果
14 / 87
導入|さらに複雑なモデルを当てはめた結果
ˆf30(X) = ˆβ0 + ˆβ1X + · · · + ˆβ30X30 の当てはめ結果
15 / 87
導入|簡素なモデル vs 複雑なモデル
データへの当てはまり vs モデルの解釈
線形モデルはモデルの解釈が容易。
データへのモデルの当てはまりは、複雑なモデルの方が大
きい
どれぐらい複雑にすべきなのだろうか?
当てはまりの正しさの確認方法はどうするか?
全ての変数を用いた変数が多いモデルよりも、少ない変数の
みを含む単純なモデルの方を好む場合がある。
16 / 87
導入|モデルの評価
モデルの評価:平均自乗誤差
1つの評価基準は「平均自乗誤差(MSE)」
教師データ Tr= {xi, yi}N
1 から、推定したモデル ˆf(x) に対して以
下を計算する。
MSET r = Avei∈T r[yi − ˆf(xi)]2
(7)
しかしながら、教師データなので、複雑なモデルの方が平均自乗誤
差は小さくなる
新たなテストデータ Te= {xi, yi}M
1 に対して、以下を計算する。
MSET e = Avei∈T e[yi − ˆf(xi)]2
(8)
17 / 87
導入|モデルの評価(例)
モデルの評価(例)
横軸:モデルの複雑さ(次数).縦軸:平均自乗誤差.
真のモデル: f(X) = −1
3 X2 − X + 3, 誤差分布:ε ∼ N(0, 1)
X ∼ Unif(−2, 2), 標本数 100.
黒 (——–):Training, 赤 (———):test
18 / 87
導入|本題
高次の場合・説明変数が多い場合
データを高次に拡張した場合を紹介した。
同様に、説明変数が多い場合でも、説明変数と目的変数の関係をで
きる限り簡素に記述したくなる。
今回のテーマである「L1 正則化」は、これに関連している手法。
→卒業研究
卒業研究の内容
線形回帰モデルに対する L1 正則化法がテーマ。
L1 正則化法は、縮小推定の過程で、説明変数を選択する。
解釈可能なモデル + 予測精度を改善する
一般的なケースに拡張が可能。
ここからは「卒業論文」のお話をします。
19 / 87
導入 - 回帰モデルとは何か?
線形回帰モデル, 変数選択法, 縮小推定法
Lasso - L1 型正則化による、縮小推定と変数選択
Elastic Net - Lasso に変わる新たな手法
SPCA - スパース主成分分析
まとめ
今後の研究について
20 / 87
線形回帰モデル
一般的に線形回帰法は目的変数 Yn×1 を、説明変数 Xn×p = (X1, ..., Xp)
の線形結合で説明する方法である。
f(X) = β0 +
p
j=i
Xjβj (9)
教師データが与えられたときに、パラメータ β の推定量は、残差二乗和
(RSS)の最小化によって得られる。
残差二乗和は、以下のように表される。
RSS(β) =
N
i=1
(yi − f(xi))
=
N
i=1
⎛
⎝yi − β0 −
p
j=1
xijβj
⎞
⎠
2
= (y − Xβ)T
(y − Xβ)
21 / 87
線形回帰モデル
最小自乗推定量 (OLSE)
推定量 ˆβ は、RSS(β) を β で偏微分したものを 0 とおけば
よい。
ˆβ = (XT
X)−1
XT
y (10)
Y の推定量は、β を用いて
ˆy = X ˆβ = X(XT
X)−1
XT
y = Hy (11)
H は X の張る線形部分空間への射影行列である。
推定量の検定
残差に正規性を仮定する。
回帰係数の推定値が 0 であるかの仮説検定を行うことがで
きる
22 / 87
例:前立腺ガンデータ
説明変数。目的変数は前立腺のある抗体 の量の対数をとったもの。
目的変数:前立腺のある抗体の量の対数をとったもの
説明変数:8 つの臨床的な尺度(腫瘍の重さなど)
23 / 87
例:前立腺ガンデータ
回帰した結果は、以下のようになる。
有意な変数は lcavol, lweight, svi である。
これ以外は t 検定の結果、有意ではない。
Figure: 回帰した結果
24 / 87
回帰モデルの重要な視点
すべての変数を取り込んだモデルでは、十分ではない理由.
モデル解釈の側面:
- 変数の数が多い場合、強い影響を持つ変数でモデルを構築したい。
- 細かな部分を切り捨て、外観を捉えたい。
- 変数選択法(Subset Selection)
モデルの予測精度
- すべてのデータを用いた最小自乗推定量は予測精度が悪い
- 縮小推定法(Shrinkage Method)
25 / 87
変数選択法
最良変数選択法
全ての変数の組み合わせのモデルを対象にする
各モデルの基準量を計算しその中で良いモデルを選択する方法。
ただし、計算量の問題がある。p ≈ 40 が限界。
基準には、AIC が使われることが多い。
ステップワイズ法(増加・減少・増減)
null モデルから始めて、ある基準に基づいて変数を1つずつ加える
(増加法)
フルモデルから始めて、ある基準に基づいて変数を1つずつ減ら
す(減少法)
収束するまでアルゴリズムをまわす。
基準には、F 値, AIC が使われることが多い。
26 / 87
縮小推定法
縮小推定法(Shrinkage Method)とは?
変数選択法は、変数を捨てることで「解釈しやすい」モデルを提供
する。
縮小推定法は、変数を取捨選択するのではなく、「回帰係数の推定
値」を縮小して推定する。
一般的には「正則化法」といい、モデルがデータへ over-fit するこ
とを防ぎ、推定値を安定化させる。
良く知られているものには「リッジ回帰」がある。(L2 正則化法と
も呼ばれる)
27 / 87
縮小推定法|リッジ回帰
リッジ回帰(Ridge Regression)とは?
Hoerl and Lennnard(1970) で提案された手法。
回帰係数を求める際に XT
X を XT
X を XT
X + λI に置き換える
というアイデア。
ˆβ = (XT
X)−1
XT
y → ˆβridge = (XT
X + λI)−1
XT
y (12)
推定量は、残差二乗和にペナルティー(正則化項)を付けることに
対応する。
ˆβridge = arg min
β
⎧
⎪⎨
⎪⎩
N
i=1
⎛
⎝yi − β0 −
p
j=1
xijβj
⎞
⎠
2
+ λ
p
j=1
β2
j
⎫
⎪⎬
⎪⎭
= arg min
β
(y − Xβ)T
(y − Xβ) + λ||β||2
2 (13)
28 / 87
縮小推定法|リッジ回帰
同等な式として、次のものがある。
ˆβridge = arg min
β
||y − Xβ||2
, subject to
p
j=1
β2
j ≤ t. (14)
ベイズ的な解釈
最小自乗法は、尤度 yi|β ∼ N(β0 + xiβ, σ2
)、β に無情報事前分布
を仮定した場合の、事後分布 β|y の最大化問題に対応する。
リッジ回帰は、尤度 yi|β ∼ N(β0 + xiβ, σ2
)、事前分布
β ∼ N(0, τ2
) としたとき、事後分布 β|y の最大化問題に対応する。
また、λ = σ2
/τ2
である。
29 / 87
縮小推定法|リッジ回帰
リッジ回帰の主成分分析的な解釈
X の特異値分解 X = UDV T
を考える.
U : N × p, V : p × p の直交行列.D : p × p の対角行列.
X ˆβols = X(XT
X)−1
XT
y
= UUT
y
=
p
j=1
ujuT
j y
X ˆβridge = X(XT
X + λI)−1
XT
y
= UD(D2
+ λI)DUT
y
=
p
j=1
uj
d2
j
d2
j + λ
uT
j y
30 / 87
縮小推定法|リッジ回帰
リッジ回帰が回帰係数を縮小して推定していることがわかる。
XT
X = V D2
V T
において、vj は行列 X の第 j 番目の主成分。
リッジ回帰の推定量は、主成分方向に縮小を行い、分散が小さい方
向ほど大きな縮小がかかる。
31 / 87
ここまでのまとめ
一般的に線形回帰法は目的変数 Yn×1 を、説明変数 Xn×p = (X1, ..., Xp)
の線形結合で説明する方法である。このような方法のうち最も基本的な
ものの1つは、最小二乗法 (OLS 法) であり、OLS 法を利用した回帰係
数の推定値 (OLS 推定量) は以下のように表される。
ˆβ(OLS) = (XT
X)−1
XT
y (15)
回帰における重要な 2 つの視点
データの予測精度 - 学習データで構築したモデルが、未知のデー
タが得られたとき、結果をどの程度の精度で予測できるか。
モデルの解釈 - 目的変数と説明変数の関係性をみるために、目的
変数に対して影響の大きい説明変数のみで、モデルを構築できて
いるか。
一般的に、OLS 推定量は両方の面で優れていない。→ 改善策
32 / 87
ここまでのまとめ
一般的に線形回帰法は目的変数 Yn×1 を、説明変数 Xn×p = (X1, ..., Xp)
の線形結合で説明する方法である。このような方法のうち最も基本的な
ものの1つは、最小二乗法 (OLS 法) であり、OLS 法を利用した回帰係
数の推定値 (OLS 推定量) は以下のように表される。
ˆβ(OLS) = (XT
X)−1
XT
y (15)
回帰における重要な 2 つの視点
データの予測精度 - 学習データで構築したモデルが、未知のデー
タが得られたとき、結果をどの程度の精度で予測できるか。
モデルの解釈 - 目的変数と説明変数の関係性をみるために、目的
変数に対して影響の大きい説明変数のみで、モデルを構築できて
いるか。
一般的に、OLS 推定量は両方の面で優れていない。→ 改善策
32 / 87
ここまでのまとめ
予測精度の向上
リッジ回帰:回帰係数の L2 ノルムの 2 乗に制約を加え、残
差二乗和を最小化する
利点:回帰係数を縮小推定することで予測精度が向上する
欠点:説明変数をすべてモデルに取り込む
説明変数の選択
変数増加法・変数減少法・最良変数選択法:AIC などを基準
にして、逐次説明変数を選択しモデルを構築する。
利点:説明変数が少ないモデルを構築することができる。
欠点:連続的な説明変数の選択ができない。
欠点:計算コストが大きい。
33 / 87
ここまでのまとめ
予測精度の向上
リッジ回帰:回帰係数の L2 ノルムの 2 乗に制約を加え、残
差二乗和を最小化する
利点:回帰係数を縮小推定することで予測精度が向上する
欠点:説明変数をすべてモデルに取り込む
説明変数の選択
変数増加法・変数減少法・最良変数選択法:AIC などを基準
にして、逐次説明変数を選択しモデルを構築する。
利点:説明変数が少ないモデルを構築することができる。
欠点:連続的な説明変数の選択ができない。
欠点:計算コストが大きい。
33 / 87
導入 - 回帰モデルとは何か?
線形回帰モデル, 変数選択法, 縮小推定法
Lasso - L1 型正則化による、縮小推定と変数選択
Elastic Net - Lasso に変わる新たな手法
SPCA - スパース主成分分析
まとめ
今後の研究について
34 / 87
Lasso - L1 正則化
Lasso とは
Lasso:Least Absolute Shrinkage and Selection Operator
Tibshirani(1996)
回帰係数の L1 ノルムに制約を課したもとで、残差二乗和を
最小化する。
特徴
回帰係数を縮小推定し、その過程で変数の選択を行う。
回帰法の 2 つの重要な視点を同時に満たすような手法の 1 つ。
35 / 87
Lasso - L1 正則化
定義 (Lasso)
Xn×p は説明変数の行列。説明変数はそれぞれ標準化されている。
yn×1 は目的変数のベクトル。平均が 0 に調整されている。
Lasso の推定量は、λ > 0 のもとで
ˆβ(Lasso) = arg min
β
||y − Xβ||2
+ λ|β|1 , |β|1 =
p
j=1
|βj| (16)
または、
ˆβ(lasso) = arg min
β
||y − Xβ||2
, subject to
p
j=1
|βj| ≤ t. (17)
36 / 87
Lasso - L1 正則化
p=2 の場合の Lasso の性質
簡単のため、説明変数の個数を 2 つとする
説明変数を x1, x2 とし、相関係数を xT
1 x2 = ρ とする。
ここで、ˆβ1(ols) > 0, ˆβ2(ols) > 0 とすると、Lasso の推定量は、(17)
から、以下のように得られる。
ˆβ1 = ˆβ1(ols) −
λ
2(1 + ρ) +
ˆβ2 = ˆβ2(ols) −
λ
2(1 + ρ) +
ただじ、x+ は x > 0 のとき x、x ≤ 0 のとき 0 とする。
Lasso は各回帰係数を同じ大きさだけ減らして推定する。
減らした結果 0 以下になった推定量を 0 にする。
λ の値によって、縮小推定をしながら、変数選択をする性質を持つ。
37 / 87
Lasso - L1 正則化
p=2 の場合の Lasso の性質
上のスライドの結果と ˆβ1 + ˆβ2 = t を用いると、ρ を式から消去す
ることができて、Lasso の推定量は
ˆβ1(lasso) =
t
2
+
ˆβ1(ols) − ˆβ2(ols)
2
+
ˆβ2(lasso) =
t
2
−
ˆβ1(ols) − ˆβ2(ols)
2
+
Lasso の推定量は説明変数間の相関の影響を受けない
38 / 87
Lasso - Least Angle Regression
Lasso を解くためのアルゴリズム:LARS 法
Lasso を数値に解くことためには、計算コストが大きく
O(2p)(指数時間)である (Tibshirani 1996)
Lasso が扱う問題は p が大きい事例が多いので、指数的に計
算量が大きくなる方法では対応できない。
LARS(Efron 2004) のアルゴリズムは計算コスト O(p3 + np2)
(多項式時間)で解くことができる。
LARS : Least Angle Regression
詳しくは卒論に書いてありますが、今回は紹介に留めます。
39 / 87
Lasso - シュミレーション
シュミレーション : Lasso の性質の確認
以下に従う、2 つの独立な乱数を 100 個生成する。
z1 ∼ U(0, 20) z2 ∼ U(0, 20)
これらの潜在的な変数を用いて、観測された説明変数を次のよう
に定義する。
x1 = z1 + ϵ1 x2 = −z1 + ϵ2 x3 = z1 + ϵ3
x4 = z2 + ϵ4 x5 = −z2 + ϵ5 x6 = z2 + ϵ6
また、目的変数ベクトルを y = z1 + 0.1 × z2 + ϵ7 とする
ϵi は観測誤差である。標準正規分布から、乱数を 100 個生成した。
データ (X, y) に Lasso を当てはめて推定値求めると次の図になる。
40 / 87
Lasso : シュミレーション結果
Figure: 左図:Lasso の解のパス図:横軸は |β|1/ max |β|1 の大きさ (制約
の大きさ)、縦軸は回帰係数の推定量
41 / 87
Lasso の課題
Lasso の問題点
p ≫ n 問題 (West et al. 2001):p ≫ n の状況において、説明
変数が p 個あった場合でも、Lasso が選択できる説明変数の個
数は n 個である(分散共分散行列のランクが n になるため)。
グループ化効果がない:Lasso は変数間の相関を考慮できな
い。高い相関を持ついくつかの変数があるとき、それらをグ
ループ化された変数とよび、Lasso は、その中から 1 つしか
モデルに取り込むことはできない。
n > p での問題:説明変数間の相関が高い場合には、グルー
プ化変数を無視する性質によってリッジ回帰よりも予測精度
が悪くなることがある。
42 / 87
Lasso の課題
Lasso が課題になる具体的な例
白血病の人の遺伝子データ, Golub et al. Science(1999)。
データのサンプル数 72 個, 説明変数の数 7129 個.(p ≫ n
問題)
遺伝子データでは、一般的に p ≈ 10000 で、サンプル数
n < 100 である。
遺伝子データでは、一般的に遺伝子同士の結合 (”Pathway”)
が似通っていることから、説明変数同士の相関が高いことが
多く、グループ化された変数が存在する。
→ 解決策の1つとして、(Na¨ıve) Elastic Net がある。
43 / 87
導入 - 回帰モデルとは何か?
線形回帰モデル, 変数選択法, 縮小推定法
Lasso - L1 型正則化による、縮小推定と変数選択
Elastic Net - Lasso に変わる新たな手法
SPCA - スパース主成分分析
まとめ
今後の研究について
44 / 87
Elastic Net
定義 (Na¨ıve Elastic Net : Na¨ıve ENet)
λ1 > 0, λ2 > 0 として、
ˆβ(Naive ENet) = arg min
β
||y − Xβ||2
+ λ2||β||2
+ λ1|β|1
または、0 ≤ α ≤ 1 として、これと同値な式
ˆβ(Naive ENet) = arg min
β
||y −Xβ||2
, s.t. (1−α)|β|1 +α||β||2
≤ t (18)
を Na¨ıve ENet の推定量と定義する。
Na¨ıve ENet の特徴
λ1 → 0 とするとリッジ回帰.λ2 → 0 とすると Lasso になる.
推定量の計算は、次のスライドのように定義の式を変形すること
で Lasso と同様に LARS で解くことができる。
45 / 87
Elastic Net
Na¨ıve ENet の解法
まず、以下のように X∗
と、y∗
を定義する。
X∗
(n+p)×p = (1 + λ2)−1/2 X√
λ2Ip
y∗
(n+p) =
y
0
(19)
ここで、γ = λ1/ (1 + λ2), β∗
= (1 + λ2)β とすると、次が成り立つ
ため Lasso 同様に LARS 法で解くことができる。
ˆβ(Naive ENet) = arg min
β
||y∗
− X∗
β∗
||2
+ γ|β∗
|1
以上より、
ˆβ(Naive ENet) =
1
√
1 + λ2
ˆβ∗
(19) から、X のランクが p になり、p ≫ n 問題を解消できること
が示される。
46 / 87
Elastic Net 続き : グループ化効果
一般的に罰則付きの最小 2 乗推定量は、J(β) を罰則項として次のように表される。
ˆβ = arg min
β
|y − Xβ|2
+ λJ(β) (20)
ここで、β = (β1, · · · , βi, · · · , βj, · · · , βp)、β
′
= (β1, · · · , βj, · · · , βi, · · · , βp) とし
て、J(β) = J(β
′
) が成立することを仮定する。すると、次の補題が示せる。
補題
xi = xj (i, j ∈ 1, 2, · · · , p) であると仮定する。
(a) J(·) が狭義凸関数であるならば、 ˆβi = ˆβj が全ての λ > 0 に対して成り立つ。
(b) J(β) = |β|1 であるならば、ˆβi
ˆβj ≥ 0 かつ、 ˆβ∗ は方程式 (7) の異なる最小の値であ
り、全ての s ∈ [0, 1] に対して、以下が成立する。
ˆβ∗
k =
⎧
⎨
⎩
ˆβk if k ̸= i and k ̸= j,
(ˆβi + ˆβj) · (s) if k = i
(ˆβi + ˆβj) · (1 − s) if k = j
→ Lasso の罰則はグループ化効果を持たないことが示せる。一方の Elastic Net の罰則は
グループ化効果を持つことが示唆される。
47 / 87
Elastic Net 続き : グループ化効果
定理
データセット (y, X) とパラメータ (λ1, λ2) が与えられたとき、
ˆβ(λ1, λ2) を Na¨ıve elastic net の推定量とする。ここで、
ˆβi(λ1, λ2)ˆβj(λ1, λ2) > 0 と仮定し、以下で Dλ1,λ2 (i, j) を定義
する。
Dλ1,λ2 (i, j) =
1
|y|1
|ˆβi(λ1, λ2) − ˆβj(λ1, λ2)|
このとき、ρ = xT
i xj(xi と xj の相関係数) とすると、以下が成り
立つ。
Dλ1,λ2 (i, j) ≤
1
λ2
2(1 − ρ)
相関係数によって係数の差の絶対値は押さえ込まれる。ρ = 1
とすると、2 つの回帰係数の推定量が一致することがわかる。
→ Na¨ıve ENet はグループ化効果を持つ。
48 / 87
Elastic Net 続き : シュミレーション (続き)
Figure: 左:Lasso.右:Erastic Net — 横軸は |β|1/ max |β|1 の大きさ、縦
軸は回帰係数の推定量。Lasso には、グループ化効果は見て取れないが、
Elastic Net からはグループ化効果確認できる
49 / 87
Elastic Net 続き
Na¨ıve ENet の課題と Elastic Net の定義
課題:経験的に、Na¨ıve ENet は良いパフォーマンス示さない
ことが知られている。
原因:リッジ回帰と Lasso のによって、回帰係数の推定値が
2 重に縮小されているため。
対処:リッジ回帰の回帰係数の縮小分である 1/(1 + λ2) をリ
スケーリングで解消。
以下を、Elastic Net の推定値とする。
ˆβ (ENet) = (1 + λ2) ˆβ (Na¨ıve ENet) (21)
→ 具体的な解析結果へ
50 / 87
具体的な解析:前立腺がんのデータより
8 つの臨床的尺度を説明変数。目的変数は前立腺のある抗体
の量の対数をとったもの。
Table: 前立腺がんのデータ:各方法別の比較
Method Parameter Test Prediction Error Variables Selectied
OLS 0.522 すべて
リッジ回帰 λ = 1 0.517 すべて
Lasso s = 0.35 0.471 (1,2,4,5,8)
Na¨ıve elastic net λ = 1, s = 0.74 0.450 (1,2,4,5,6,7,8)
Elastic net λ = 1000, s = 0.18 0.349 (1,2,5,6,8)
λ はリッジの罰則の重みを表し、s は LASSO の罰則の重みを
表している。また、λ > 0、0 < s < 1 である。
このケースにおいては、Elastic Net は他のどの方法よりも優
れた結果を残している。
51 / 87
推定値のパス図
Figure: 左図:Lasso の解のパス図.右図:Elastic Net の解のパス図
52 / 87
音声認識への応用
音声認識とは
音素認識 (音声認識) は、ヒトの話す音声言語をコンピューターによって解析し、話
している内容を文字データとして取り出す方法。
具体的には、大量の発話を記録した学習用データから音声の特徴を蓄積し、入力さ
れた音声信号と、蓄積された特徴を比較して、最も特徴の近い文字を認識結果とし
て出力する
モチベーション
音素判別における課題:波形が類似している 2 つの音を分離する場合、分離精度が
悪くなる。
今回は機械で見分ける上で難しいとされる”aa”と”ao”という 2 つの音を、回帰法
によって分離する。その際、用いた手法の 精度を比較と、 特徴の抽出ができてい
るかを確認する。
用いる手法は、最小自乗法、リッジ回帰、変数増加法、LASSO、Elastic Net。
53 / 87
音声データの解析
データと解析手法
50 名の男性の連続的な発話から、”aa”の音声データと、”ao”の音
声データを抽出した、それぞれのサンプル数は 695 個と 1022 個で
ある。
説明変数は各周波数毎で、256 個ある。目的変数は以下のように
した。
Y =
1 (音声データが”aa”であるとき)
0 (音声データが”ao”であるとき)
各手法の分離精度は、”aa”と”ao”のデータをランダムに 4 分割し、
3 つを学習用データ、1 つをテスト用データとするクロスバリデー
ション法を用いて、平均正答率で測る。
また、特徴の抽出においては、全データを用いてモデルを構築する
際に取り込まれる説明変数を、そのモデルが取り込む選択する特
徴とした。
54 / 87
音声データの解析結果
解析結果:予測精度
解析結果を見ると、説明変数を選択する手法を用いた方が、
分離能力は向上することがわかる。
説明変数を選択する手法の中でも、変数増加法よりも
LASSO 及び、(Na¨ıve)ENet の方がより予測精度ではより良い
パフォーマンスを示している。
Table: 音素解析:方法別の結果比較
手法 パラメータ 正答率 選択された変数の数
最小二乗法 0.698 すべて
変数増加法 0.768 47
リッジ回帰 λ = 2.0 0.704 すべて
Lasso s = 0.09 0.794 32
Na¨ıve elastic net λ = 1, s = 0.31 0.797 43
Elastic net λ = 1000, s = 0.30 0.808 42
55 / 87
音声データの特徴の抽出
特徴の抽出とは
特徴集合(説明変数)のうち、”意味のある”部分集合だけを選択する手法。今回のケース
では、音声のどの部分が分離する際のポイントとなる箇所をきちんとモデルに組み込めて
いるかをみている。
Figure: ”aa”と”ao”の音素の Log-Periodgram を 100 個ずつプロット
している。ここでは、40-70 の周波数の領域が音声データの特徴として
みることができる。
56 / 87
音声データの解析結果
解析結果:音声データの特徴の抽出
変数増加法は、音声の特徴をうまく抽出できていない。
LASSO, (Na¨ıve) ENet は音声の特徴を抽出しているが、
LASSO はグループ化効果を持たないため、特徴に取りこぼ
しがある。
ENet, Na¨ıve ENet は特徴をを取りこぼしなくモデルに取り込
んでいる。
Table: 音素解析:用いた 4 つの変数選択法で選択された変数
手法 選択された変数
変数増加法 2 4 8 9 12 13 21 22 30 32 38 40 41 42 48 55 56 58 60 63 67 71 77 80 122 124 153
154 159 161 176 180 182 185 187 197 200 201 204 218 224 226 227 231 242 251 256
Lasso 4 23 37 40 42 43 44 45 47 48 49 53 59 62 63 64 65 93 103 132
141 152 167 184 211 222 223 231 234 235 238 241
Na¨ıve elastic net 9 19 23 26 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
57 58 59 60 61 62 63 64 65 66 69 85 92 100 109 224 227 228 231 247
Elastic net 4 23 37 38 39 40 41 42 43 44 45 46 47 48 49 52 53 54 55 56 57 58 59 60 61 62 63 64
65 79 221 223 231 232 234 236 246 251 253 254 255 256
57 / 87
ここまでのまとめ
データ解析で説明変数が多いケースでは、予測精度の向上と、解釈
可能なモデルの構築がしばしば重要になる。
Lasso は、説明変数の選択を行い、説明変数が少ないモデルを構築
する。
Lasso は、欠点としてグループ化された変数を取り込むことができ
ず、予測精度が下がることがある。
Lasso は、性質上、p ≫ n 問題には対応できない。
Elastic Net は、上記の負の側面を解消することで、予測精度を向上
させる一方、変数を選択し解釈可能なモデルを与える。
Elastic Net は特徴を抽出の点からも、優れた結果を残すことが音
素解析の事例から理解できた。遺伝子解析分野への応用が期待で
きる。
58 / 87
導入 - 回帰モデルとは何か?
線形回帰モデル, 変数選択法, 縮小推定法
Lasso - L1 型正則化による、縮小推定と変数選択
Elastic Net - Lasso に変わる新たな手法
SPCA - スパース主成分分析
まとめ
今後の研究について
59 / 87
Sparse Principal Component Analysis
Sparse Principal Component Analysis
スパース主成分分析
60 / 87
Background — Principal Component Analysis
主成分分析は、外的基準のない多次元データの基本的な解析
法(教師なし学習法の 1 つ)
p 個の変数がある場合に、それらの持つ情報をある m 個の合
成指標に縮約する手法の1つ。
実際の応用では、新たな合成指標の解釈を考えて、その解釈
をもとに個体の特徴を分析する。
例としては、よく 5 教科の試験の得点をもとに、学生を分類
する事例が出される。
この他、画像解析、遺伝子解析などのデータを分類・特徴づ
けする際に用いられている。
61 / 87
Background — Problem Principal Component Analysis
主成分分析の課題は、変数が多くなるときに軸の解釈が困難にな
ることがあげられる。
”Two Case Studies in the Application of Principal Component
Analysis”(J.N.R.Jeffers 1987)
主成分分析の結果解釈の困難性が指摘。
理解を助けるため、”ワイン”のデータを用いて PCA と SPCA の違
いを理解する
62 / 87
Data — Wine
今回用いるデータは 2 つある。
イタリアの同じ地域で栽培される異なる3つのブドウの品種から
作られたワインの科学成分のデータ。(wine)
標本数:178 個, 変数: 13 個.各変数は科学成分の濃度やアルコール
の強さなどを示す.
各ワインには、正解のクラスが与えられている。(全クラスサンプ
ル数はほぼ同じ)
63 / 87
Data — Principal Component Analysis
wine1 のデータを用いて、各クラスの傾向、次元を縮約して確認し
たい。
主成分分析を、wine1 のデータに対して実行する(用いるのは相関
行列)。
64 / 87
Data — Principal Component Analysis
Figure: PCA Analysis for wine data
65 / 87
Data — Principal Component Analysis
Variable Comp.1 Comp.2 Comp.3 Comp.4
Alcohol -0.14 -0.48 -0.21 -0.02
Malic acid 0.25 -0.22 0.09 0.54
Ash 0.00 -0.32 0.63 -0.21
Alcalinity of ash 0.24 0.01 0.61 0.06
Magnesium -0.14 -0.30 0.13 -0.35
Total phenols -0.39 -0.07 0.15 0.20
Flavanoids -0.42 0.00 0.15 0.15
Nonflavanoid phenols 0.30 -0.03 0.17 -0.20
Proanthocyanins -0.31 -0.04 0.15 0.40
Color intensity 0.09 -0.53 -0.14 0.07
Hue -0.30 0.28 0.09 -0.43
diluted wines -0.38 0.16 0.17 0.18
Proline -0.29 -0.36 -0.13 -0.23
Adj Variance(%) 36.2 19.2 11.1 7.1
Cum Adj Variance(%) 36.2 55.4 66.5 73.6
66 / 87
Problem — Principal Component Analysis
Is it interpretable?? , unn...it’s difficult
結果の解釈をする際には、主成分ベクトルをスパース化したい!
しかし、主成分分析は「回帰」ではないが...
主成分分析は、「リッジ回帰の問題」として定式化できる。
よって、L1 正則化項によって elastic net の問題へ帰着.
67 / 87
Theory — Principal Component Analysis
X ∈ Rn×p
として、X の特異値分解を X = UDV T
とする。
このとき、UD を主成分、V を主成分に対応する”loadings”と呼ぶ。
PCA は、情報のロスが最小になるように主成分を構成する.
主成分同士は無相関であり、”loadings”同士は直交する.
別の定式化は...
ak = arg max aT
k (XT
X)ak (22)
subject to aT
k ak = 1 and aT
h ak = 0(j ̸= k) (23)
ここに追加で、以下の罰則をかけると SCoTLASS という方法にな
る.(計算量が爆発する)
p
j=1
|akj| ≤ t (24)
68 / 87
Rewrite — Principal Component Analysis
実は、PCA は Zi = UiDii としてリッジ回帰で書き直すことがで
きる。
ˆβridge = arg min
β
||Zi − Xβ||2
2 + λ||β||2
2 (25)
この解は
ˆβridge = (XT
X + λI)−1
XT
(XVi) = Vi
Dii
D2
ii + λ
(26)
となるので、
ˆvi = ˆβridge/||ˆβridge|| = Vi (27)
これによって、PCA とリッジ回帰と対応させることができた。
69 / 87
Why Ridge Fomura? — Principal Component Analysis
リッジ回帰にしている理由は?
n > p で、X がフルランクの場合には、λ = 0 としても問題はない。
n < p の場合が問題で、回帰の解が一意に定まらなくなる。
(XT
X) の逆行列が存在しない。
一方で、n < p の場合に PCA の解は一意に定まるのでここの対応
を考える必要がある。
よって、リッジ回帰にするのが妥当.
70 / 87
Define — Sparse Principal Component Analysis
よって、先ほどの式に L1 正則化を行うと、
ˆβridge = arg min
β
||Zi − Xβ||2
2 + λ||β||2
2 + λ1||β||1 (28)
これによって、ˆβ がスパースな解として求まる。
この解は naive enet の解であるが、ˆvi はリスケーリングを施すの
で気にする必要はない。
これを解く方法は、LARS-EN(Zou and Hastie 2005) で提案されて
いる.
71 / 87
Sparse Principal Components based on the SPCA
Criterion1
しかしながら、先ほどの方法では主成分は PCA のまま UiDii であ
る。これを推定する方法を次に提案する。
2 段階の探索的な解析を行い、スパース PCs の近似を与える。
定理
第 1 主成分から、第 k 主成分までを考える。ここで、
Ap×k = [α1, · · · , αk]、Bp×k = [β1, · · · , βk] とすると、すべての λ > 0
に対して、AT
A = Ik×k の条件の下で、
( ˆA, ˆB) = arg min
A,B
n
i=1
||xi − ABT
xi||2
+ λ j = 1k
||βj||2
(29)
を解くと、ˆβj ∝ Vj (j = 1, · · · , p) となる。
72 / 87
Sparse Principal Components based on the SPCA
Criterion2
ここで、以下の等式に注意すると、
n
i=1
||xi − ABT
xi||2
= ||X − XBAT
||2
F (30)
A は直交行列なので、シュミットの直交化で正規直交基底行列 A⊥
を取り、直交行列 [A; A⊥]p×p を作ることができる。
すると、上記の右辺は次のように変形できる。
||X − XBAT
||2
F = ||XA⊥||2
F + ||XA − XB||2
F
= ||XA⊥||2
F +
k
j=1
||Xαj − Xβj||2
F
よって、次の式を最小化すれば解を得る
73 / 87
Sparse Principal Components based on the SPCA
Criterion3
A が与えられたもとで、最適な B は、次を最小化することで得ら
れる。
arg min
B
k
j=1
||Xαj − Xβj||2
+ λ||βj||2
つまり、k 個の独立したリッジ回帰の問題を解くことと同じである。
そして、この式に AT
A = Ik の条件の下で、L1 正則化を行った結
果がスパース主成分分析の解になる。
( ˆA, ˆB) = arg min
A,B
n
i=1
||xi − ABT
xi||2
+ λ
k
j=1
||βj||2
+
k
j=1
λ1,j||βj||1
(31)
74 / 87
Numerical Solution1
A が与えられたもとでの B の最小化
各 j に対して、Y ∗
j = Xαj とする。このとき、 ˆB は elastic net の推
定量となる。
ˆβj = arg min
βj
||Y ∗
j − Xβj||2
+ λ||βj||2
+ λ1,j||βj||1 (32)
B が与えられたもとでの A の最小化
B が与えられているとき罰則項は無視することができる。
AT
A = Ik×k のもとで次式を最小化すればよい。
n
i=1
||xi − ABT
xi||2
= ||X − XBAT
||2
(33)
この解は、Procrustes rotation によって与えられる。
(XT
X)B = UDV T
と特異値分解を行うと、 ˆA = UV T
となる。
75 / 87
アルゴリズム — Numerical Solution2
1. A に初期値 V [, 1 : k](k 個の主成分)を与える.
2. A を固定して、B について elastic net の問題を j = 1, 2, · · · , p につ
いて解く.
ˆβj = arg min
βj
||Y ∗
j − Xβj||2
+ λ||βj||2
+ λ1,j||βj||1 (34)
3. B を固定して、XT
XB を特異値分解して、UDV T
を求めて、
A = UV T
で更新する.
4. 2 と 3 のステップを収束するまで繰り返す。
5. ˆVj =
βj
||βj || (j = 1, · · · , k) を計算し、主成分ベクトルを求める。
76 / 87
全分散の調整 — Adjusted Total Variance
1. スパース化したため、各主成分は相関しており、”loadings”は直交
しない。
2. そのため、全分散は各主成分ベクトルの分散の和として表すこと
ができない。
3. 以下では、SPCA で求めた主成分を ˆZi として全分散の計算方法を
考える。
4. ˆZi(i = 1, · · · , k) が求められていて、Zk+1 の分散を考える場合に
は、各 ˆZi(i = 1, · · · , k) が Zk+1 に与える影響を取り除いた分散を
考えれば良いので、 ˆZi(i = 1, · · · , k) で構成される射影行列を
H1,··· ,k とすると、
ˆZk+1·1,··· ,k = ˆZk+1 − H1,··· ,k
ˆZk+1 (35)
5. が調整済みの主成分となり、この分散を計算すれば良いことにな
る。つまり、全分散は
k
j=1
|| ˆZj·,1,··· ,j−1||2
(36)
77 / 87
Example — Sparse PCA
Figure: Sparse PCA Analysis for wine data
78 / 87
Example — Sparse PCA
Variable PC1 PC2 PC3 PC4
Alcohol 0.00 0.55 0.00 0.00
Malic acid 0.00 0.00 0.00 -0.74
Ash 0.00 0.05 0.79 0.00
Alcalinity of ash 0.00 -0.09 0.61 0.00
Magnesium 0.00 0.33 0.00 0.00
Total phenols -0.41 0.00 0.00 0.00
Flavanoids -0.57 0.00 0.00 0.00
Nonflavanoid phenols 0.28 0.00 0.09 0.00
Proanthocyanins -0.36 0.00 0.00 0.00
Color intensity 0.00 0.54 0.00 0.00
Hue -0.11 0.00 0.00 0.68
diluted wines -0.54 0.00 0.00 0.00
Proline -0.04 0.54 0.00 0.00
Number of non zero 7 6 3 2
Adj Variance(%) 27.7 16.8 10.9 7.5
Cum Adj Variance(%) 27.7 44.5 55.4 62.9 79 / 87
まとめ — Sparse PCA
【利点】
スパース主成分分析は、主成分を解釈するという視点からは
有用であることがわかる。
変数の選択によって、重要な情報を抽出しやすくなる。
【課題】
分散の犠牲。分散のロスは情報のロス。
L1 罰則項の決定方法が不明確(L1 正則化全体の課題).
【応用】
遺伝子発現の解析
マーケティングデータの解析... など
80 / 87
導入 - 回帰モデルとは何か?
線形回帰モデル, 変数選択法, 縮小推定法
Lasso - L1 型正則化による、縮小推定と変数選択
Elastic Net - Lasso に変わる新たな手法
SPCA - スパース主成分分析
まとめ
今後の研究について
81 / 87
まとめ
今回は、回帰の基本的なお話から、L1 正則化法までをお話し
しました。
L1 正則化が本格的に使われ始めたのは、LARS(Efron et., al
2004) のアルゴリズムがつくられた以降で、未だ発展段階。
L1 正則化は、「変数の選択」と「予測精度の向上」の両方を
同時に達成する手法で解釈可能なモデルを与えるという点が
優れている。
一方で、課題も存在しており計算量の多さと、「チューニング
パラメータ」の選択法については未だ定まった方法はない。
今後、上記のような課題は抱えつつも、優れた側面を持つ L1
正則化は現場で遺伝子の発現解析や、マーケティングデータ
の予測への応用が期待されている。
また L1 正則化には、様々な応用手法が提案されており、興味
のある方は Regression Shrinkage and selection via the lasso:
a retrospective(Tibshirani 2011) に概要が記されている。
82 / 87
導入 - 回帰モデルとは何か?
線形回帰モデル, 変数選択法, 縮小推定法
Lasso - L1 型正則化による、縮小推定と変数選択
Elastic Net - Lasso に変わる新たな手法
SPCA - スパース主成分分析
まとめ
今後の研究について
83 / 87
終わりに
今日は、卒業論文で研究した L1 正則化について詳しくお話しをし
ました.
少々早口で、聞き取りにくかった箇所があるかと思いますが、ご容
赦ください。
今後の研究や活動など
現在の研究は、遺伝子発現のデータからどのようにして「ノイズ」
と「意味のあるシグナル」を分離するのかという研究をしていま
す。用いているのは、GLM や LMM などです。
次回は遺伝子発現関連の、お話をさせていただく予定です
最近は、現場に入って医療データの解析(年間医療費予測・検診
データによる患者のクラスタリングなど...)をやってます。
84 / 87
参考文献
B. Efron, T. Hastie, I. Johnstone, R. Tibshirani (2004).
LEAST ANGLE REGRESSION
H. Zou and T. Hastie (2005). Regularization and variable
selection via the elastic net
H. Zou, T. Hastie, and R. Tibshirani (2006). Sparse principal
component analysis.
R. Tibshirani (1996). Regression Shrinkage and Selection via
the Lasso
T. Hastie, R. Tibshirani, J. Friedman (2009). The Elements
of Statistical Learning 2nd Edition
G. James, D. Witten, T. Hastie R. Tibshirani (2014). An
Introduction to Statistical Learning
85 / 87
ご清聴ありがとうございました
86 / 87
補足 - パス図の見方
87 / 87

20140514_水曜セミナー発表資料_中村知繁