統計的学習の基礎_3章
Recruit Technologies
ビッグデータ部
田口正一
自己紹介
• 名前:田口正一
• 所属:リクルートテクノロジーズ ビッグデータ部
• 趣味:サッカー、TVゲーム、音楽、モデリング、キャンプ
• 最近の興味:bandit問題、mastodon、ロマサガ3リメイク、
AC milanが弱いこと、Juventusが強いこと
目次
• 3-1 :導入
• 3-2 :線形回帰モデルと最小二乗法
• 3-3 :変数選択
• 3-4 :縮小推定
• 3-5 :入力に対して線形変換を行う方法
• 3-6 :考察:選択法と縮小法の比較
• 3-7 :複数の目的変数の縮小推定と変数選択
• 3-8 :lassoと関連する解追跡アルゴリズムに関する詳細
• 3-9 :計算上考慮すべき事柄
キーワード
抜粋:
• 線形回帰
• 変数選択(stepwise)
• 係数縮小(ridge, lasso, elastic net, least angle reg.(LAR))
• 線形変換(primary component reg.(PCR),partial least square (PLS))
• 解追跡アルゴリズム(略)
3-1:導入
• 前提:線形回帰モデルは回帰係数E(Y|X)が入力に対して線形
• 今日でも線形モデルを使う機会は多いので、それを学ぶのは重要
• 訓練データが少ない、雑音が少ない、データが疎であるケースには、複雑
な非線形モデルを凌ぐ予測性能を出すことも
• 線形モデルは入力を変換した後にも適用可能(3.5で紹介)
• 以降では①回帰のための線形モデル②分類のための線形モデルを紹介
• 線形モデルの理解は非線形モデルの理解に必須
• 多くの非線形手法は線形手法を一般化することによって得られる
3-2 :線形回帰モデルと最小二乗法
• サマリ
• まずは単回帰
• ガウス=マルコフ定理を用いた回帰
• 観測値の線形結合で目的値を推定する時、残差を最小にするような最小二乗法で求め
た推定値が不偏で最小の分散を持つことを保証する定理
• 残差最小化(=yをx空間に直交射影)
• そのあと重回帰。単回帰の式をベクトルに拡張
• グラム=シュミットの直交化法を用いた重回帰を紹介
3-2 :線形回帰モデルと最小二乗法①
• 基本形:𝑓 𝑋 = 𝛽 + 𝑗=1
𝑝
𝑋𝑗𝐵𝑗
• 係数推定の最も一般的な手法は最小二乗法
• 残差二乗和 𝑅𝑆𝑆 𝛽 = 𝑦 − 𝑋𝛽 𝑇 𝑦 − 𝑋𝛽
• RSSの一次微分を0とおくと一意解 𝛽 = 𝑋 𝑇 𝑋 −1 𝑋 𝑇 𝑦 が得られる(前提:
𝑋が列フルランクであり、𝑋 𝑇 𝑋は正定値行列)
• 推定値は 𝑦 = X 𝛽 = 𝑋 𝑋 𝑇 𝑋 −1 𝑋 𝑇 𝑦(式3.7)
• 𝐻 = 𝑋 𝑋 𝑇
𝑋 −1
𝑋 𝑇
は𝑦の推定値への射影を行う、ハット行列と呼ばれる
• 𝑋が張る列空間上の 𝑦と𝑦を直交させることにより残差が最小になる
• 上記イメージは次項
3-2 :線形回帰モデルと最小二乗法②
• 右図:𝑋列空間上の 𝑦と𝑦の関係性
• 𝑋が𝑥1, 𝑥2から成るとする
• 𝑦との残差を最小化するため 𝑦と𝑦を直交させる
ような 𝛽を求める
• フルランクについての備考
• 例えば複数変数が完全に相関している場合、𝑋 𝑇
𝑋は特異行列となり、(逆行列が存在しな
いため)最小二乗法の 𝛽は一意に求められない
→相関しているものを落とせばOK
• 次元数が学習標本数を超える際にもランク落ちが発生するので、入力特徴量の削減、正
則化で対応(5.3節、18章で紹介)
• 入力Xが全部推定に有用なものじゃなきゃダメよ、という話
3-2 :線形回帰モデルと最小二乗法③
• 以上ではデータの真の分布については仮定していなかったが、 𝛽のばらつ
きを詳しく見るため、以下前提を導入
• 観測値𝑦𝑖は互いに無相関
• 𝑦𝑖は分散𝜎2を持つ
• 𝑥𝑖は固定値
• その時分散共分散行列は 𝛽 = 𝑋 𝑇 𝑋 −1 𝑋 𝑇 𝑦よりVar( 𝛽) = 𝑋 𝑇 𝑋 −1 𝜎2
• また、 𝜎2 =
1
𝑁−𝑝−1 𝑖=1
𝑁
𝑦𝑖 − 𝑦𝑖
2 この時𝐸( 𝜎2) = 𝜎2
• 分散を考慮した基本形は𝑌 = 𝛽0 + 𝑗=1
𝑝
𝑋𝑗 𝛽𝑗 + 𝜖, 𝜖~𝑁(0, 𝜎2
)
• この時 𝛽~𝑁 𝛽, (𝑋 𝑇
𝑋 −1
𝜎2
)(3.10) → 𝛽は多変量ガウス分布に従う
• 𝑁 − 𝑝 − 1 𝜎2 ~ 𝜎2 𝜒 𝑁−𝑝−1
2
(3.11) → 𝑁 − 𝑝 − 1の自由度を持つカイ二乗分布
に従う
• 𝛽と 𝜎2は統計的に独立という性質あり→仮説検定、パラメータ𝛽𝑗の信頼区
間推定に用いられる
3-2 :線形回帰モデルと最小二乗法④
• 検定の話
• 係数 𝛽𝑗=0の仮説検定にZスコア 𝑧𝑗 =
𝛽2
𝜎 𝜐 𝑗
を用いる
(𝜐𝑗 は 𝑋 𝑇 𝑋 −1の対角成分)
• 𝛽𝑗=0という帰無仮説のもと、𝑧𝑗 は𝑡 𝑁−𝑝−1(自由度𝑁 − 𝑝 − 1)のt分布に従っ
て分布、𝑍スコア(𝑧𝑗 )の絶対値が大きい時はこの帰無仮説を棄却
• 𝑧𝑗 の式中の 𝜎を既知の値𝜎で置き換えると、𝑧𝑗 は標準ガウス分布に従う
• 𝑡分布の裾の分位点と標準ガウス分布との差異は標本数が増えると無視で
きるほど小さくなるので、一般的にガウス分布の分位点が用いられる
• 右上図(3.3)はt分布(自由度30,100)とガウス分布の裾確率(0.05,0.01)における有意性
検定のための分位点を示したもの。
• 自由度が高まる=標本数増で差が無視できるレベルに到達
3-2 :線形回帰モデルと最小二乗法⑤
• 複数の係数の有意性を同時に検定したい
• ex) カテゴリ数𝑘を持つ変数をモデルから除外できるか検定
=ダミー化時の係数を全て0にできるかの検定
→F値を用いる:𝐹𝑣𝑎𝑙𝑢𝑒 =
(𝑅𝑆𝑆0−𝑅𝑆𝑆1)/(𝑝1−𝑝0)
𝑅𝑆𝑆1/(𝑁−𝑝−1)
(3.13)
𝑅𝑆𝑆0:𝑝0 + 1個の変数を持つモデルの残差二乗和。ゼロに拘束された 𝑝1 − 𝑝0個
のパラメータを持つ
𝑅𝑆𝑆1:𝑝1 + 1個の変数を持つ大きなモデルで最小二乗近似した時の残差二乗和
• F統計量は大きい方のモデルに追加されたパラメータあたりの残差二乗和
の変化であり、𝜎2の推定値で正規化されている
• 具体例は3ページ後に登場
3-2 :線形回帰モデルと最小二乗法⑥
• データがガウス分布に従っていると仮定し、小さい方のモデルは正しいと
いう帰無仮説のもので、F統計量は𝐹𝑝1−𝑝0,𝑁−𝑝1−1という分布に従う
• 𝐹𝑝1−𝑝0,𝑁−𝑝1−1の分位点は𝜒 𝑝1−𝑝0
2
/ 𝑝1 − 𝑝0 の分位点に近づく
• (3,10)から𝛽𝑗の1 − 2𝛼信頼区間として 𝛽𝑗 − 𝑧 1−𝛼 𝜐𝑗
1
2
𝜎, 𝛽𝑗 + 𝑧 1−𝛼 𝜐𝑗
1
2
𝜎 を導
出できる。𝑧 1−𝛼 はガウス分布の1 − 𝛼点
• 𝑧 1−0.025
= 1.96 → 𝛽 ± 2𝑠𝑒( 𝛽) ≅95%信頼区間
• 同様にパラメータ𝛽についても信頼集合を近似的に出せる
• 𝐶𝛽 = 𝛽 𝛽 − 𝛽
𝑇
𝑋 𝑇 𝑋 𝛽 − 𝛽 ≤ 𝜎2 𝜒 𝑝+1
2 1−𝛼
, 𝜒 𝑝+1
2 (1−𝛼)
は自由度p+1のカ
イ二乗分布の1 − 𝛼点、例えば𝜒5
2(1−0.05)
= 11.1
3-2 :線形回帰モデルと最小二乗法⑦
• 3-2-1 例:前立腺癌
• 登場する8つの変数内で、相関の強いものが存在(下表参照)
• →特性を考慮した上でのモデリングが必要
• 実施内容:
• 標準化を実施
• 学習:テストデータ数=67,30(サンプル数、ランダム振り分け)
• 前立腺特異抗原(目的値)の対数に線形モデルを当てはめ
• 最小二乗推定
3-2 :線形回帰モデルと最小二乗法⑧
• 係数の推定値、標準誤差、Zスコアを得た
• Zスコア=モデルから変数を除いた際の影響度
• Zスコア絶対値>2なら5%有意
• ※変数が8個あり、 𝑡67−9の0.025裾分位点が
± 2.002であることを根拠にしている
• lcoval, lweight, sviは重要な変数だが、lcovalをモデルに入れるとlcpは相関が強
く、重要度が下がる
• F統計量を使い、重要そうでない幾つかの変数(age, lcp, gleason, pgg45)を同時
に除去することを考える(「同時に」除去のみ検討、個別は違う結果になる)
• F値 =
(32.81−29.43)/(9−5)
29.43/(67−9)
= 1.67, P値=Pr 𝐹4,58 ≥ 1.67 = 0.17、よって有意でない
3-2 :線形回帰モデルと最小二乗法⑨
• テスト群に対するMSEは0.521
• 一方、lpsa(前立腺特異抗原、目的変数)の学習標本平均値を推定に用いた
ケースのMSE(基準誤り率)は1.057
• 線形モデルで誤り率を約50%削減できた
3-2 :線形回帰モデルと最小二乗法⑩
• 3-2-2 ガウス=マルコフ定理
• パラメータ𝛽の最小二乗推定はあらゆる線形の不偏推定量の中で最も小さ
い分散を持つ、という有名な定理がある
• 後に登場するリッジ回帰等、不偏性を持たない推定を考えるきっかけに
• パラメータ𝜃 = 𝑎 𝑇 𝛽のあらゆる線形結合の推定に焦点を当てる
3-2 :線形回帰モデルと最小二乗法.11
• 例:𝜃 = 𝑎 𝑇
𝛽の最小二乗推定は 𝜃 = 𝑎 𝑇
𝛽= 𝑎 𝑇 𝑋 𝑇 𝑋
−1
𝑋 𝑇 𝑦
• 𝑋を定数とおくと、上記は目的変数yの線形関数𝑐 𝑜
𝑇 𝑦と言える
• 線形モデルが正しいとすると、𝑎 𝑇
𝛽は不偏性を持つ
• 𝐸 𝑎 𝑇
𝛽 = 𝐸 𝑎 𝑇
𝑋 𝑇 𝑋
−1
𝑋 𝑇 𝑦
= 𝑎 𝑇
𝑋 𝑇 𝑋 −1 𝑋 𝑇 𝑋𝛽
= 𝑎 𝑇
𝛽
• ガウス=マルコフ定理:他の線形推定量𝜃 = 𝑐 𝑇
𝑦が𝑎 𝑇
𝛽に対して不偏、すな
わちE 𝑐 𝑇 𝑦 = 𝑎 𝑇 𝛽ならば次式が成り立つ
• 𝑉𝑎𝑟 𝑎 𝑇
𝛽 ≤ Var 𝑐 𝑇
𝑦 (演習3.3)
• 幾つかの定義を追加すれば単一の係数𝛽だけでなく、ベクトル𝛽に対して
も同様のことが言えるようになる
3-2 :線形回帰モデルと最小二乗法.12
• θを推定する際の統計量 𝜃のMSEは
• 𝑀𝑆𝐸 𝜃 = 𝐸 𝜃 − 𝜃
2
= 𝑉𝑎𝑟 𝜃 + [𝐸 𝜃 − 𝜃 ]2
となる
• 第一項は分散、第二項はバイアスの二乗
• 最小二乗推定量はあらゆる線形の不偏推定量の中で最も小さい平均二乗誤差を持
つことが示されている
• 一方、より小さい平均二乗誤差を持つ不偏でない推定量が存在する可能性はある
(例:最小二乗係数の幾つかを縮小、あるいは0にする)
• そうしたケースにおいては少しのバイアス増加と引き換えに、分散を減少させる
(正則化等。現実世界のモデルは不偏でない推定を行うことが大半)
• 現実にはバイアス、バリアンスをバランスさせるものを選ぶ(7章にて)
3-2 :線形回帰モデルと最小二乗法.12
• 3-2-3 単回帰から重回帰へ
• 例:1変数モデル 𝑌 = 𝑋𝛽 + 𝜖
• このとき最小二乗推定量 𝛽= 1
𝑁 𝑥 𝑖 𝑦 𝑖
1
𝑁 𝑥 𝑖
2 、残差𝑟𝑖 = 𝑦𝑖 − 𝑥𝑖 𝛽 と書ける
• 内積< 𝑥, 𝑦 >= 𝑖=1
𝑁
𝑥𝑖 𝑦𝑖 = 𝑋 𝑇yとすると
• 最小二乗推定量、残差はそれぞれ 𝛽=<𝑥,𝑦>
<𝑥,𝑥>
、𝑟 = 𝑦 − 𝑥 𝛽と書き直せる
3-2 :線形回帰モデルと最小二乗法.13
• 次に入力変数が全て互いに直交すると仮定する
• これにより多重最小二乗推定量 𝛽𝑖 が1変数の推定量
<𝑥 𝑗 ,𝑦>
<𝑥 𝑗 ,𝑥 𝑗 >
(3.26)と等しい
かを調べるのが楽になる
• 一方で現実には全変数が互いに直交することはほぼありえない
• 故にここでは強制的に直交させたベクトルを作成する
3-2 :線形回帰モデルと最小二乗法.13
• 例)直交ベクトルの作成
• 切片 𝛽1 、1つの入力xがあるとする
• 切片の最小二乗係数
• 𝛽1 = <𝑥− 𝑥1,𝑦>
<𝑥− 𝑥1,𝑥− 𝑥1>
, ここで 𝑥= 𝑖 𝑥 𝑖
𝑁
, 1 = 𝑥0(𝑁個の1からなるベクトル)
• 𝛽1 の推定は単純な回帰(3.26)を適用した結果。手順は以下
• 1. 残差 𝑧 = 𝑥 − 𝑥1を求めるために1(𝑥0)への𝑥の回帰を行う
• 2. 係数 𝛽1 を求めるために残差𝑧への𝑦の回帰を行う
• 「aへのbの回帰を行う」とはbが目的変数、aが説明変数の単回帰
• そうした時に係数 𝛾 =< 𝑎, 𝑏 >/< 𝑎, 𝑎 >と残差ベクトル𝑏 − 𝛾𝑎が求められる
• これはbをaに適応させた(=直交化した)と言える
• イメージは次項の図参照
3-2 :線形回帰モデルと最小二乗法.14
• 入力x1,x2に対する手順
• ステップ1:
残差zを求めるためにx1→x2の回帰
• ステップ2:
係数 𝛽を求めるためにz→yの回帰
• ステップ3:
𝑦を求めるためにyのx1,zそれぞれへの
射影を足し合わせる
3-2 :線形回帰モデルと最小二乗法.15
• 入力次元が増えた場合に一般化したものが以下
𝛽 𝑝 =
<𝑧 𝑝 ,𝑦>
<𝑧 𝑝 ,𝑧 𝑝 >
(3.28)
• ステップ2の残差部分を見ると、𝑥𝑗 は𝑧 𝑘 𝑘 ≤ 𝑗 の線形結合である
• 𝑧𝑗 は全て直交していて𝑋の列空間の基底をなし、 𝑦への最小二乗射影となる
• (3.28)が回帰係数(全て直交しているので、単回帰の和に等しい)
3-2 :線形回帰モデルと最小二乗法.16
• つまりj番目変数の回帰係数は、jを除く要素に対して回帰を行った後の残
差へのyの単回帰の係数
• 言い換えるとj番目変数以外の変数を考慮した後での、yに対するjの貢献度
• 上記から、相関の強い入力があった際の影響が理解できる
→残差が0に近づくので、係数が不安定になる
→Zスコアが低くなり、相関高いもの全てが大事でない変数に見えてしまう
→お互いの価値を殺しあう
(右表再掲、表3.2)
※入力変数が相関を持つ場合全てに当てはまる
3-2 :線形回帰モデルと最小二乗法.17
• 前出の式(3.28)を利用して(3.8)を書き換えることができる
• 𝑉𝑎𝑟 𝛽 =
𝜎2
<𝑧 𝑝 ,𝑧 𝑝 >
=
𝜎2
𝑧 𝑝
2
• 上式から回帰係数 𝛽 𝑝 を推定する際の精度は残差ベクトル𝑧 𝑝 の長さに依存
することがわかる
• = 𝑥 𝑝 がどの程度他の𝑥 𝑝 により説明できないか(相関の薄さ)を示している
→相関が高い=直交とは遠い状況なので、残差𝑧 𝑝 が短い=σの影響を大きく
受ける
3-2 :線形回帰モデルと最小二乗法.18
• アルゴリズム3.1はグラム=シュミットの直交化法を用いた多重回帰
• 上記のステップ2を行列形式で𝑋 = 𝑍Γと表す
• 𝑍は𝑧𝑗 を順に並べた行列、Γは要素 𝛾 𝑘𝑗 の上三角行列
• j番目の要素が𝐷𝑗𝑗 = |𝑧𝑗 |である対角行列Dを導入すると
• 𝑋 = 𝑍𝐷−1 𝐷Γ = QRとなる(XのQR分解)
• QはN×(p+1)の直交行列で、逆行列が存在する
• 𝑅は(p+1) × (p+1)の上三角行列
• QR分解を用いて最小二乗法の解を簡単に示せる
• 𝛽 = 𝑅−1
𝑄 𝑇
𝑦(3.32), 𝑦 = 𝑄𝑄 𝑇
𝑦(3.33)
3-2 :線形回帰モデルと最小二乗法.18-2
• QR分解おまけ
• 逆行列の計算なしに最小二乗法
における解を求められる
(forward stepwise,計算量の説明
部分(3.9)で再登場)
出典:
http://decafish.blog.so-net.ne.jp/2013-12-11-1
3-2 :線形回帰モデルと最小二乗法.19
• 3-2-4 複数の目的変数
• 概要だけ
• 複数の目的変数があっても、目的変数同士が互いの最小二乗推定に影響を与えない
• 故に基本的には各目的変数に対して、別々に最小二乗推定を行えばいい
• 3.7で詳しく見ると言っているが不必要に難しいのでここも飛ばす
• 3.7で取り扱っているのは、複数目的変数が存在する場合に
• 変数選択、縮小推定(リッジ,L2)を別々に適用するか、同じものを使うか
• 正則化パラメータも同じものを使うか、別々のものを使うか
• それをどうやって一般化した式に落とし込むか
• という話
• そうですか。
3-3 :変数選択
• サマリ
• 基本的には最小二乗推定だけで満足できないですよね?
• (除去すればいいんだけど)マルチコで簡単に死ねる
• バイアスを少し犠牲にして般化性能を上げたほうが実際には強い
• 変数多いと解釈性が低くなる
→変数選択しましょう
※変数選択も一般的にはモデル選択に分類されるが、モデル選択は7章で
• どうするのさ?
• 前向き/後ろ向き漸次的選択(=forward/backward stepwise)
• 上記日本語に慣れてないので以降FstepwiseとBstepwise
• 前後ハイブリッドのstepwiseが実装されたパッケージも存在
• 両方実施し、投入変数の数ごとにいい方を選択できる
3-3 :変数選択①
• 3.3.1 最良変数組み合わせ選択
• 最も小さな残差二乗和が得られる変数部分集合𝑘𝜖{1 … p}を求めたい
• が、最も効率的な跳躍限定法でもpは30~40までしか扱えない
• 話は飛んで、前立腺癌を予測する話
• 右図は利用変数の数kを変えた時の
MSEを示している
• 赤の曲線(最良MSE)は必ず改善する
ので、kの決定には役立たない
• 一般的にkを決める根拠は期待予測
誤差を最小化するもの
• AICが用いられることもある
3-3 :変数選択②
• 3.3.2 前向き/後向き漸次的選択法
• kの組み合わせを出すのには、総当たりで調べるよりも良い方法がある
• Fstepwise
• 切片だけの状態から開始
• 推定を最も改善する説明変数を順次モデルに加えていく
• 現在の射影行列をQR分解することにより、次の候補を直ちに決定できる(演習)
• greedyアルゴリズムなので、最適解が求まる保証なしだが
• p>>Nの場合でも、常に計算可能(QR分解を使うため、計算負荷が少ない)
• 制約の強い探索であるため、バリアンス低、バイアス高な変数選択になりやすい(?)
という利点があり、利用シーンが存在する
3-3 :変数選択③
• Bstepwise
• 全変数を使う状態から開始
• 推定に最も影響しない変数から外していく
• Zスコアが最小のものは除外候補
• N>pの場合にのみ適用可能
• 右図は前立腺癌データに対する
最良部分集合、FS、BSの比較
• 本ケースにおいては3者とも概ね
同様の結果
• F値基準の変数追加/削除はダメ!
→多重検定考慮がなされていない
3-3 :変数選択④
• 3.3.3 前向き段階的回帰(forward stagewise regression)
• FSRはFstepwiseよりも強い制約を受ける
• 開始はFstepwiseと同じ、切片のみからスタート
• 1. 現在の残差と最も相関の大きい変数を選択
• 2. 当該変数を用いて残差に対する単回帰を実施
• 上記2ステップを残差と相関を持つ変数がなくなるまで繰り返す
• Fstepwiseと違い、変数追加時の既存変数の係数は変更されない
• 故に最小二乗当てはめを得るためにp回以上繰り返しが必要=遅い
• 歴史的に無視されてきたが、逆に高次元問題に好都合だということが判明(3.8.1にて)
• 前項グラフではFSRの結果も入れている(縦軸MSE)
• テストデータで全相関が10−4未満になるまで、1000回以上の選択が必要だった
3-3 :変数選択⑤
• 3.3.4 例:前立腺癌(続)
• 右下図は10fold cross validationの結果(詳解@7.10)
• 表の中身は係数
• 下2行は誤差とSE
• 必要なパラメータ推定は
当然学習用データのみで
行っている
3-3 :変数選択⑥
• 右図:様々な回帰手法を比較
• 黄色線:EPE(予測誤差)
• 水色線:1標準誤差範囲
• 紫点線:標準誤差範囲が最狭
3-4 :縮小推定
• サマリ
• 変数選択は離散的(抜くか入れるかの択一)処理なので、分散大な傾向
• 故にerrorがなかなか削減できない
• 縮小推定では連続的な処理(係数をよしなに調整)なので、そうした問
題に悩まされない
• ridge,みんな大好きlassoに加えてLAR(least angle regression)が登場
• LAR?→2004年登場の手法、lassoとの関連が深い、効率的なアルゴリ
ズム
3-4 :縮小推定①
• 3.4.1 リッジ回帰(L2)
• 回帰係数の大きさに罰則を課し、係数の値を縮小させる
• =罰則付き残差二乗和を最小化させて求める
• 𝜆 ≥ 0は罰則の大きさを制御するパラメータ
• 3.41は3.42のようにも記述できる(𝛽の範囲を制限すればOK)
• 相関のある変数が多いと係数の
推定は不安定になるが、係数の
大きさに制約をかければ解消できる
3-4 :縮小推定②
• 明確に𝛽の取れる範囲が制限されているので、事前の標準化は必須
• 原点の選び方に依存させないために、切片は罰則項から除く
• 上記実施後、(3.41)を2つのパートに分ける
• 切片推定部分 - ただの平均
• 係数推定部分 - 標準化された変数を使って、切片なしのリッジ回帰で推定
• (3.41)は行列形式で と書けて
• 解は と書ける
• 𝐼は𝑝 ∗ 𝑝の単位行列
• この時𝑋 𝑇 𝑋の対角成分に正の定数を加えると𝑋 𝑇 𝑋がフルランクでない
場合でも特異にならなくなるので、逆行列の存在を保証できる
3-4 :縮小推定③
• 右図:前立腺癌データのリッジ回帰係数
• 𝑑𝑓(𝜆)は𝜆により決まる有効自由度(式3.50)
※ハット行列対角成分和(固有値の和でもある)
→λ=0なら𝑑𝑓 𝜆 = 𝑝となり、正則化なし
• 入力が正規直交している場合、リッジ推定量
は最小二乗推定の倍数( 𝛽 𝑟𝑖𝑑𝑔𝑒 = 𝛽/(1+λ))
3-4 :縮小推定④
• リッジ回帰は適切に選択した事前分布に基づく、事後分布の平均値/最頻
値として導出できる
• 𝑦𝑖~𝑁(𝛽0 + 𝑥𝑖
𝑇 𝛽,𝜎2)という分布を仮定
• パラメータ𝛽𝑗~𝑁(0,𝜏2)も仮定
• 𝜏2, 𝜎2が既知とする
• 𝛽の(負の)対数事後密度は(3.41)で𝜆 = 𝜎2/𝜏2とした時の波括弧内と等しい(演習)
• 事後分布はガウス分布であるため、事後平均=最頻値=リッジ推定量
3-4 :縮小推定⑤
• 標準化された入力行列𝑋の特異値分解(SVD)により、リッジ回帰の特性に
ついてさらなる知見が得られる
• サイズ𝑁 ∗ 𝑝の行列𝑋の特異値分解は𝑋 = 𝑈𝐷𝑉 𝑇
• 𝑈, 𝑉はそれぞれ𝑁 ∗ 𝑝, 𝑝 ∗ 𝑝の直交行列
• 𝑈の列ベクトルは𝑋の列空間を張り、 𝑉の列ベクトルは行空間を張る
• 𝐷は𝑝 ∗ 𝑝の対角行列で、𝑑1 ≤ 𝑑2 ≤ ⋯ ≤ 𝑑 𝑝 ≤ 0は𝑋の特異値と呼ばれる
• ひとつ以上の𝑑𝑗が0の時、𝑋は特異である
• SVDを用いると、最小二乗当てはめを行ったベクトルを整理して以下の通り書ける
• 𝑈 𝑇 𝑦は𝑦の正規直交基底𝑈に関する座標
• (3.33) 𝑦 = 𝑄𝑄 𝑇
𝑦(再掲)と同様、 𝑄と𝑈は一般的に𝑋の列空間の異なる直交基底である
3-4 :縮小推定⑥
• リッジ回帰の解は となる(𝑢𝑗は𝑈の列ベクトル)
• ただし𝜆 ≥ 0なので、𝑑𝑗
2
/(𝑑𝑗
2
+ 𝜆) ≤ 1である
• 線形回帰同様、リッジ回帰も正規直交基底𝑈に関する𝑦の座標を用いて計算でき、これら
座標が𝑑𝑗
2
/(𝑑𝑗
2
+ 𝜆)倍だけ縮小される(=𝑑𝑗
2
が小さくなると基底ベクトル座標がより強く縮
小される)
• 𝑑𝑗
2
が小さいとは?標準化された行列𝑋の特異値分解は𝑋の変数の主成分とも関連がある
• 標本共分散行列は𝑆 = 𝑋 𝑇
𝑋/𝑁で与えられ、(3.45)から次式が与えられる
• =𝑋 𝑇
𝑋の固有値分解
• 固有ベクトル𝑣𝑗(𝑉の列ベクトル)は𝑋の主成分方向と呼ばれる
3-4 :縮小推定⑦
• 第一主成分方向𝑣1は𝑧1 = 𝑋𝑣1が𝑋の列ベクトルのあらゆる標準化線形結合の中で最も大き
い標本分散を持ち、以下式で表すことができる。
ここで𝑧1 = 𝑋𝑣1 = 𝑢1 𝑑1
• また𝑧1は𝑋の第1主成分と呼ばれ、𝑢1は正規化第1主成分と呼ばれる
• 主成分𝑧𝑗は最大の分散𝑑𝑗
2
/𝑁を持ち、それ以前の主成分と直交する
• 最後の主成分は最小の分散を持つがゆえ、小さい特異値𝑑𝑗は𝑋の列空間において小さい分
散を持つ方向に対応しており、リッジ回帰はこれらの方向の成分を最も縮小させる
3-4 :縮小推定⑧
• 右図は2次元データ点の主成分例
• 第一主成分は分散を最大にするもの
• 最小主成分は分散を最小にするもの
• 予測対象は変数に応じて変化することを仮定
しているので、基本的に入力の分散が大きい方向
に最も変化しやすいと考えられる
3-4 :縮小推定⑨
• 既出の右図(図3.7)で示された図についての追記
• 縦軸:CVでの平均予測誤差
• 横軸:自由度df(λ)
• 通常変数の数がpであれば、自由度はpになる
• リッジ回帰でp個の係数は0にはならない(λの制約を受けた形で当てはめに用いられる)
※次項の図参照
• λ=0の場合df(λ)=p、 λ=inf.の場合df(λ)=0(切片分の自由度1は除去
された前提、3.4.4と7.4~7.6参照)
• 罰則項なしの場合と比較してリッジ回帰を使うことにより
評価誤差を減少させられる(表3.3、右に再掲)
3-4 :縮小推定⑩
• ridgeで係数が0にはならないよ、というお話
• 横軸:自由度 縦軸:係数
• λを絞って自由度を下げると大きな係数が
より大きく減り、小さな係数はあまり変化しない
ことがわかる
→自由度最大の時に出てくる係数の大きさ
(標準化前提)に比例して縮小する動きになる
• 縦破線df(λ)=5はテストデータを使ってCVにより
決定した値(ridgeを使った場合の最良param)
3-4 :縮小推定.11
• 3.4.2 Lasso
• みんな大好きlasso
• Ridgeとの違い?
• →罰則のnormが二乗か絶対値か
• lasso解は非線形なので、解析的に解くことはできず、二次計画問題を解く必要がある
• リッジ回帰と同等の計算量で解を求めるアルゴリズムが存在
• 罰則の性質上、係数の幾つかは完全に0になる、故にlassoは連続的変数選択とも言える
• 縮小の特性は3.4.4で詳解
Lasso Ridge
ラグランジュ形式のLasso
3-4 :縮小推定.12
• 調整パラメータtを変化させた時のlasso係数の動きは右図
• 横軸sは標準化したパラメータt
• s=1の時、罰則項がないものと同様
• 縦破線はCVで決定した0.36
• この時>0の係数を持つ変数は4つ
• この時のモデルの評価誤差は、全体で2番目に低い
• 標準誤差はかなり大きいが、評価誤差は罰則項なしのケースよりも良
3-4 :縮小推定.13
• 3.4.3 考察:部分集合選択、ridge、lasso
• 上記は全て線形回帰に制約を加えたもの
• 入力行列Xが正規直交している場合、3つの手法は明確に異なる挙動を示す
• 解は最小二乗推定量 𝛽𝑗に簡単な式変形を加えることで得られる
• ridge:パラメータに比例した縮小
• lasso:定数λを係数から引き、0に切り詰め(ソフト閾値処理、5.9ウェーブレット平滑化でも登場)
• 部分集合:係数の大きさがM番目のものよりも小さい変数を全て除外(ハード閾値処理)
• 入力行列が直交しない場合、右図が理解に役立つ
• 2変数しかない場合のlasso(左)、ridge(右)の比較
• 残差二乗和は等高線(点 𝛽の周り)
• ridge制約は𝛽1
2
+ 𝛽2
2
= 𝑡2
の円形
• lasso制約は|𝛽1| + |𝛽2| = 𝑡の四角形(マンハッタン距離的な)
→頂点が解になった場合、もう一方のパラメータ𝛽𝑗は0になる
p>2の時、多くの頂点、面を持つようになる
=多くのパラメータが0になる可能性が高まる
3-4 :縮小推定.14
• ridge,lasso,部分選択を一般化し、ベイズ推定としてみることができる(下式)
• ただし 𝑞 ≥ 0
• 右図は2変数に対する 𝑗 |𝛽𝑗| 𝑞の等高線
• |𝛽𝑗| 𝑞を𝛽𝑗の対数事前確率密度だと考えると、パラメータの事前分布についても、同
じく等高線が得られる
• q=0:部分集合
• q=1:lasso
• このケースは各入力が独立な二重指数関数分布(orラプラス分布)に従い、確率密度は
•
1
2𝜏
exp −
𝛽
𝜏
, 𝜏 = 1/𝜆
• q=2:ridge
3-4 :縮小推定.15
• ridge, lasso,変数部分選択手法はqの値によって異なる事前分布を持った、ベイズ
推定であると言える(前項に同じ)
• しかしここで用いられているのは事後分布の最頻値
• ベイズ的には事後確率の平均値を用いるのが一般的
• ridgeはmode=平均なので問題ないが、lassoと部分選択はそうではない
• 式3.53を見直すと、qに0,1,2以外を試したくなる
• データからqを推定しようとすると、(筆者経験的には)分散が増えるだけであまり価値はない
• q=1~2の間だと試す価値はありそう
→q>1なので|𝛽𝑗| 𝑞
は0で微分可能であり、lassoの特性(係数0化)は失われる
• これを受けてelastic netが2005年に考案された(右式)
• 右図はq=1.2の時の𝐿 𝑞罰則と𝛼 = 0.2の時のEN罰則の比較
• 違いは見つけづらいが、ENはlassoのように変数選択し、ridgeのように高相関の変数の係数
を同時に縮小させる。加えて𝐿 𝑞罰則と比較して計算コストがかなり有利(18.4で詳解)
3-4 :縮小推定.16
• 3.4.4 最小角回帰(Least Angle Regression,LAR)
• 2004年に提案された比較的新しい手法。
• lassoとの関連が深く、図(3.10、右下再掲)のようなlassoの完全な解経路を計算できる、
効率的なアルゴリズム
• FSR
• 一度に1つずつ変数を追加していくことで、連続的にモデルを構築
• 各ステップで使用済変数集合に加える最良の変数を選択、全使用済み変数
を使用して最小二乗当てはめを更新する
• LAR
• 1. 変数を標準化、残差はr = y − 𝑦 , 係数𝛽𝑗は全て0からスタート
• 2. rと最も相関の高い変数𝑥𝑗を選択
• 3. 𝛽𝑗を0から最小二乗係数< 𝑥𝑗, 𝑟 >に向かって、他の変数𝑥 𝑘と現在の残差
との相関が𝑥𝑗と同じになるまで変化させる
• 4. 𝛽𝑗と𝛽 𝑘を(𝑥𝑗, 𝑥 𝑘)の現在の残差に対する最小二乗係数の方向に、他の変数𝑥𝑙
が現在の残差と同じ相関を持つようになるまで変化させる
• 5. p個の変数がモデルに加わるまで継続。min(N-1,p)回の操作後、解を得る
3-4 :縮小推定.17
• LARの補足
• ステップ5の終了条件
• p>N-1の場合、LARはN-1回の操作ののちに残差が0となる解に到達
• k回目の操作開始時の使用済み変数集合をΑ 𝑘、係数ベクトルを𝛽Α 𝑘
とするとk-1個の非0要素があり、
追加されたばかりの係数も0になる
• 現在の残差を𝑟𝑘 = 𝑦 − 𝑋Α 𝑘
𝛽Α 𝑘
とすると、このステップでの方向は 𝛿 𝑘 = (𝑋Α 𝑘
𝑇
𝑋Α 𝑘
)−1
𝑋Α 𝑘
𝑇
𝑟𝑘となる
• 係数は𝛽Α 𝑘
𝛼 = 𝛽Α 𝑘
+ 𝛼・𝛿 𝑘と更新される(演習3.23,相関が互いに関連し合い、減少していく)
• ステップ開始時の射影ベクトルを 𝑓𝑘とすると𝑢 𝑘 = 𝑋Α 𝑘
𝛿 𝑘という新しい方向に向かって
𝑓𝑘 𝛼 = 𝑓𝑘+ 𝛼・𝑢 𝑘のように更新される
• 最小角、という名前はこの操作の幾何学的解釈から来ている
• 𝑢 𝑘はΑ 𝑘の中の各予測変数に対する最小の角度に対応(演習3.24)
3-4 :縮小推定.18
• LARの補足:続き
• LAR各ステップにおいて順に変数が追加され相関係数の絶対値が
減少していくグラフ(右図、図3.15)
• LARの係数は区分的線形性を持って変化する
• (下図左、図3.16)はL1弧長に対するLAR係数の変化の様子を描画
• 予測変数の共分散、アルゴリズムの特性から
各ステップの更新幅を正確に計算できる
• 下図右は左と同じデータでlassoの時
• 左とほぼ同様も、青線の挙動が大きく違う
• 青線が0を跨ぐまで、2つは概ね同様の挙動
3-4 :縮小推定.19
• LARやlassoは計算効率性が高い
• p個の予測変数を用いた最小二乗回帰と同じオーダーの計算時間
• LARとlassoの解経路は似たものになるが、LARは常にp回、lassoはp回以上の操作を必要
とする
• lassoのうち、p>>Nのケースで効率的な計算を行えるのが、前出LARロジックのステッ
プ4を変えたもの
• 1. 変数を標準化、残差がr = y − 𝑦, 係数𝛽𝑗全て0からスタート
• 2. rと最も相関の高い変数𝑥𝑗を選択
• 3. 𝛽𝑗を0から最小二乗係数< 𝑥𝑗, 𝑟 >に向かって、他の変数𝑥 𝑘と現在の残差
との相関が𝑥𝑗と同じになるまで変化させる
• 4. 𝛽𝑗と𝛽 𝑘を(𝑥𝑗, 𝑥 𝑘)の現在の残差に対する最小二乗係数の方向に、他の変数𝑥𝑙
が現在の残差と同じ相関を持つようになるまで変化させる
• 4’. 非ゼロ係数が0になった時、その変数を使用済み変数集合から除外し、
現在の結合最小二乗方向を再計算する
• 5. p個の変数がモデルに加わるまで継続。min(N-1,p)回の操作後、解を得る
3-4 :縮小推定.20
• LARとlassoが類似する理由?
• LARは相関を用いているが、変数が標準化されていれば相関を内積で代替できる
• 使用済み変数集合をΑとすると、これは現在の残差y − X𝛽と内積の絶対値で結びつく
• → のように表せる
• ここで𝜖 −1,1 は内積の符号, 𝛾は共通の値
• また、ここで𝑥 𝑘
𝑇
𝑦 − 𝑋𝛽 ≤ 𝛾, ∀𝑘 ! 𝜖 𝐴も成り立つ(!はnotの意)
• lasso規準(3.52、右再掲)をベクトル形式で書くと
• さらに𝐵をある値λにおける解の使用済み変数集合としたとき、 𝑅 𝛽 は微分可能で
が得られる
• 式3.58、3.56を比較すると𝛽𝑗の符号と内積の符号が一致する場合同一
→LARとlassoの使用済み変数の係数が0をまたぐと差異が生ずる
3-4 :縮小推定.21
• 右上(図3.17)はLAR, LASSO+3modelを比較
• N=100である点を除いて図3.6(右下)と同じ
• 以降右上図について
• FS(黒)は早期からオーバーフィット
• 収束の遅いFSR(黄)と比較して、推定精度悪
• LAR, lassoはFSRと同様の変化
• IFSR(緑)は3.8.1で紹介
3-4 :縮小推定.22
• LAR, lassoの自由度方程式
• LARを用る際、k回(k<p)の操作後、もしくはlassoにおいて操作回数上限tを設けると、
制約付き最小二乗解が得られる
• どの程度のパラメータの多さ(自由度)にすればいいか?
→適応的に当てはめるモデルの有効自由度について一般的な定義が必要
• 適合させるベクトル 𝑦 = ( 𝑦1, 𝑦2, … , 𝑦 𝑁)の自由度を以下のように定義
Cov( 𝑦𝑖, 𝑦𝑖)は標本共分散
• 故にdf( 𝑦)が大きくなればデータへの適合が難しくなる(7.4~7.6で詳解)
• 通常のk個の変数を用いた線形回帰ではdf( 𝑦)=k
• 大きさkの最良部分集合選択ではdf( 𝑦)>K, しかし直接推定する閉系式は存在しない
• LARでは変数が除去されるケースがあるので、p回以上の手順を要することが多い
• lassoではdf( 𝑦)は変数の数と同等になる
3-5 :入力に対して線形変換を行う方法
• サマリ
• 回帰の入力を元の変数(の一部を)線形結合したものとする方法の紹介
• PCR (主成分回帰)
• 3.4.1で定義した主成分を回帰のインプットとする
• 入力のスケールに影響を受けるので、標準化必須
• 入力次元数が元の変数の次元数と一致する場合、ノーマルの最小二乗法と一致
• イメージ的にはridgeに近い(ridgeは係数の縮退、PCRは下位主成分の除去=選択法)
• PLS(部分最小二乗法)
• 分散が大きく、かつYとの相関が高い主成分を随時足していく
• ただし制約の強さは 分散大>Yとの相関
• 故に挙動はPCR, ridgeに近い
• 主成分だと分散の大きいものだけ足す
• Yとの相関も用いるので、入力にXだけでなくYが必要
• これも標準化必須
3-5 :入力に対して線形変換を行う方法①
• 元の入力𝑋𝑗よりも少ない数の線形結合𝑍 𝑚を回帰の入力とする
• どう線形結合を作るかは手法によって異なる
• 3.5.1 PCR(主成分回帰)
• 3.4.1項で定義した主成分を𝑍 𝑚として用いる
• 𝑍 𝑚 = 𝑋𝑉𝑚を計算し、𝑍1, 𝑍2,…𝑍 𝑚(M ≤ 𝑝)を用いてyの回帰を行う
• 𝑍 𝑚は直交するため、回帰関数は単回帰の和となる
ただし 𝜃 𝑚は< 𝑍 𝑚, 𝑦 >/< 𝑍 𝑚, 𝑍 𝑚 >
• 𝑍 𝑚は元の入力の線形結合なので、(3.61)の解を𝑋𝑗とその係数を用いて表せる
3-5 :入力に対して線形変換を行う方法②
• その他特徴
• ridge同様、スケールに影響を受けるので、標準化必須
• M(主成分数)=p(元の変数の数)の場合は通常の最小二乗推定に一致
• PCRとridgeは両者とも入力の主成分を用いる点で似ている
• ridgeは主成分の係数を縮退(縮退法)
• PCRは小さい方からp-M個の主成分を除去(選択法)
• 比較は下図(3.18、縦軸:重み、横軸:主成分)
• おまけ
• 前立腺データだとPCRが一番小さい評価誤差
• その際のM=7
3-5 :入力に対して線形変換を行う方法③
• PLS(部分最小二乗法)
• 入力Xだけでなく、出力Yも使用
• スケール不変でないため、標準化必須
• 以下と合わせて見ると理解が深まる
• https://www.slideshare.net/shoheikumagai/partial-least-
squares?qid=040df166-3658-45c2-958a-
4e30f7b361c1&v=&b=&from_search=1
3-5 :入力に対して線形変換を行う方法④
• PLSは何をしているか
• 分散が大きく、ターゲットyと相関の高い(主成分)方向を探索
• m番目主成分𝑉𝑚は以下を満たす
• ここで𝑆は𝑋𝑗の標本共分散行列
•
• 第二項𝛼 𝑇 𝑆 𝑣𝑙はそれまでに計算したすべての線形結合𝑍𝑙 = 𝑋 𝑣𝑙と𝑍 𝑚 =
𝑋 𝛼が無相関であることを保証。一方m番目の部分最小二乗方向 𝜑 𝑚は
• を満たす
• 方向よりも分散に関する制約の方が支配的なのでridge,PCRに近い挙動
• 入力が直交している場合、PLSはm=1回の操作で最小二乗推定に到達
• m=1…pに対するPLS係数は最小二乗解計算のための共役勾配と同様
3-6 :考察:選択法と縮小法の比較
• サマリ
• 選択法、縮小法をいろいろ紹介してきたが、まとめて俯瞰します
• ridgeでは係数があらゆる方向に縮小する
• ただし分散がより小さい方向へ
• PLSは分散の小さい方向を縮小させ、分散の大きい方向に下駄を履かせる
• これによりPLSはやや不安定になり、ridgeと比較してやや大きい予測誤差が出る
• Frank and Friedman(1993)によると、予測誤差を小さくするには、PCR,PLSよりも
ridgeの方が望ましいと結論づけている
• 一方で、PCR,PLSに対するridgeの優位性はわずか
• PCRは分散の大きいM個の方向を残し、他を捨てる
• PLS,PCR,ridgeは似てるがrigdeは縮小が離散的でなく連続的である点で好ましい
• lassoはrigdeと変数選択の中間的な挙動を示し、両者の特性を併せ持つ
3-6 :考察:選択法と縮小法の比較①
• 実験:
• 相関係数pを持つ入力𝑋1と𝑋2を考える
• 真の回帰係数は𝛽1 = 4, 𝛽2 = 2だと仮定
• 紹介した手法について、調整paramを変化させた時の係数挙動を示す
• ridge,lassoのparamは連続的に変化させる
• その他は2段階(使用/不使用)の推定を行う
• p=0.5の場合
• ridgeは2つの係数を同時に縮小
• PLS,PCRはridgeと似てるが、離散的な値をとる
• 変数選択は一度行きすぎてから引き返す
• lassoは他と比較して中間的な振る舞い
3-6 :考察:選択法と縮小法の比較②
• 実験:
• p=-0.5の場合
• すべての手法がより近い挙動を示す
• PLS,PCRはやはりridgeと似た挙動(と記述あり。ホント?)
3-7 :複数の目的変数の縮小推定と変数選
択
• 冒頭記述の通り飛ばし
3-8 :lassoと関連する解追跡アルゴリズム
に関する詳細
• サマリ:
• 逐次前向き段階的回帰(Incremental Forward Stagewise Reg.)
• forward stagewise boostingの線形回帰ver(L2 boostと呼ばれている模様,16.2で詳解)
• 区分的線形解追跡アルゴリズム
• lasso係数軌跡の区分的線形性を利用した、解追跡アルゴリズム。12.3.5で詳解
• ダンツィク選択器
• lassoと似た係数軌跡を描くが、正則化param次第で誤差を多分に含んだ係数が出る
• グループlasso
• 同一グループに属する説明変数の係数を同時に縮小/選択する場合に適用可
• lassoの性質
• 馴染みの手法、lassoでの変数選択が登場!adaptive lassoは魅力的な手法
• 総当たり座標最適化
• lasso解を計算するLARに代わる手法。大規模データならLARより収束が早い
3-8 :lassoと関連する解追跡アルゴリズム
に関する詳細①
• 3.8.1 逐次前向き段階的回帰(IFSR)
• 16.2で詳解されるforward stagewise boostingの線形回帰ver
• 現在の残差と最も相関の高い変数の係数を少しずつ更新する
• 実際の動き:
• 1. 係数𝛽1 … 𝛽 𝑝 = 0、残差r = y、変数は全て標準化した状態からスタート
• 2. 残差rと最も相関の高い変数𝑥𝑗を見つける
• 3. 𝛽𝑗 ← 𝛽𝑗 + δ𝑗, 𝑟 ← 𝑟 − δ𝑗 𝑥𝑗 ここでδ𝑗 = 𝜖・𝑠𝑖𝑔𝑛[< 𝑥𝑗, 𝑟 >]、 𝜖 > 0は更新幅
• 4. ステップ2,3を残差、説明変数の相関がなくなるまで実施
※更新幅が残差に対する𝑗番目説明変数の最小二乗係数である場合、3.3.3FSと同一
3-8 :lassoと関連する解追跡アルゴリズム
に関する詳細②
• 下図(3.20)左は前立腺癌データで 𝜖 = 0.01としたケースの係数軌跡
• 𝜖←0(極小)の場合、下図右(=lasso経路と同一、𝐹𝑆0と呼ぶ)
• 𝐹𝑆0はブースティングのような、非線形&適応的アルゴリズムで重要(10,16章)
• 𝐹𝑆0はIFSRを理論的に解析しやすくしたverとも言える
• 𝐹𝑆0をL2boostingと呼ぶ人もいる
• 歴史コーナー
• 当初LAR= 𝐹𝑆0と考えられていた
• やがてLARで相関係数の符号と
回帰係数の符号の不一致が起きた
→おかしい
• LARの一部を修正し、 𝐹𝑆0を完成
3-8 :lassoと関連する解追跡アルゴリズム
に関する詳細③
• 修正箇所:LAR(𝐹𝑆0修正)
• 1. 変数を標準化、残差がr = y − 𝑦, 係数𝛽𝑗全て0からスタート
• 2. rと最も相関の高い変数𝑥𝑗を選択
• 3. 𝛽𝑗を0から最小二乗係数< 𝑥𝑗, 𝑟 >に向かって、他の変数𝑥 𝑘と現在の残差
との相関が𝑥𝑗と同じになるまで変化させる
• 4. 𝛽𝑗と𝛽 𝑘を(𝑥𝑗, 𝑥 𝑘)の現在の残差に対する最小二乗係数の方向に、他の変数𝑥𝑙
が現在の残差と同じ相関を持つようになるまで変化させる
• 4. 制約付き最小二乗問題を解いて、新しい方向を探索する
min||𝑟 − 𝑋𝐴 𝑏||2
2
subject to 𝑏𝑗 𝑠𝑗 ≥ 0, 𝑗𝜖𝐴 ここで𝑠𝑗は< 𝑠𝑗, 𝑟 >の符号
• 5. p個の変数がモデルに加わるまで継続。min(N-1,p)回の操作後、解を得る
• →非負の最小二乗回帰であり、係数と相関係数の符号を一致させる
• 係数経路が単調非減少、非増加の場合、LAR, lasso, 𝐹𝑆0の解経路は一致
• 単調でなくとも0をまたがなければ、LARとlassoの経路は一致
3-8 :lassoと関連する解追跡アルゴリズム
に関する詳細④
• 𝐹𝑆0の係数軌跡は微分方程式に対する解
• lassoが係数ベクトル𝛽の𝐿1ノルムを増加させるたびに残差二乗和を減少させる
• 𝐹𝑆0は係数軌跡の𝐿1ノルムが増加するたびに最適化を行う。故に係数軌跡は頻繁
には方向を変えない
• 𝐹𝑆0はlassoよりも制約が多く、lassoの簡易版と見ることができる
• p>>Nの場合においては𝐹𝑆0はlassoよりも有効な可能性あり
• そうしたケースでは𝐹𝑆0の係数軌跡はlassoと比較して分散が小さく滑らかになるから
• 𝐹𝑆0の詳細は16.2.3でも登場
• 図3.17では𝐹𝑆0と𝑙𝑎𝑠𝑠𝑜が似た性能である旨観察できる
※それぞれ緑線と橙線
3-8 :lassoと関連する解追跡アルゴリズム
に関する詳細⑤
• 3.8.2 区分的線形解追跡アルゴリズム
• あまり突っ込まない
• LARはlasso係数軌跡の区分的線形性を利用している
• これは他の正則化問題に対しても適用でき、似たような解追跡アルゴ
リズムを導くことができる。以下例題
※損失関数L,罰則関数Jは凸
• 係数軌跡 𝛽(𝜆)が区分的線形となる
• ための十分条件は以下2点
• 1.𝑅が𝛽の2次関数or区分的2次関数かつ
• 2. 𝐽が𝛽について区分的線形
• 詳しくは12.3.5で紹介される
3-8 :lassoと関連する解追跡アルゴリズム
に関する詳細⑥
• 3.8.3 ダンツィク分類器
• これもあまり突っ込まない
• lassoと比較して挙動不安定
• 現時点で後につながる話(~で詳解等)もでてこない
• 必要なら後で参照でいいかと
3-8 :lassoと関連する解追跡アルゴリズム
に関する詳細⑦
• 3.8.4 グループlasso
• 同じグループに分類される変数(ダミー変数等)が存在する場合で、同
じグループに属する変数に対して同様の処理(変数選択、係数縮小)を
実施したい時に使用
• p個の変数がL個のグループに分割されるとする
• 𝑝𝑙をグループ𝑙に属する変数の個数とする
• 𝑋𝑙をグループ𝑙に属する変数の集合とし、対応する係数ベクトルを𝛽𝑙とする
• グループlassoは以下凸基準を最小化する
• 𝑝𝑙は(変化する)グループの大きさ、||・||2は(二乗しない)ユークリッドノルム
3-8 :lassoと関連する解追跡アルゴリズム
に関する詳細⑧
• 3.8.5 lassoの性質
• いい変数と邪魔な変数との相関はそれほど高くない
• 係数について、lassoによる縮小は非ゼロ係数の推定に対して0に向か
うバイアスをかけるが、標本数が増加しても真の値に収束するかどう
かの保証がない
• 上記問題を解決するために
• 非ゼロ係数の特定のためだけにlassoを使い、選択された変数について
• 制約のない線形モデルを当てはめ
→選択された数が多いとうまくいかない
• さらにlassoを適用
→緩和lassoとして知られる
→1回目lassoの罰則paramをCVで決定、2回目lassoの罰則paramは選択された変
数だけを使ったCVで確認。ゴミが混ざっていないので、λは1回目より減る
3-8 :lassoと関連する解追跡アルゴリズム
に関する詳細⑨
• 大きな係数に対してはあまり縮小しないようにlassoの罰則関数を書き
換えるという手も(smoothly clipped absolute deviation,SCAD罰則)
• 具体的には𝜆|𝛽|を𝐽 𝑎(𝛽, 𝜆)に入れ替える
• ただしa>2
• 角カッコ内第2項は大きな𝛽に対する縮小幅を減少させる効果がある
• 極限𝑎 → 𝑖𝑛𝑓.では縮小効果がなくなる
• 右下図(3.21)はそれぞれlasso,SCAD, 𝛽 1−𝜐(𝑎𝑑𝑎𝑝𝑡𝑖𝑣𝑒 𝑙𝑎𝑠𝑠𝑜)の罰則値
• SCADは非凸なので計算困難
3-8 :lassoと関連する解追跡アルゴリズム
に関する詳細⑩
• adaptive lasso
• j=1
𝑝
𝜔𝑗|𝛽𝑗|, ただし𝜔𝑗 = 1/| 𝛽𝑗| 𝜐という形の重み付き罰則を用いている
• 𝛽𝑗は通常の最小二乗推定による係数、 𝜐 > 0
• 上記は3.4.3で紹介された|𝛽| 𝑞罰則の実用的近似
• adaptive lassoではlassoの持つ魅力的な凸性を残しつつ、一致性を
持った係数の推定が行える
3-8 :lassoと関連する解追跡アルゴリズム
に関する詳細.11
• 3.8.6 総当たり座標最適化
• lasso解を計算するLARに代わる手法として、単純な座標降下法がある
• ラグランジュ形式(3.52)の罰則パラメータλを固定し、パラメータ一
つずつについて、他のパラメータを固定して最適化を図る
• 説明変数は全て標準化されているとする
• (3.52)から𝛽𝑗を分離して以下形式にする
• 𝛽 𝑘(𝜆)はパラメータ𝜆に対する𝛽 𝑘の
• 現在の推定値
• 上式は𝑦𝑖 − 𝑦𝑖
𝑗
= 𝑦𝑖 − 𝑘!=𝑗 𝑥𝑖𝑘 𝛽 𝑘(𝜆)を目的変数とした、1変数lassoとみれる
3-8 :lassoと関連する解追跡アルゴリズム
に関する詳細.12
• 解の更新式は で与えられる
• 𝑆 𝑡, 𝜆 = 𝑠𝑖𝑔𝑛 𝑡 (|𝑡| − 𝜆)+は図(3.11、右下)で示したソフト閾値処理
(lasso,rigdeのケース)
• 𝑆 ・ に最初に入力するのは標準化された変数𝑥𝑖𝑗の部分残差への単純な
最小二乗係数
• 係数の収束まで(3.84)を各変数に順
に適用し、lasso推定値 𝛽𝑗 𝜆 を得る
• 𝛽 𝜆max = 0となる最小の𝜆maxから
開始、収束するまで𝜆を少しずつ
小さくしながら、係数を更新
• 18.4.2でも登場予定
3-9 :計算上考慮すべき事柄
• 最小二乗当てはめは、通常𝑋 𝑇 𝑋のコレスキー分解or𝑋のQR分解による
• 標本数N,次元数pとすると、
• コレスキー分解の計算量: 𝑝3
+ 𝑁𝑝2
/2
• QR分解の計算量: 𝑁𝑝2
• least angle reg.でlasso解を得る時の計算量:最小二乗回帰と同じオーダー

統計的学習の基礎_3章

  • 1.
  • 2.
    自己紹介 • 名前:田口正一 • 所属:リクルートテクノロジーズビッグデータ部 • 趣味:サッカー、TVゲーム、音楽、モデリング、キャンプ • 最近の興味:bandit問題、mastodon、ロマサガ3リメイク、 AC milanが弱いこと、Juventusが強いこと
  • 3.
    目次 • 3-1 :導入 •3-2 :線形回帰モデルと最小二乗法 • 3-3 :変数選択 • 3-4 :縮小推定 • 3-5 :入力に対して線形変換を行う方法 • 3-6 :考察:選択法と縮小法の比較 • 3-7 :複数の目的変数の縮小推定と変数選択 • 3-8 :lassoと関連する解追跡アルゴリズムに関する詳細 • 3-9 :計算上考慮すべき事柄
  • 4.
    キーワード 抜粋: • 線形回帰 • 変数選択(stepwise) •係数縮小(ridge, lasso, elastic net, least angle reg.(LAR)) • 線形変換(primary component reg.(PCR),partial least square (PLS)) • 解追跡アルゴリズム(略)
  • 5.
    3-1:導入 • 前提:線形回帰モデルは回帰係数E(Y|X)が入力に対して線形 • 今日でも線形モデルを使う機会は多いので、それを学ぶのは重要 •訓練データが少ない、雑音が少ない、データが疎であるケースには、複雑 な非線形モデルを凌ぐ予測性能を出すことも • 線形モデルは入力を変換した後にも適用可能(3.5で紹介) • 以降では①回帰のための線形モデル②分類のための線形モデルを紹介 • 線形モデルの理解は非線形モデルの理解に必須 • 多くの非線形手法は線形手法を一般化することによって得られる
  • 6.
    3-2 :線形回帰モデルと最小二乗法 • サマリ •まずは単回帰 • ガウス=マルコフ定理を用いた回帰 • 観測値の線形結合で目的値を推定する時、残差を最小にするような最小二乗法で求め た推定値が不偏で最小の分散を持つことを保証する定理 • 残差最小化(=yをx空間に直交射影) • そのあと重回帰。単回帰の式をベクトルに拡張 • グラム=シュミットの直交化法を用いた重回帰を紹介
  • 7.
    3-2 :線形回帰モデルと最小二乗法① • 基本形:𝑓𝑋 = 𝛽 + 𝑗=1 𝑝 𝑋𝑗𝐵𝑗 • 係数推定の最も一般的な手法は最小二乗法 • 残差二乗和 𝑅𝑆𝑆 𝛽 = 𝑦 − 𝑋𝛽 𝑇 𝑦 − 𝑋𝛽 • RSSの一次微分を0とおくと一意解 𝛽 = 𝑋 𝑇 𝑋 −1 𝑋 𝑇 𝑦 が得られる(前提: 𝑋が列フルランクであり、𝑋 𝑇 𝑋は正定値行列) • 推定値は 𝑦 = X 𝛽 = 𝑋 𝑋 𝑇 𝑋 −1 𝑋 𝑇 𝑦(式3.7) • 𝐻 = 𝑋 𝑋 𝑇 𝑋 −1 𝑋 𝑇 は𝑦の推定値への射影を行う、ハット行列と呼ばれる • 𝑋が張る列空間上の 𝑦と𝑦を直交させることにより残差が最小になる • 上記イメージは次項
  • 8.
    3-2 :線形回帰モデルと最小二乗法② • 右図:𝑋列空間上の𝑦と𝑦の関係性 • 𝑋が𝑥1, 𝑥2から成るとする • 𝑦との残差を最小化するため 𝑦と𝑦を直交させる ような 𝛽を求める • フルランクについての備考 • 例えば複数変数が完全に相関している場合、𝑋 𝑇 𝑋は特異行列となり、(逆行列が存在しな いため)最小二乗法の 𝛽は一意に求められない →相関しているものを落とせばOK • 次元数が学習標本数を超える際にもランク落ちが発生するので、入力特徴量の削減、正 則化で対応(5.3節、18章で紹介) • 入力Xが全部推定に有用なものじゃなきゃダメよ、という話
  • 9.
    3-2 :線形回帰モデルと最小二乗法③ • 以上ではデータの真の分布については仮定していなかったが、𝛽のばらつ きを詳しく見るため、以下前提を導入 • 観測値𝑦𝑖は互いに無相関 • 𝑦𝑖は分散𝜎2を持つ • 𝑥𝑖は固定値 • その時分散共分散行列は 𝛽 = 𝑋 𝑇 𝑋 −1 𝑋 𝑇 𝑦よりVar( 𝛽) = 𝑋 𝑇 𝑋 −1 𝜎2 • また、 𝜎2 = 1 𝑁−𝑝−1 𝑖=1 𝑁 𝑦𝑖 − 𝑦𝑖 2 この時𝐸( 𝜎2) = 𝜎2 • 分散を考慮した基本形は𝑌 = 𝛽0 + 𝑗=1 𝑝 𝑋𝑗 𝛽𝑗 + 𝜖, 𝜖~𝑁(0, 𝜎2 ) • この時 𝛽~𝑁 𝛽, (𝑋 𝑇 𝑋 −1 𝜎2 )(3.10) → 𝛽は多変量ガウス分布に従う • 𝑁 − 𝑝 − 1 𝜎2 ~ 𝜎2 𝜒 𝑁−𝑝−1 2 (3.11) → 𝑁 − 𝑝 − 1の自由度を持つカイ二乗分布 に従う • 𝛽と 𝜎2は統計的に独立という性質あり→仮説検定、パラメータ𝛽𝑗の信頼区 間推定に用いられる
  • 10.
    3-2 :線形回帰モデルと最小二乗法④ • 検定の話 •係数 𝛽𝑗=0の仮説検定にZスコア 𝑧𝑗 = 𝛽2 𝜎 𝜐 𝑗 を用いる (𝜐𝑗 は 𝑋 𝑇 𝑋 −1の対角成分) • 𝛽𝑗=0という帰無仮説のもと、𝑧𝑗 は𝑡 𝑁−𝑝−1(自由度𝑁 − 𝑝 − 1)のt分布に従っ て分布、𝑍スコア(𝑧𝑗 )の絶対値が大きい時はこの帰無仮説を棄却 • 𝑧𝑗 の式中の 𝜎を既知の値𝜎で置き換えると、𝑧𝑗 は標準ガウス分布に従う • 𝑡分布の裾の分位点と標準ガウス分布との差異は標本数が増えると無視で きるほど小さくなるので、一般的にガウス分布の分位点が用いられる • 右上図(3.3)はt分布(自由度30,100)とガウス分布の裾確率(0.05,0.01)における有意性 検定のための分位点を示したもの。 • 自由度が高まる=標本数増で差が無視できるレベルに到達
  • 11.
    3-2 :線形回帰モデルと最小二乗法⑤ • 複数の係数の有意性を同時に検定したい •ex) カテゴリ数𝑘を持つ変数をモデルから除外できるか検定 =ダミー化時の係数を全て0にできるかの検定 →F値を用いる:𝐹𝑣𝑎𝑙𝑢𝑒 = (𝑅𝑆𝑆0−𝑅𝑆𝑆1)/(𝑝1−𝑝0) 𝑅𝑆𝑆1/(𝑁−𝑝−1) (3.13) 𝑅𝑆𝑆0:𝑝0 + 1個の変数を持つモデルの残差二乗和。ゼロに拘束された 𝑝1 − 𝑝0個 のパラメータを持つ 𝑅𝑆𝑆1:𝑝1 + 1個の変数を持つ大きなモデルで最小二乗近似した時の残差二乗和 • F統計量は大きい方のモデルに追加されたパラメータあたりの残差二乗和 の変化であり、𝜎2の推定値で正規化されている • 具体例は3ページ後に登場
  • 12.
    3-2 :線形回帰モデルと最小二乗法⑥ • データがガウス分布に従っていると仮定し、小さい方のモデルは正しいと いう帰無仮説のもので、F統計量は𝐹𝑝1−𝑝0,𝑁−𝑝1−1という分布に従う •𝐹𝑝1−𝑝0,𝑁−𝑝1−1の分位点は𝜒 𝑝1−𝑝0 2 / 𝑝1 − 𝑝0 の分位点に近づく • (3,10)から𝛽𝑗の1 − 2𝛼信頼区間として 𝛽𝑗 − 𝑧 1−𝛼 𝜐𝑗 1 2 𝜎, 𝛽𝑗 + 𝑧 1−𝛼 𝜐𝑗 1 2 𝜎 を導 出できる。𝑧 1−𝛼 はガウス分布の1 − 𝛼点 • 𝑧 1−0.025 = 1.96 → 𝛽 ± 2𝑠𝑒( 𝛽) ≅95%信頼区間 • 同様にパラメータ𝛽についても信頼集合を近似的に出せる • 𝐶𝛽 = 𝛽 𝛽 − 𝛽 𝑇 𝑋 𝑇 𝑋 𝛽 − 𝛽 ≤ 𝜎2 𝜒 𝑝+1 2 1−𝛼 , 𝜒 𝑝+1 2 (1−𝛼) は自由度p+1のカ イ二乗分布の1 − 𝛼点、例えば𝜒5 2(1−0.05) = 11.1
  • 13.
    3-2 :線形回帰モデルと最小二乗法⑦ • 3-2-1例:前立腺癌 • 登場する8つの変数内で、相関の強いものが存在(下表参照) • →特性を考慮した上でのモデリングが必要 • 実施内容: • 標準化を実施 • 学習:テストデータ数=67,30(サンプル数、ランダム振り分け) • 前立腺特異抗原(目的値)の対数に線形モデルを当てはめ • 最小二乗推定
  • 14.
    3-2 :線形回帰モデルと最小二乗法⑧ • 係数の推定値、標準誤差、Zスコアを得た •Zスコア=モデルから変数を除いた際の影響度 • Zスコア絶対値>2なら5%有意 • ※変数が8個あり、 𝑡67−9の0.025裾分位点が ± 2.002であることを根拠にしている • lcoval, lweight, sviは重要な変数だが、lcovalをモデルに入れるとlcpは相関が強 く、重要度が下がる • F統計量を使い、重要そうでない幾つかの変数(age, lcp, gleason, pgg45)を同時 に除去することを考える(「同時に」除去のみ検討、個別は違う結果になる) • F値 = (32.81−29.43)/(9−5) 29.43/(67−9) = 1.67, P値=Pr 𝐹4,58 ≥ 1.67 = 0.17、よって有意でない
  • 15.
    3-2 :線形回帰モデルと最小二乗法⑨ • テスト群に対するMSEは0.521 •一方、lpsa(前立腺特異抗原、目的変数)の学習標本平均値を推定に用いた ケースのMSE(基準誤り率)は1.057 • 線形モデルで誤り率を約50%削減できた
  • 16.
    3-2 :線形回帰モデルと最小二乗法⑩ • 3-2-2ガウス=マルコフ定理 • パラメータ𝛽の最小二乗推定はあらゆる線形の不偏推定量の中で最も小さ い分散を持つ、という有名な定理がある • 後に登場するリッジ回帰等、不偏性を持たない推定を考えるきっかけに • パラメータ𝜃 = 𝑎 𝑇 𝛽のあらゆる線形結合の推定に焦点を当てる
  • 17.
    3-2 :線形回帰モデルと最小二乗法.11 • 例:𝜃= 𝑎 𝑇 𝛽の最小二乗推定は 𝜃 = 𝑎 𝑇 𝛽= 𝑎 𝑇 𝑋 𝑇 𝑋 −1 𝑋 𝑇 𝑦 • 𝑋を定数とおくと、上記は目的変数yの線形関数𝑐 𝑜 𝑇 𝑦と言える • 線形モデルが正しいとすると、𝑎 𝑇 𝛽は不偏性を持つ • 𝐸 𝑎 𝑇 𝛽 = 𝐸 𝑎 𝑇 𝑋 𝑇 𝑋 −1 𝑋 𝑇 𝑦 = 𝑎 𝑇 𝑋 𝑇 𝑋 −1 𝑋 𝑇 𝑋𝛽 = 𝑎 𝑇 𝛽 • ガウス=マルコフ定理:他の線形推定量𝜃 = 𝑐 𝑇 𝑦が𝑎 𝑇 𝛽に対して不偏、すな わちE 𝑐 𝑇 𝑦 = 𝑎 𝑇 𝛽ならば次式が成り立つ • 𝑉𝑎𝑟 𝑎 𝑇 𝛽 ≤ Var 𝑐 𝑇 𝑦 (演習3.3) • 幾つかの定義を追加すれば単一の係数𝛽だけでなく、ベクトル𝛽に対して も同様のことが言えるようになる
  • 18.
    3-2 :線形回帰モデルと最小二乗法.12 • θを推定する際の統計量𝜃のMSEは • 𝑀𝑆𝐸 𝜃 = 𝐸 𝜃 − 𝜃 2 = 𝑉𝑎𝑟 𝜃 + [𝐸 𝜃 − 𝜃 ]2 となる • 第一項は分散、第二項はバイアスの二乗 • 最小二乗推定量はあらゆる線形の不偏推定量の中で最も小さい平均二乗誤差を持 つことが示されている • 一方、より小さい平均二乗誤差を持つ不偏でない推定量が存在する可能性はある (例:最小二乗係数の幾つかを縮小、あるいは0にする) • そうしたケースにおいては少しのバイアス増加と引き換えに、分散を減少させる (正則化等。現実世界のモデルは不偏でない推定を行うことが大半) • 現実にはバイアス、バリアンスをバランスさせるものを選ぶ(7章にて)
  • 19.
    3-2 :線形回帰モデルと最小二乗法.12 • 3-2-3単回帰から重回帰へ • 例:1変数モデル 𝑌 = 𝑋𝛽 + 𝜖 • このとき最小二乗推定量 𝛽= 1 𝑁 𝑥 𝑖 𝑦 𝑖 1 𝑁 𝑥 𝑖 2 、残差𝑟𝑖 = 𝑦𝑖 − 𝑥𝑖 𝛽 と書ける • 内積< 𝑥, 𝑦 >= 𝑖=1 𝑁 𝑥𝑖 𝑦𝑖 = 𝑋 𝑇yとすると • 最小二乗推定量、残差はそれぞれ 𝛽=<𝑥,𝑦> <𝑥,𝑥> 、𝑟 = 𝑦 − 𝑥 𝛽と書き直せる
  • 20.
    3-2 :線形回帰モデルと最小二乗法.13 • 次に入力変数が全て互いに直交すると仮定する •これにより多重最小二乗推定量 𝛽𝑖 が1変数の推定量 <𝑥 𝑗 ,𝑦> <𝑥 𝑗 ,𝑥 𝑗 > (3.26)と等しい かを調べるのが楽になる • 一方で現実には全変数が互いに直交することはほぼありえない • 故にここでは強制的に直交させたベクトルを作成する
  • 21.
    3-2 :線形回帰モデルと最小二乗法.13 • 例)直交ベクトルの作成 •切片 𝛽1 、1つの入力xがあるとする • 切片の最小二乗係数 • 𝛽1 = <𝑥− 𝑥1,𝑦> <𝑥− 𝑥1,𝑥− 𝑥1> , ここで 𝑥= 𝑖 𝑥 𝑖 𝑁 , 1 = 𝑥0(𝑁個の1からなるベクトル) • 𝛽1 の推定は単純な回帰(3.26)を適用した結果。手順は以下 • 1. 残差 𝑧 = 𝑥 − 𝑥1を求めるために1(𝑥0)への𝑥の回帰を行う • 2. 係数 𝛽1 を求めるために残差𝑧への𝑦の回帰を行う • 「aへのbの回帰を行う」とはbが目的変数、aが説明変数の単回帰 • そうした時に係数 𝛾 =< 𝑎, 𝑏 >/< 𝑎, 𝑎 >と残差ベクトル𝑏 − 𝛾𝑎が求められる • これはbをaに適応させた(=直交化した)と言える • イメージは次項の図参照
  • 22.
    3-2 :線形回帰モデルと最小二乗法.14 • 入力x1,x2に対する手順 •ステップ1: 残差zを求めるためにx1→x2の回帰 • ステップ2: 係数 𝛽を求めるためにz→yの回帰 • ステップ3: 𝑦を求めるためにyのx1,zそれぞれへの 射影を足し合わせる
  • 23.
    3-2 :線形回帰モデルと最小二乗法.15 • 入力次元が増えた場合に一般化したものが以下 𝛽𝑝 = <𝑧 𝑝 ,𝑦> <𝑧 𝑝 ,𝑧 𝑝 > (3.28) • ステップ2の残差部分を見ると、𝑥𝑗 は𝑧 𝑘 𝑘 ≤ 𝑗 の線形結合である • 𝑧𝑗 は全て直交していて𝑋の列空間の基底をなし、 𝑦への最小二乗射影となる • (3.28)が回帰係数(全て直交しているので、単回帰の和に等しい)
  • 24.
    3-2 :線形回帰モデルと最小二乗法.16 • つまりj番目変数の回帰係数は、jを除く要素に対して回帰を行った後の残 差へのyの単回帰の係数 •言い換えるとj番目変数以外の変数を考慮した後での、yに対するjの貢献度 • 上記から、相関の強い入力があった際の影響が理解できる →残差が0に近づくので、係数が不安定になる →Zスコアが低くなり、相関高いもの全てが大事でない変数に見えてしまう →お互いの価値を殺しあう (右表再掲、表3.2) ※入力変数が相関を持つ場合全てに当てはまる
  • 25.
    3-2 :線形回帰モデルと最小二乗法.17 • 前出の式(3.28)を利用して(3.8)を書き換えることができる •𝑉𝑎𝑟 𝛽 = 𝜎2 <𝑧 𝑝 ,𝑧 𝑝 > = 𝜎2 𝑧 𝑝 2 • 上式から回帰係数 𝛽 𝑝 を推定する際の精度は残差ベクトル𝑧 𝑝 の長さに依存 することがわかる • = 𝑥 𝑝 がどの程度他の𝑥 𝑝 により説明できないか(相関の薄さ)を示している →相関が高い=直交とは遠い状況なので、残差𝑧 𝑝 が短い=σの影響を大きく 受ける
  • 26.
    3-2 :線形回帰モデルと最小二乗法.18 • アルゴリズム3.1はグラム=シュミットの直交化法を用いた多重回帰 •上記のステップ2を行列形式で𝑋 = 𝑍Γと表す • 𝑍は𝑧𝑗 を順に並べた行列、Γは要素 𝛾 𝑘𝑗 の上三角行列 • j番目の要素が𝐷𝑗𝑗 = |𝑧𝑗 |である対角行列Dを導入すると • 𝑋 = 𝑍𝐷−1 𝐷Γ = QRとなる(XのQR分解) • QはN×(p+1)の直交行列で、逆行列が存在する • 𝑅は(p+1) × (p+1)の上三角行列 • QR分解を用いて最小二乗法の解を簡単に示せる • 𝛽 = 𝑅−1 𝑄 𝑇 𝑦(3.32), 𝑦 = 𝑄𝑄 𝑇 𝑦(3.33)
  • 27.
    3-2 :線形回帰モデルと最小二乗法.18-2 • QR分解おまけ •逆行列の計算なしに最小二乗法 における解を求められる (forward stepwise,計算量の説明 部分(3.9)で再登場) 出典: http://decafish.blog.so-net.ne.jp/2013-12-11-1
  • 28.
    3-2 :線形回帰モデルと最小二乗法.19 • 3-2-4複数の目的変数 • 概要だけ • 複数の目的変数があっても、目的変数同士が互いの最小二乗推定に影響を与えない • 故に基本的には各目的変数に対して、別々に最小二乗推定を行えばいい • 3.7で詳しく見ると言っているが不必要に難しいのでここも飛ばす • 3.7で取り扱っているのは、複数目的変数が存在する場合に • 変数選択、縮小推定(リッジ,L2)を別々に適用するか、同じものを使うか • 正則化パラメータも同じものを使うか、別々のものを使うか • それをどうやって一般化した式に落とし込むか • という話 • そうですか。
  • 29.
    3-3 :変数選択 • サマリ •基本的には最小二乗推定だけで満足できないですよね? • (除去すればいいんだけど)マルチコで簡単に死ねる • バイアスを少し犠牲にして般化性能を上げたほうが実際には強い • 変数多いと解釈性が低くなる →変数選択しましょう ※変数選択も一般的にはモデル選択に分類されるが、モデル選択は7章で • どうするのさ? • 前向き/後ろ向き漸次的選択(=forward/backward stepwise) • 上記日本語に慣れてないので以降FstepwiseとBstepwise • 前後ハイブリッドのstepwiseが実装されたパッケージも存在 • 両方実施し、投入変数の数ごとにいい方を選択できる
  • 30.
    3-3 :変数選択① • 3.3.1最良変数組み合わせ選択 • 最も小さな残差二乗和が得られる変数部分集合𝑘𝜖{1 … p}を求めたい • が、最も効率的な跳躍限定法でもpは30~40までしか扱えない • 話は飛んで、前立腺癌を予測する話 • 右図は利用変数の数kを変えた時の MSEを示している • 赤の曲線(最良MSE)は必ず改善する ので、kの決定には役立たない • 一般的にkを決める根拠は期待予測 誤差を最小化するもの • AICが用いられることもある
  • 31.
    3-3 :変数選択② • 3.3.2前向き/後向き漸次的選択法 • kの組み合わせを出すのには、総当たりで調べるよりも良い方法がある • Fstepwise • 切片だけの状態から開始 • 推定を最も改善する説明変数を順次モデルに加えていく • 現在の射影行列をQR分解することにより、次の候補を直ちに決定できる(演習) • greedyアルゴリズムなので、最適解が求まる保証なしだが • p>>Nの場合でも、常に計算可能(QR分解を使うため、計算負荷が少ない) • 制約の強い探索であるため、バリアンス低、バイアス高な変数選択になりやすい(?) という利点があり、利用シーンが存在する
  • 32.
    3-3 :変数選択③ • Bstepwise •全変数を使う状態から開始 • 推定に最も影響しない変数から外していく • Zスコアが最小のものは除外候補 • N>pの場合にのみ適用可能 • 右図は前立腺癌データに対する 最良部分集合、FS、BSの比較 • 本ケースにおいては3者とも概ね 同様の結果 • F値基準の変数追加/削除はダメ! →多重検定考慮がなされていない
  • 33.
    3-3 :変数選択④ • 3.3.3前向き段階的回帰(forward stagewise regression) • FSRはFstepwiseよりも強い制約を受ける • 開始はFstepwiseと同じ、切片のみからスタート • 1. 現在の残差と最も相関の大きい変数を選択 • 2. 当該変数を用いて残差に対する単回帰を実施 • 上記2ステップを残差と相関を持つ変数がなくなるまで繰り返す • Fstepwiseと違い、変数追加時の既存変数の係数は変更されない • 故に最小二乗当てはめを得るためにp回以上繰り返しが必要=遅い • 歴史的に無視されてきたが、逆に高次元問題に好都合だということが判明(3.8.1にて) • 前項グラフではFSRの結果も入れている(縦軸MSE) • テストデータで全相関が10−4未満になるまで、1000回以上の選択が必要だった
  • 34.
    3-3 :変数選択⑤ • 3.3.4例:前立腺癌(続) • 右下図は10fold cross validationの結果(詳解@7.10) • 表の中身は係数 • 下2行は誤差とSE • 必要なパラメータ推定は 当然学習用データのみで 行っている
  • 35.
    3-3 :変数選択⑥ • 右図:様々な回帰手法を比較 •黄色線:EPE(予測誤差) • 水色線:1標準誤差範囲 • 紫点線:標準誤差範囲が最狭
  • 36.
    3-4 :縮小推定 • サマリ •変数選択は離散的(抜くか入れるかの択一)処理なので、分散大な傾向 • 故にerrorがなかなか削減できない • 縮小推定では連続的な処理(係数をよしなに調整)なので、そうした問 題に悩まされない • ridge,みんな大好きlassoに加えてLAR(least angle regression)が登場 • LAR?→2004年登場の手法、lassoとの関連が深い、効率的なアルゴリ ズム
  • 37.
    3-4 :縮小推定① • 3.4.1リッジ回帰(L2) • 回帰係数の大きさに罰則を課し、係数の値を縮小させる • =罰則付き残差二乗和を最小化させて求める • 𝜆 ≥ 0は罰則の大きさを制御するパラメータ • 3.41は3.42のようにも記述できる(𝛽の範囲を制限すればOK) • 相関のある変数が多いと係数の 推定は不安定になるが、係数の 大きさに制約をかければ解消できる
  • 38.
    3-4 :縮小推定② • 明確に𝛽の取れる範囲が制限されているので、事前の標準化は必須 •原点の選び方に依存させないために、切片は罰則項から除く • 上記実施後、(3.41)を2つのパートに分ける • 切片推定部分 - ただの平均 • 係数推定部分 - 標準化された変数を使って、切片なしのリッジ回帰で推定 • (3.41)は行列形式で と書けて • 解は と書ける • 𝐼は𝑝 ∗ 𝑝の単位行列 • この時𝑋 𝑇 𝑋の対角成分に正の定数を加えると𝑋 𝑇 𝑋がフルランクでない 場合でも特異にならなくなるので、逆行列の存在を保証できる
  • 39.
    3-4 :縮小推定③ • 右図:前立腺癌データのリッジ回帰係数 •𝑑𝑓(𝜆)は𝜆により決まる有効自由度(式3.50) ※ハット行列対角成分和(固有値の和でもある) →λ=0なら𝑑𝑓 𝜆 = 𝑝となり、正則化なし • 入力が正規直交している場合、リッジ推定量 は最小二乗推定の倍数( 𝛽 𝑟𝑖𝑑𝑔𝑒 = 𝛽/(1+λ))
  • 40.
    3-4 :縮小推定④ • リッジ回帰は適切に選択した事前分布に基づく、事後分布の平均値/最頻 値として導出できる •𝑦𝑖~𝑁(𝛽0 + 𝑥𝑖 𝑇 𝛽,𝜎2)という分布を仮定 • パラメータ𝛽𝑗~𝑁(0,𝜏2)も仮定 • 𝜏2, 𝜎2が既知とする • 𝛽の(負の)対数事後密度は(3.41)で𝜆 = 𝜎2/𝜏2とした時の波括弧内と等しい(演習) • 事後分布はガウス分布であるため、事後平均=最頻値=リッジ推定量
  • 41.
    3-4 :縮小推定⑤ • 標準化された入力行列𝑋の特異値分解(SVD)により、リッジ回帰の特性に ついてさらなる知見が得られる •サイズ𝑁 ∗ 𝑝の行列𝑋の特異値分解は𝑋 = 𝑈𝐷𝑉 𝑇 • 𝑈, 𝑉はそれぞれ𝑁 ∗ 𝑝, 𝑝 ∗ 𝑝の直交行列 • 𝑈の列ベクトルは𝑋の列空間を張り、 𝑉の列ベクトルは行空間を張る • 𝐷は𝑝 ∗ 𝑝の対角行列で、𝑑1 ≤ 𝑑2 ≤ ⋯ ≤ 𝑑 𝑝 ≤ 0は𝑋の特異値と呼ばれる • ひとつ以上の𝑑𝑗が0の時、𝑋は特異である • SVDを用いると、最小二乗当てはめを行ったベクトルを整理して以下の通り書ける • 𝑈 𝑇 𝑦は𝑦の正規直交基底𝑈に関する座標 • (3.33) 𝑦 = 𝑄𝑄 𝑇 𝑦(再掲)と同様、 𝑄と𝑈は一般的に𝑋の列空間の異なる直交基底である
  • 42.
    3-4 :縮小推定⑥ • リッジ回帰の解はとなる(𝑢𝑗は𝑈の列ベクトル) • ただし𝜆 ≥ 0なので、𝑑𝑗 2 /(𝑑𝑗 2 + 𝜆) ≤ 1である • 線形回帰同様、リッジ回帰も正規直交基底𝑈に関する𝑦の座標を用いて計算でき、これら 座標が𝑑𝑗 2 /(𝑑𝑗 2 + 𝜆)倍だけ縮小される(=𝑑𝑗 2 が小さくなると基底ベクトル座標がより強く縮 小される) • 𝑑𝑗 2 が小さいとは?標準化された行列𝑋の特異値分解は𝑋の変数の主成分とも関連がある • 標本共分散行列は𝑆 = 𝑋 𝑇 𝑋/𝑁で与えられ、(3.45)から次式が与えられる • =𝑋 𝑇 𝑋の固有値分解 • 固有ベクトル𝑣𝑗(𝑉の列ベクトル)は𝑋の主成分方向と呼ばれる
  • 43.
    3-4 :縮小推定⑦ • 第一主成分方向𝑣1は𝑧1= 𝑋𝑣1が𝑋の列ベクトルのあらゆる標準化線形結合の中で最も大き い標本分散を持ち、以下式で表すことができる。 ここで𝑧1 = 𝑋𝑣1 = 𝑢1 𝑑1 • また𝑧1は𝑋の第1主成分と呼ばれ、𝑢1は正規化第1主成分と呼ばれる • 主成分𝑧𝑗は最大の分散𝑑𝑗 2 /𝑁を持ち、それ以前の主成分と直交する • 最後の主成分は最小の分散を持つがゆえ、小さい特異値𝑑𝑗は𝑋の列空間において小さい分 散を持つ方向に対応しており、リッジ回帰はこれらの方向の成分を最も縮小させる
  • 44.
    3-4 :縮小推定⑧ • 右図は2次元データ点の主成分例 •第一主成分は分散を最大にするもの • 最小主成分は分散を最小にするもの • 予測対象は変数に応じて変化することを仮定 しているので、基本的に入力の分散が大きい方向 に最も変化しやすいと考えられる
  • 45.
    3-4 :縮小推定⑨ • 既出の右図(図3.7)で示された図についての追記 •縦軸:CVでの平均予測誤差 • 横軸:自由度df(λ) • 通常変数の数がpであれば、自由度はpになる • リッジ回帰でp個の係数は0にはならない(λの制約を受けた形で当てはめに用いられる) ※次項の図参照 • λ=0の場合df(λ)=p、 λ=inf.の場合df(λ)=0(切片分の自由度1は除去 された前提、3.4.4と7.4~7.6参照) • 罰則項なしの場合と比較してリッジ回帰を使うことにより 評価誤差を減少させられる(表3.3、右に再掲)
  • 46.
    3-4 :縮小推定⑩ • ridgeで係数が0にはならないよ、というお話 •横軸:自由度 縦軸:係数 • λを絞って自由度を下げると大きな係数が より大きく減り、小さな係数はあまり変化しない ことがわかる →自由度最大の時に出てくる係数の大きさ (標準化前提)に比例して縮小する動きになる • 縦破線df(λ)=5はテストデータを使ってCVにより 決定した値(ridgeを使った場合の最良param)
  • 47.
    3-4 :縮小推定.11 • 3.4.2Lasso • みんな大好きlasso • Ridgeとの違い? • →罰則のnormが二乗か絶対値か • lasso解は非線形なので、解析的に解くことはできず、二次計画問題を解く必要がある • リッジ回帰と同等の計算量で解を求めるアルゴリズムが存在 • 罰則の性質上、係数の幾つかは完全に0になる、故にlassoは連続的変数選択とも言える • 縮小の特性は3.4.4で詳解 Lasso Ridge ラグランジュ形式のLasso
  • 48.
    3-4 :縮小推定.12 • 調整パラメータtを変化させた時のlasso係数の動きは右図 •横軸sは標準化したパラメータt • s=1の時、罰則項がないものと同様 • 縦破線はCVで決定した0.36 • この時>0の係数を持つ変数は4つ • この時のモデルの評価誤差は、全体で2番目に低い • 標準誤差はかなり大きいが、評価誤差は罰則項なしのケースよりも良
  • 49.
    3-4 :縮小推定.13 • 3.4.3考察:部分集合選択、ridge、lasso • 上記は全て線形回帰に制約を加えたもの • 入力行列Xが正規直交している場合、3つの手法は明確に異なる挙動を示す • 解は最小二乗推定量 𝛽𝑗に簡単な式変形を加えることで得られる • ridge:パラメータに比例した縮小 • lasso:定数λを係数から引き、0に切り詰め(ソフト閾値処理、5.9ウェーブレット平滑化でも登場) • 部分集合:係数の大きさがM番目のものよりも小さい変数を全て除外(ハード閾値処理) • 入力行列が直交しない場合、右図が理解に役立つ • 2変数しかない場合のlasso(左)、ridge(右)の比較 • 残差二乗和は等高線(点 𝛽の周り) • ridge制約は𝛽1 2 + 𝛽2 2 = 𝑡2 の円形 • lasso制約は|𝛽1| + |𝛽2| = 𝑡の四角形(マンハッタン距離的な) →頂点が解になった場合、もう一方のパラメータ𝛽𝑗は0になる p>2の時、多くの頂点、面を持つようになる =多くのパラメータが0になる可能性が高まる
  • 50.
    3-4 :縮小推定.14 • ridge,lasso,部分選択を一般化し、ベイズ推定としてみることができる(下式) •ただし 𝑞 ≥ 0 • 右図は2変数に対する 𝑗 |𝛽𝑗| 𝑞の等高線 • |𝛽𝑗| 𝑞を𝛽𝑗の対数事前確率密度だと考えると、パラメータの事前分布についても、同 じく等高線が得られる • q=0:部分集合 • q=1:lasso • このケースは各入力が独立な二重指数関数分布(orラプラス分布)に従い、確率密度は • 1 2𝜏 exp − 𝛽 𝜏 , 𝜏 = 1/𝜆 • q=2:ridge
  • 51.
    3-4 :縮小推定.15 • ridge,lasso,変数部分選択手法はqの値によって異なる事前分布を持った、ベイズ 推定であると言える(前項に同じ) • しかしここで用いられているのは事後分布の最頻値 • ベイズ的には事後確率の平均値を用いるのが一般的 • ridgeはmode=平均なので問題ないが、lassoと部分選択はそうではない • 式3.53を見直すと、qに0,1,2以外を試したくなる • データからqを推定しようとすると、(筆者経験的には)分散が増えるだけであまり価値はない • q=1~2の間だと試す価値はありそう →q>1なので|𝛽𝑗| 𝑞 は0で微分可能であり、lassoの特性(係数0化)は失われる • これを受けてelastic netが2005年に考案された(右式) • 右図はq=1.2の時の𝐿 𝑞罰則と𝛼 = 0.2の時のEN罰則の比較 • 違いは見つけづらいが、ENはlassoのように変数選択し、ridgeのように高相関の変数の係数 を同時に縮小させる。加えて𝐿 𝑞罰則と比較して計算コストがかなり有利(18.4で詳解)
  • 52.
    3-4 :縮小推定.16 • 3.4.4最小角回帰(Least Angle Regression,LAR) • 2004年に提案された比較的新しい手法。 • lassoとの関連が深く、図(3.10、右下再掲)のようなlassoの完全な解経路を計算できる、 効率的なアルゴリズム • FSR • 一度に1つずつ変数を追加していくことで、連続的にモデルを構築 • 各ステップで使用済変数集合に加える最良の変数を選択、全使用済み変数 を使用して最小二乗当てはめを更新する • LAR • 1. 変数を標準化、残差はr = y − 𝑦 , 係数𝛽𝑗は全て0からスタート • 2. rと最も相関の高い変数𝑥𝑗を選択 • 3. 𝛽𝑗を0から最小二乗係数< 𝑥𝑗, 𝑟 >に向かって、他の変数𝑥 𝑘と現在の残差 との相関が𝑥𝑗と同じになるまで変化させる • 4. 𝛽𝑗と𝛽 𝑘を(𝑥𝑗, 𝑥 𝑘)の現在の残差に対する最小二乗係数の方向に、他の変数𝑥𝑙 が現在の残差と同じ相関を持つようになるまで変化させる • 5. p個の変数がモデルに加わるまで継続。min(N-1,p)回の操作後、解を得る
  • 53.
    3-4 :縮小推定.17 • LARの補足 •ステップ5の終了条件 • p>N-1の場合、LARはN-1回の操作ののちに残差が0となる解に到達 • k回目の操作開始時の使用済み変数集合をΑ 𝑘、係数ベクトルを𝛽Α 𝑘 とするとk-1個の非0要素があり、 追加されたばかりの係数も0になる • 現在の残差を𝑟𝑘 = 𝑦 − 𝑋Α 𝑘 𝛽Α 𝑘 とすると、このステップでの方向は 𝛿 𝑘 = (𝑋Α 𝑘 𝑇 𝑋Α 𝑘 )−1 𝑋Α 𝑘 𝑇 𝑟𝑘となる • 係数は𝛽Α 𝑘 𝛼 = 𝛽Α 𝑘 + 𝛼・𝛿 𝑘と更新される(演習3.23,相関が互いに関連し合い、減少していく) • ステップ開始時の射影ベクトルを 𝑓𝑘とすると𝑢 𝑘 = 𝑋Α 𝑘 𝛿 𝑘という新しい方向に向かって 𝑓𝑘 𝛼 = 𝑓𝑘+ 𝛼・𝑢 𝑘のように更新される • 最小角、という名前はこの操作の幾何学的解釈から来ている • 𝑢 𝑘はΑ 𝑘の中の各予測変数に対する最小の角度に対応(演習3.24)
  • 54.
    3-4 :縮小推定.18 • LARの補足:続き •LAR各ステップにおいて順に変数が追加され相関係数の絶対値が 減少していくグラフ(右図、図3.15) • LARの係数は区分的線形性を持って変化する • (下図左、図3.16)はL1弧長に対するLAR係数の変化の様子を描画 • 予測変数の共分散、アルゴリズムの特性から 各ステップの更新幅を正確に計算できる • 下図右は左と同じデータでlassoの時 • 左とほぼ同様も、青線の挙動が大きく違う • 青線が0を跨ぐまで、2つは概ね同様の挙動
  • 55.
    3-4 :縮小推定.19 • LARやlassoは計算効率性が高い •p個の予測変数を用いた最小二乗回帰と同じオーダーの計算時間 • LARとlassoの解経路は似たものになるが、LARは常にp回、lassoはp回以上の操作を必要 とする • lassoのうち、p>>Nのケースで効率的な計算を行えるのが、前出LARロジックのステッ プ4を変えたもの • 1. 変数を標準化、残差がr = y − 𝑦, 係数𝛽𝑗全て0からスタート • 2. rと最も相関の高い変数𝑥𝑗を選択 • 3. 𝛽𝑗を0から最小二乗係数< 𝑥𝑗, 𝑟 >に向かって、他の変数𝑥 𝑘と現在の残差 との相関が𝑥𝑗と同じになるまで変化させる • 4. 𝛽𝑗と𝛽 𝑘を(𝑥𝑗, 𝑥 𝑘)の現在の残差に対する最小二乗係数の方向に、他の変数𝑥𝑙 が現在の残差と同じ相関を持つようになるまで変化させる • 4’. 非ゼロ係数が0になった時、その変数を使用済み変数集合から除外し、 現在の結合最小二乗方向を再計算する • 5. p個の変数がモデルに加わるまで継続。min(N-1,p)回の操作後、解を得る
  • 56.
    3-4 :縮小推定.20 • LARとlassoが類似する理由? •LARは相関を用いているが、変数が標準化されていれば相関を内積で代替できる • 使用済み変数集合をΑとすると、これは現在の残差y − X𝛽と内積の絶対値で結びつく • → のように表せる • ここで𝜖 −1,1 は内積の符号, 𝛾は共通の値 • また、ここで𝑥 𝑘 𝑇 𝑦 − 𝑋𝛽 ≤ 𝛾, ∀𝑘 ! 𝜖 𝐴も成り立つ(!はnotの意) • lasso規準(3.52、右再掲)をベクトル形式で書くと • さらに𝐵をある値λにおける解の使用済み変数集合としたとき、 𝑅 𝛽 は微分可能で が得られる • 式3.58、3.56を比較すると𝛽𝑗の符号と内積の符号が一致する場合同一 →LARとlassoの使用済み変数の係数が0をまたぐと差異が生ずる
  • 57.
    3-4 :縮小推定.21 • 右上(図3.17)はLAR,LASSO+3modelを比較 • N=100である点を除いて図3.6(右下)と同じ • 以降右上図について • FS(黒)は早期からオーバーフィット • 収束の遅いFSR(黄)と比較して、推定精度悪 • LAR, lassoはFSRと同様の変化 • IFSR(緑)は3.8.1で紹介
  • 58.
    3-4 :縮小推定.22 • LAR,lassoの自由度方程式 • LARを用る際、k回(k<p)の操作後、もしくはlassoにおいて操作回数上限tを設けると、 制約付き最小二乗解が得られる • どの程度のパラメータの多さ(自由度)にすればいいか? →適応的に当てはめるモデルの有効自由度について一般的な定義が必要 • 適合させるベクトル 𝑦 = ( 𝑦1, 𝑦2, … , 𝑦 𝑁)の自由度を以下のように定義 Cov( 𝑦𝑖, 𝑦𝑖)は標本共分散 • 故にdf( 𝑦)が大きくなればデータへの適合が難しくなる(7.4~7.6で詳解) • 通常のk個の変数を用いた線形回帰ではdf( 𝑦)=k • 大きさkの最良部分集合選択ではdf( 𝑦)>K, しかし直接推定する閉系式は存在しない • LARでは変数が除去されるケースがあるので、p回以上の手順を要することが多い • lassoではdf( 𝑦)は変数の数と同等になる
  • 59.
    3-5 :入力に対して線形変換を行う方法 • サマリ •回帰の入力を元の変数(の一部を)線形結合したものとする方法の紹介 • PCR (主成分回帰) • 3.4.1で定義した主成分を回帰のインプットとする • 入力のスケールに影響を受けるので、標準化必須 • 入力次元数が元の変数の次元数と一致する場合、ノーマルの最小二乗法と一致 • イメージ的にはridgeに近い(ridgeは係数の縮退、PCRは下位主成分の除去=選択法) • PLS(部分最小二乗法) • 分散が大きく、かつYとの相関が高い主成分を随時足していく • ただし制約の強さは 分散大>Yとの相関 • 故に挙動はPCR, ridgeに近い • 主成分だと分散の大きいものだけ足す • Yとの相関も用いるので、入力にXだけでなくYが必要 • これも標準化必須
  • 60.
    3-5 :入力に対して線形変換を行う方法① • 元の入力𝑋𝑗よりも少ない数の線形結合𝑍𝑚を回帰の入力とする • どう線形結合を作るかは手法によって異なる • 3.5.1 PCR(主成分回帰) • 3.4.1項で定義した主成分を𝑍 𝑚として用いる • 𝑍 𝑚 = 𝑋𝑉𝑚を計算し、𝑍1, 𝑍2,…𝑍 𝑚(M ≤ 𝑝)を用いてyの回帰を行う • 𝑍 𝑚は直交するため、回帰関数は単回帰の和となる ただし 𝜃 𝑚は< 𝑍 𝑚, 𝑦 >/< 𝑍 𝑚, 𝑍 𝑚 > • 𝑍 𝑚は元の入力の線形結合なので、(3.61)の解を𝑋𝑗とその係数を用いて表せる
  • 61.
    3-5 :入力に対して線形変換を行う方法② • その他特徴 •ridge同様、スケールに影響を受けるので、標準化必須 • M(主成分数)=p(元の変数の数)の場合は通常の最小二乗推定に一致 • PCRとridgeは両者とも入力の主成分を用いる点で似ている • ridgeは主成分の係数を縮退(縮退法) • PCRは小さい方からp-M個の主成分を除去(選択法) • 比較は下図(3.18、縦軸:重み、横軸:主成分) • おまけ • 前立腺データだとPCRが一番小さい評価誤差 • その際のM=7
  • 62.
    3-5 :入力に対して線形変換を行う方法③ • PLS(部分最小二乗法) •入力Xだけでなく、出力Yも使用 • スケール不変でないため、標準化必須 • 以下と合わせて見ると理解が深まる • https://www.slideshare.net/shoheikumagai/partial-least- squares?qid=040df166-3658-45c2-958a- 4e30f7b361c1&v=&b=&from_search=1
  • 63.
    3-5 :入力に対して線形変換を行う方法④ • PLSは何をしているか •分散が大きく、ターゲットyと相関の高い(主成分)方向を探索 • m番目主成分𝑉𝑚は以下を満たす • ここで𝑆は𝑋𝑗の標本共分散行列 • • 第二項𝛼 𝑇 𝑆 𝑣𝑙はそれまでに計算したすべての線形結合𝑍𝑙 = 𝑋 𝑣𝑙と𝑍 𝑚 = 𝑋 𝛼が無相関であることを保証。一方m番目の部分最小二乗方向 𝜑 𝑚は • を満たす • 方向よりも分散に関する制約の方が支配的なのでridge,PCRに近い挙動 • 入力が直交している場合、PLSはm=1回の操作で最小二乗推定に到達 • m=1…pに対するPLS係数は最小二乗解計算のための共役勾配と同様
  • 64.
    3-6 :考察:選択法と縮小法の比較 • サマリ •選択法、縮小法をいろいろ紹介してきたが、まとめて俯瞰します • ridgeでは係数があらゆる方向に縮小する • ただし分散がより小さい方向へ • PLSは分散の小さい方向を縮小させ、分散の大きい方向に下駄を履かせる • これによりPLSはやや不安定になり、ridgeと比較してやや大きい予測誤差が出る • Frank and Friedman(1993)によると、予測誤差を小さくするには、PCR,PLSよりも ridgeの方が望ましいと結論づけている • 一方で、PCR,PLSに対するridgeの優位性はわずか • PCRは分散の大きいM個の方向を残し、他を捨てる • PLS,PCR,ridgeは似てるがrigdeは縮小が離散的でなく連続的である点で好ましい • lassoはrigdeと変数選択の中間的な挙動を示し、両者の特性を併せ持つ
  • 65.
    3-6 :考察:選択法と縮小法の比較① • 実験: •相関係数pを持つ入力𝑋1と𝑋2を考える • 真の回帰係数は𝛽1 = 4, 𝛽2 = 2だと仮定 • 紹介した手法について、調整paramを変化させた時の係数挙動を示す • ridge,lassoのparamは連続的に変化させる • その他は2段階(使用/不使用)の推定を行う • p=0.5の場合 • ridgeは2つの係数を同時に縮小 • PLS,PCRはridgeと似てるが、離散的な値をとる • 変数選択は一度行きすぎてから引き返す • lassoは他と比較して中間的な振る舞い
  • 66.
    3-6 :考察:選択法と縮小法の比較② • 実験: •p=-0.5の場合 • すべての手法がより近い挙動を示す • PLS,PCRはやはりridgeと似た挙動(と記述あり。ホント?)
  • 67.
  • 68.
    3-8 :lassoと関連する解追跡アルゴリズム に関する詳細 • サマリ: •逐次前向き段階的回帰(Incremental Forward Stagewise Reg.) • forward stagewise boostingの線形回帰ver(L2 boostと呼ばれている模様,16.2で詳解) • 区分的線形解追跡アルゴリズム • lasso係数軌跡の区分的線形性を利用した、解追跡アルゴリズム。12.3.5で詳解 • ダンツィク選択器 • lassoと似た係数軌跡を描くが、正則化param次第で誤差を多分に含んだ係数が出る • グループlasso • 同一グループに属する説明変数の係数を同時に縮小/選択する場合に適用可 • lassoの性質 • 馴染みの手法、lassoでの変数選択が登場!adaptive lassoは魅力的な手法 • 総当たり座標最適化 • lasso解を計算するLARに代わる手法。大規模データならLARより収束が早い
  • 69.
    3-8 :lassoと関連する解追跡アルゴリズム に関する詳細① • 3.8.1逐次前向き段階的回帰(IFSR) • 16.2で詳解されるforward stagewise boostingの線形回帰ver • 現在の残差と最も相関の高い変数の係数を少しずつ更新する • 実際の動き: • 1. 係数𝛽1 … 𝛽 𝑝 = 0、残差r = y、変数は全て標準化した状態からスタート • 2. 残差rと最も相関の高い変数𝑥𝑗を見つける • 3. 𝛽𝑗 ← 𝛽𝑗 + δ𝑗, 𝑟 ← 𝑟 − δ𝑗 𝑥𝑗 ここでδ𝑗 = 𝜖・𝑠𝑖𝑔𝑛[< 𝑥𝑗, 𝑟 >]、 𝜖 > 0は更新幅 • 4. ステップ2,3を残差、説明変数の相関がなくなるまで実施 ※更新幅が残差に対する𝑗番目説明変数の最小二乗係数である場合、3.3.3FSと同一
  • 70.
    3-8 :lassoと関連する解追跡アルゴリズム に関する詳細② • 下図(3.20)左は前立腺癌データで𝜖 = 0.01としたケースの係数軌跡 • 𝜖←0(極小)の場合、下図右(=lasso経路と同一、𝐹𝑆0と呼ぶ) • 𝐹𝑆0はブースティングのような、非線形&適応的アルゴリズムで重要(10,16章) • 𝐹𝑆0はIFSRを理論的に解析しやすくしたverとも言える • 𝐹𝑆0をL2boostingと呼ぶ人もいる • 歴史コーナー • 当初LAR= 𝐹𝑆0と考えられていた • やがてLARで相関係数の符号と 回帰係数の符号の不一致が起きた →おかしい • LARの一部を修正し、 𝐹𝑆0を完成
  • 71.
    3-8 :lassoと関連する解追跡アルゴリズム に関する詳細③ • 修正箇所:LAR(𝐹𝑆0修正) •1. 変数を標準化、残差がr = y − 𝑦, 係数𝛽𝑗全て0からスタート • 2. rと最も相関の高い変数𝑥𝑗を選択 • 3. 𝛽𝑗を0から最小二乗係数< 𝑥𝑗, 𝑟 >に向かって、他の変数𝑥 𝑘と現在の残差 との相関が𝑥𝑗と同じになるまで変化させる • 4. 𝛽𝑗と𝛽 𝑘を(𝑥𝑗, 𝑥 𝑘)の現在の残差に対する最小二乗係数の方向に、他の変数𝑥𝑙 が現在の残差と同じ相関を持つようになるまで変化させる • 4. 制約付き最小二乗問題を解いて、新しい方向を探索する min||𝑟 − 𝑋𝐴 𝑏||2 2 subject to 𝑏𝑗 𝑠𝑗 ≥ 0, 𝑗𝜖𝐴 ここで𝑠𝑗は< 𝑠𝑗, 𝑟 >の符号 • 5. p個の変数がモデルに加わるまで継続。min(N-1,p)回の操作後、解を得る • →非負の最小二乗回帰であり、係数と相関係数の符号を一致させる • 係数経路が単調非減少、非増加の場合、LAR, lasso, 𝐹𝑆0の解経路は一致 • 単調でなくとも0をまたがなければ、LARとlassoの経路は一致
  • 72.
    3-8 :lassoと関連する解追跡アルゴリズム に関する詳細④ • 𝐹𝑆0の係数軌跡は微分方程式に対する解 •lassoが係数ベクトル𝛽の𝐿1ノルムを増加させるたびに残差二乗和を減少させる • 𝐹𝑆0は係数軌跡の𝐿1ノルムが増加するたびに最適化を行う。故に係数軌跡は頻繁 には方向を変えない • 𝐹𝑆0はlassoよりも制約が多く、lassoの簡易版と見ることができる • p>>Nの場合においては𝐹𝑆0はlassoよりも有効な可能性あり • そうしたケースでは𝐹𝑆0の係数軌跡はlassoと比較して分散が小さく滑らかになるから • 𝐹𝑆0の詳細は16.2.3でも登場 • 図3.17では𝐹𝑆0と𝑙𝑎𝑠𝑠𝑜が似た性能である旨観察できる ※それぞれ緑線と橙線
  • 73.
    3-8 :lassoと関連する解追跡アルゴリズム に関する詳細⑤ • 3.8.2区分的線形解追跡アルゴリズム • あまり突っ込まない • LARはlasso係数軌跡の区分的線形性を利用している • これは他の正則化問題に対しても適用でき、似たような解追跡アルゴ リズムを導くことができる。以下例題 ※損失関数L,罰則関数Jは凸 • 係数軌跡 𝛽(𝜆)が区分的線形となる • ための十分条件は以下2点 • 1.𝑅が𝛽の2次関数or区分的2次関数かつ • 2. 𝐽が𝛽について区分的線形 • 詳しくは12.3.5で紹介される
  • 74.
    3-8 :lassoと関連する解追跡アルゴリズム に関する詳細⑥ • 3.8.3ダンツィク分類器 • これもあまり突っ込まない • lassoと比較して挙動不安定 • 現時点で後につながる話(~で詳解等)もでてこない • 必要なら後で参照でいいかと
  • 75.
    3-8 :lassoと関連する解追跡アルゴリズム に関する詳細⑦ • 3.8.4グループlasso • 同じグループに分類される変数(ダミー変数等)が存在する場合で、同 じグループに属する変数に対して同様の処理(変数選択、係数縮小)を 実施したい時に使用 • p個の変数がL個のグループに分割されるとする • 𝑝𝑙をグループ𝑙に属する変数の個数とする • 𝑋𝑙をグループ𝑙に属する変数の集合とし、対応する係数ベクトルを𝛽𝑙とする • グループlassoは以下凸基準を最小化する • 𝑝𝑙は(変化する)グループの大きさ、||・||2は(二乗しない)ユークリッドノルム
  • 76.
    3-8 :lassoと関連する解追跡アルゴリズム に関する詳細⑧ • 3.8.5lassoの性質 • いい変数と邪魔な変数との相関はそれほど高くない • 係数について、lassoによる縮小は非ゼロ係数の推定に対して0に向か うバイアスをかけるが、標本数が増加しても真の値に収束するかどう かの保証がない • 上記問題を解決するために • 非ゼロ係数の特定のためだけにlassoを使い、選択された変数について • 制約のない線形モデルを当てはめ →選択された数が多いとうまくいかない • さらにlassoを適用 →緩和lassoとして知られる →1回目lassoの罰則paramをCVで決定、2回目lassoの罰則paramは選択された変 数だけを使ったCVで確認。ゴミが混ざっていないので、λは1回目より減る
  • 77.
    3-8 :lassoと関連する解追跡アルゴリズム に関する詳細⑨ • 大きな係数に対してはあまり縮小しないようにlassoの罰則関数を書き 換えるという手も(smoothlyclipped absolute deviation,SCAD罰則) • 具体的には𝜆|𝛽|を𝐽 𝑎(𝛽, 𝜆)に入れ替える • ただしa>2 • 角カッコ内第2項は大きな𝛽に対する縮小幅を減少させる効果がある • 極限𝑎 → 𝑖𝑛𝑓.では縮小効果がなくなる • 右下図(3.21)はそれぞれlasso,SCAD, 𝛽 1−𝜐(𝑎𝑑𝑎𝑝𝑡𝑖𝑣𝑒 𝑙𝑎𝑠𝑠𝑜)の罰則値 • SCADは非凸なので計算困難
  • 78.
    3-8 :lassoと関連する解追跡アルゴリズム に関する詳細⑩ • adaptivelasso • j=1 𝑝 𝜔𝑗|𝛽𝑗|, ただし𝜔𝑗 = 1/| 𝛽𝑗| 𝜐という形の重み付き罰則を用いている • 𝛽𝑗は通常の最小二乗推定による係数、 𝜐 > 0 • 上記は3.4.3で紹介された|𝛽| 𝑞罰則の実用的近似 • adaptive lassoではlassoの持つ魅力的な凸性を残しつつ、一致性を 持った係数の推定が行える
  • 79.
    3-8 :lassoと関連する解追跡アルゴリズム に関する詳細.11 • 3.8.6総当たり座標最適化 • lasso解を計算するLARに代わる手法として、単純な座標降下法がある • ラグランジュ形式(3.52)の罰則パラメータλを固定し、パラメータ一 つずつについて、他のパラメータを固定して最適化を図る • 説明変数は全て標準化されているとする • (3.52)から𝛽𝑗を分離して以下形式にする • 𝛽 𝑘(𝜆)はパラメータ𝜆に対する𝛽 𝑘の • 現在の推定値 • 上式は𝑦𝑖 − 𝑦𝑖 𝑗 = 𝑦𝑖 − 𝑘!=𝑗 𝑥𝑖𝑘 𝛽 𝑘(𝜆)を目的変数とした、1変数lassoとみれる
  • 80.
    3-8 :lassoと関連する解追跡アルゴリズム に関する詳細.12 • 解の更新式はで与えられる • 𝑆 𝑡, 𝜆 = 𝑠𝑖𝑔𝑛 𝑡 (|𝑡| − 𝜆)+は図(3.11、右下)で示したソフト閾値処理 (lasso,rigdeのケース) • 𝑆 ・ に最初に入力するのは標準化された変数𝑥𝑖𝑗の部分残差への単純な 最小二乗係数 • 係数の収束まで(3.84)を各変数に順 に適用し、lasso推定値 𝛽𝑗 𝜆 を得る • 𝛽 𝜆max = 0となる最小の𝜆maxから 開始、収束するまで𝜆を少しずつ 小さくしながら、係数を更新 • 18.4.2でも登場予定
  • 81.
    3-9 :計算上考慮すべき事柄 • 最小二乗当てはめは、通常𝑋𝑇 𝑋のコレスキー分解or𝑋のQR分解による • 標本数N,次元数pとすると、 • コレスキー分解の計算量: 𝑝3 + 𝑁𝑝2 /2 • QR分解の計算量: 𝑁𝑝2 • least angle reg.でlasso解を得る時の計算量:最小二乗回帰と同じオーダー