『岩波データサイエンス Vol.5』
を読む
[特集]スパースモデリングと多変量
データ解析
池田「スパース性を用いた推定」
2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 1
はじめに
• 本資料・勉強会の目的
– X:分かっている人が分からない人に教える
– ○:
• 分からない(知らなかった)人が、分からないなりに勉強し、
整理してみる
• 同じような⽴場・思いの人と、ともに学ぶ“材料”
• ⇒間違いの訂正、補⾜、ご意⾒・コメント等々を
ぜひよろしくお願いします。
2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 2
この本
• 岩波データサイエンス Vol.5
• [特集]
スパースモデリングと多変量
データ解析
– 岩波データサイエンス刊⾏委
員会 編
– 2017年2⽉刊⾏
– 岩波書店
2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 3
目次
• 特集「スパースモデリングと多変量
データ解析」
• 池田・伊庭・麻生
<基礎編>
• モデル選択超速習
– AICからスパースまで
• 伊庭幸人
• スパース性を用いた推定
• 池田思朗
• スパースモデリングを体験してみる
• 岩波データサイエンス刊⾏委員会
<展開編>
• 依存関係にスパース性を入れる
– グラフィカルlassoの話
• 井手剛
• 画像処理とスパース
• 本谷秀堅
• 時間遷移のスパース性
– マーケットシェアの遷移を捉える
スパースグラフモデリング
• 日野英逸
<応用編>
• ⾏列データの分解
• 麻生英樹
– <コラム>⾏列のトレースノルム
– 麻生英樹
• ⾏列分解をリコメンデーションに活かす
– Rによる実践例
• 尾崎隆
2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 4
池田「スパース性を用いた推定」
:本解説の概要
• (導入部分)
• lasso ・・・ スパース性を利用した推定⽅法の代表格
– 提案されたのは1996年(Tibshirani)
– 多くの分野で顔を出す
• もはや「スパース性」の流⾏は⼀過性ではない
» カーネル法でも深層学習でも
» 統計学、機械学習以外 ・・・ 情報理論、凸最適化理論でも
• 本解説で説明すること
⇒ “lasso を中心としたスパース性に基づく方法”
2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 5
池田「スパース性を用いた推定」
:本解説の概要
2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 6
1. lasso
2. スパース性を
用いた推定
3. lasso の解を
求める方法
4. まとめ
• lasso の基本の説明
• 手法の“形式的な”適用への注
意喚起
• 背景
• 定式化
• 規格化
• パラメータを選ぶ
• elastic net
• group lasso
• fused lasso
• 判別問題への拡張
• ‖ ‖_1=1 のときへの拡張
• 2次計画法で解く
• 繰り返し法で解く
• LARS-lasso によって
solution path を求める
• lasso の基本要素を一般化、
拡張することで得られるいく
つかの方法の紹介
• lasso の解法の概要
• 汎用的な方法と専用アルゴリ
ズム、そしてLARS-lasso
• 使いこなす鍵は・・・
“解に何らかのスパース性が
あるという「仮定」”
(二つのコラム)
• lasso と並ぶもう一つの
主役、圧縮センシング
• ベイズ統計と lasso
本解説の目次 (各節・項のタイトル) 記載内容のサマリー
参考文献
• [1]荒木孝治(2013), 罰則付き回帰とデータ解析環境R, オペレーションズリサーチ, 2013年5⽉号
• [2]Hastie, T., and Tibshirani, R. (2014), 統計的学習の基礎: データマイニング・推論・予測,
共⽴出版
• [3]廣瀬慧(2014), Lasso タイプの正則化法に基づくスパース推定法を用いた超高次元データ解析,
数理解析研究所講究録 1908 : 57-77
(http://www.kurims.kyoto-u.ac.jp/~kyodo/kokyuroku/contents/pdf/1908-05.pdf)
• [4]⿅島久嗣, 「数理情報⼯学特論第⼀【機械学習とデータマイニング】1章:概論(3)」講義資
料(www.geocities.co.jp/kashi_pong/1-3.pdf)
• [5]冨岡亮太(2015), スパース性に基づく機械学習, 講談社
• [6]山下信雄(2013), Coordinate Descent 法について, 「最適化の基盤とフロンティア」研究部会
講演資料
(https://www.slideshare.net/amp-kyoto/coordinate-descent)
• [7] Das, K. and Sobel, M.(2015), Dirichlet Lasso: A Bayesian approach to variable
selection, Statistical Modelling, vol.15 (3) (2015), 215–232
• [8] Efron, B., Hastie, T., Johnstone, I., and Tibshirani, R. (2004), Least Angle
Regression(with discussion), The Annals of Statistics, 32, 407–499.
2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 7
池田「スパース性を用いた推定」
:【1. lasso】
2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 8
1. lasso
2. スパース性を
用いた推定
3. lasso の解を
求める方法
4. まとめ
• lasso の基本の説明
• 手法の“形式的な”適用への注
意喚起
• 背景
• 定式化
• 規格化
• パラメータを選ぶ
• elastic net
• group lasso
• fused lasso
• 判別問題への拡張
• ‖ ‖_1=1 のときへの拡張
• 2次計画法で解く
• 繰り返し法で解く
• LARS-lasso によって
solution path を求める
• lasso の基本要素を一般化、
拡張することで得られるいく
つかの方法の紹介
• lasso の解法の概要
• 汎用的な方法と専用アルゴリ
ズム、そしてLARS-lasso
• 使いこなす鍵は・・・
“解に何らかのスパース性が
あるという「仮定」”
(二つのコラム)
• lasso と並ぶもう一つの
主役、圧縮センシング
• ベイズ統計と lasso
本解説の目次 (各節・項のタイトル) 記載内容のサマリー
池田「スパース性を用いた推定」
:【1. lasso】
• 【1 lasso】:背景
• Least Absolute Shrinkage and Selection Operator
• (“ラッソ”? “ラスー”?)
• ここでの解説の基本となる線形回帰モデル
– = ( ) + ⋯ + + ⋯ + +
– ~ 0, , = 1,2, ⋯ ,
– ※ただし、 = 0 (← y と x(j) の平均は 0 に調整)
– 最尤法によって β を求めるには ・・・
• min ∑ − ∑
2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 9
池田「スパース性を用いた推定」
:【1. lasso】
• 【1 lasso】:背景
• 従来の統計学 ・・・
• 議論の対象は
“推定値 ! が N → ∞ のとき漸近的にどう振る舞うか”
• (ないし ) のケース
• サンプルサイズ(N)に⽐べて変数・特徴量の数(p)が多い
• 近年、頻繁に直⾯ ・・・ “ビッグデータ”とか
• どうすればよい??
– 漸近論による議論は使えない
– そもそもパラメータ(βj)の推定ができるかどうかさえ怪しい
2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 10
池田「スパース性を用いた推定」
:【1. lasso】
• 【1 lasso】:背景
• (ないし ) のケース
• どうすればよい??
– 漸近論による議論は使えない
– そもそもパラメータの推定ができるかどうかさえ怪しい
• もし、" < $ でも、βj のほとんどが0だと分かっていれば・・・
– ⇒ これは大きなヒント (“妥当”であることは少なくない)
– ⇒ あとは信じるに⾜る⽅法で、βj の多くが0となるような推定ができれば
– ⇒ lasso の提案!!
• スパースな推定としての「lasso」
• < % でも、スパースな(0の多い)パラメータベクトルを推定
• 縮小推定 → 安定的なパラメータ推定
• モデル選択⽅法としても、ベイズのMAP推定としても妥当な⽅法
• 統計学の困っていた問題に対して、ちょうどよい強⼒な道具が出現!
2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 11
池田「スパース性を用いた推定」
:【1. lasso】
• 【1 lasso】:定式化
• lasso 定式化[1] ・・・ Tibshirani の定式化
min & − & 				subject	to		 & ≤ 1
• 制約条件 ∑ ≤ 1 は β の凸領域を与える;「角」あり
• 目的関数は(も) β の凸関数;楕円、滑らかな等高線をもつ
• ⇒ N < p で p が高次元になれば、
» 角や辺に接する可能性が格段に上がる
» 高次元空間での角や辺では複数の βj が 0 ⇒ β がスパースに
• t “小” → β の0成分“多”(スパース), t “大”では逆
• β の0でない成分の個数 ≦ min(N, p)
– ⇒ N < p の場合、t をいくら大きくしても 0 を含む
2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 12
池田「スパース性を用いた推定」
:【1. lasso】
• 【1 lasso】:定式化
• lasso 定式化[2] ・・・ Lagrange の形式
min & − & + 2 &
• こちらの方が一般的
• λ “大” → β の0成分“多”(スパース), λ “小”では逆
• 「" < $	」は難しい
– 「 < %」でもパラメータ推定が可能 ・・・ lasso の大きな魅⼒
– しかし、「 < %」でのパラメータ推定は基本的にはとても難しいこと
– “lasso があるから全てが解決”とはならない
• ⇒ 注意点を次項で
2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 13
池田「スパース性を用いた推定」
:【1. lasso】
• 【1 lasso】:規格化
• (ベクトルを使った表現)
min 3 − ∑ 4( )
+ 2 5
– lasso は βj の大きさに制約をつけている
– ⇒ βj は各説明変数 x(j) の大きさ(or 単位)に影響される
• 規格化
– 4( )
= 1 の制約 → 全ての βj を等しく扱う
• ※“不均⼀性”を積極的に使うことも可能
– いずれにしても、x(j) の大きさを考慮して lasso を使う必要あり
2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 14
池田「スパース性を用いた推定」
:【1. lasso】
• 【1 lasso】:パラメータを選ぶ
• モデル選択(変数選択)の⽴場からは、、、
• 主眼は“どのモデル?”、“どの変数の組み合わせ?” … となりがち
– しかたのないことだが・・・
– 「λ を適切に決めて(機械に任せて、等々) 、決めた λ で(早く)変数
選択の結果を⾒よう。」 ・・・ みたいな感じ?!
• しかし、「 」の状況では慎重に進めないと誤った
結論を導いてしまう
• (簡単な例⽰) ※詳細は省略
– N = 20, p = 40;solution path (LARS-lasso による)
– ⇒ 単に何らかのルールで λ を決めるだけでは“間違ってしまう”場合が
あるという例⽰
2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 15
池田「スパース性を用いた推定」
:【1. lasso】
• 【1 lasso】:パラメータを選ぶ
• 「1つの λ に固定してパラメータを一組に決めてしまうと、
誤った結論を導く可能性が⾼くなる」
ことを理解する必要あり
• ⇒ どうするのがよい??
– 本解説には以下の二つの⽅法が紹介されている
• (1)「solution path」を丁寧に⾒る・検討する
• (2)「stability selection」による変数選択の傾向の統計的な抽出
2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 16
池田「スパース性を用いた推定」
:【1. lasso】
• 【1 lasso】:パラメータを選ぶ
• ⇒ どうするのがよい??
– (1)「solution path」を丁寧に⾒る・検討する
– 「solution path」には、単に1つの λ を決めるよりも多くの情報を含んでいる
» λ の変化によるパラメータの推定値の推移、“変数選択”の状況の確認、検討
– 誤りを含んでいる可能性を理解した上で変数選択を⾏うべき
– (※残念ながら、変数候補が多い(p が大きい)と複雑になる・・・)
– (2)「stability selection」による変数選択の傾向の統計的な抽出
– Bootstrap サンプル → 各々のデータに対して lasso の推定
– Bootstrap サンプル全体を通した変数選択結果を“まとめる”
• やっぱり「総合的な判断」
– “よい選択”をしたいのならば、solution path や stability
selection 等の結果から“総合的な判断”をするしかない
2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 17
池田「スパース性を用いた推定」
:【2 スパース性を用いた推定】
2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 18
1. lasso
2. スパース性を
用いた推定
3. lasso の解を
求める方法
4. まとめ
• lasso の基本の説明
• 手法の“形式的な”適用への注
意喚起
• 背景
• 定式化
• 規格化
• パラメータを選ぶ
• elastic net
• group lasso
• fused lasso
• 判別問題への拡張
• ‖ ‖_1=1 のときへの拡張
• 2次計画法で解く
• 繰り返し法で解く
• LARS-lasso によって
solution path を求める
• lasso の基本要素を一般化、
拡張することで得られるいく
つかの方法の紹介
• lasso の解法の概要
• 汎用的な方法と専用アルゴリ
ズム、そしてLARS-lasso
• 使いこなす鍵は・・・
“解に何らかのスパース性が
あるという「仮定」”
(二つのコラム)
• lasso と並ぶもう一つの
主役、圧縮センシング
• ベイズ統計と lasso
本解説の目次 (各節・項のタイトル) 記載内容のサマリー
池田「スパース性を用いた推定」
:【2 スパース性を用いた推定】
• lasso の基本式(再掲)
• ( )
– 第1項:対数尤度 (“データへの適合度”) 〜 正規分布
– 第2項:β の事前分布 (“正則化項”)〜両側指数分布の対数
• lasso の⼀般化、拡張
– 第1項、第2項のどちらか、あるいは両⽅を⼀般化
⇒ いくつもの⽅法が提案できる
– ⇒ 次項からいくつか紹介
2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 19
池田「スパース性を用いた推定」
:【2 スパース性を用いた推定】
• 【 elastic net 】
• lasso + リッジ回帰 ⇒ elastic net
min 3 − ∑ 4( )
+ 2 1 − 6 5 + 6 5
• 説明変数間の高い相関による悪影響を L2 ノルム導入で緩和
• L1 ノルムと L2 ノルムを割合「α」(0≦ α ≦ 1)で混ぜ合わせ
– ⇒ lasso(L1 ノルム) による(ハードな)変数選択
+ リッジ (L2 ノルム) による安定的なパラメータ推定
2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 20
池田「スパース性を用いた推定」
:【2 スパース性を用いた推定】
• 【 group lasso 】
• p 個のパラメータが J 個のグループに分かれている、と仮定
⇒ group lasso
min
(78)
3 − ∑ ∑ 9 :; (:)8
:
<
+ 2 ∑ =
<
• 各グループに重複なし& pj 個ずつの説明変数あり → 	% = ∑ %
<
• 各グループの説明変数ベクトル ; ( )
, ⋯ , ; ( 8)
, パラメータベクトル =
– = を2乗しないで用いるところがポイント
• L2 ノルム はベクトルの大きさ → 大きさ0の点で微分不可
• ⇒ グループごとの取捨選択が可能
– パラメータに関しては凸な関数 → 最適化可能(※パッケージあり)
2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 21
池田「スパース性を用いた推定」
:【2 スパース性を用いた推定】
• 【 fused lasso 】
• 隣のパラメータとの差を抑制
(→時系列での少ない変化点抽出) ⇒ fused lasso
min ∑ − + 2 ∑ > −?
• サンプルサイズ N = パラメータの数 p
• 正規化項は隣のパラメータとの差の絶対値 ⇒ 不連続に⾶ぶ点の抑制
– その他の応用
• 2次元データに拡張 ⇒ 画像への応用が可能
• “変化率の差の絶対値” ⇒ 区分線形
2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 22
池田「スパース性を用いた推定」
:【2 スパース性を用いた推定】
• 【判別問題への拡張】
• (確認)ロジスティック回帰モデルによる判別確率
• % 4; , 5	 =
AB C D>∑ 84(8)
8
>AB D>∑ 84(8)
8
• lasso の判別問題(ロジスティック回帰)への拡張
min
D,
∑ − log % 4 ; , 5	 + 2 5
• β0, β に関して凸関数 → 最適化はそれほど難しくない
• いろんなもので可能
– R: [glmnet]パッケージ, Python: scikit-learn
2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 23
※別表現
G % + ∑ 4( )
1 + G % + ∑ 4( )
C
∙
1
1 + G % + ∑ 4( )
( ?C)
※ 負の対数尤度(の最小化)
y = {0, 1}
※SASでは、正規線形モデル以外
の一般化線形モデルで lasso 等
を⾏う専用のプロシージャ、オ
プションは用意されていない。
池田「スパース性を用いた推定」
:【2 スパース性を用いた推定】
• 【判別問題への拡張】
• さらに発展
– カーネルロジスティック回帰 + lasso
• + ∑ 4( ) の部分を 6 + ∑ 6 I 4, 4 に書き換え
» I ∙,∙ ≔ ∙,∙ 〜 カーネル関数
» ※ただし、以下を仮定: 5 ≔ ∑ 6 4
• (カーネル化は N < p のとき速い ・・・ らしい)
– 最適化する目的関数をいじってやれば、他の拡張的手法
ももちろん可能
– ロジスティック回帰 + elastic net
– ロジスティック回帰 + group lasso 等々
2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 24
※lasso の場合、この仮定
が妥当かどうかは“保証さ
れない”らしいが・・・
→ 文献[4]参照
池田「スパース性を用いた推定」
:【2 スパース性を用いた推定】
• 【 5 K = K のときへの拡張】
• “ 5 が定数”の場合は、通常の lasso は使えない
– 例:混合正規分布
• % L, , = ∑ L , ∑ = 1,		 ≥ 0
• やりたいのは、「たくさんの正規分布を用意しておき、lasso のような⽅法でいくつかの
正規分布を自動的に削除する」こと
• しかし、 5 = 1 のため、通常の lasso は使えない
• (⼀つの⽅法)ディリクレ分布の利用
» (ディリクレ分布は多項分布の共役事前分布)
• パラメータ β の事前分布としてディリクレ分布を利用
• ⇒ % 5 ∝ ∏ P?
(※α はディリクレ分布のパラメータ)
• ⇒ スパース推定のためには「α < 1」としてやればよい
2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 25
池田「スパース性を用いた推定」
:【2 スパース性を用いた推定】
• 【 5 K = K のときへの拡張】 ・・・文献[7]
• “Dirichlet Lasso: A Bayesian approach to variable selection”
– Author(year): Das, K. and Sobel, M.(2015)
– Abstract:
Selection of the most important predictor variables in regression analysis is
one of the key problems statistical research has been concerned with for long
time. In this article, we propose the methodology, Dirichlet Lasso
(abbreviated as DLASSO) to address this issue in a Bayesian framework. In
many modern regression settings, large set of predictor variables are grouped
and the coefficients belonging to any one of these groups are either all
redundant or all important in predicting the response; we say in those cases
that the predictors exhibit a group structure. We show that DLASSO is
particularly useful where the group structure is not fully known. We exploit
the clustering property of Dirichlet Process priors to infer the possibly missing
group information. The Dirichlet Process has the advantage of simultaneously
clustering the variable coefficients and selecting the best set of predictor
variables. We compare the predictive performance of DLASSO to Group Lasso
and ordinary Lasso with real data and simulation studies. Our results
demonstrate that the predictive performance of DLASSO is almost as good as
that of Group Lasso when group label information is given; and superior to
the ordinary Lasso for missing group information. For high dimensional data
(e.g., genetic data) with missing group information, DLASSO will be a
powerful approach of variable selection since it provides a superior predictive
performance and higher statistical accuracy.
2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 26
池田「スパース性を用いた推定」
:【3 lasso の解を求める⽅法】
2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 27
1. lasso
2. スパース性を
用いた推定
3. lasso の解を
求める方法
4. まとめ
• lasso の基本の説明
• 手法の“形式的な”適用への注
意喚起
• 背景
• 定式化
• 規格化
• パラメータを選ぶ
• elastic net
• group lasso
• fused lasso
• 判別問題への拡張
• ‖ ‖_1=1 のときへの拡張
• 2次計画法で解く
• 繰り返し法で解く
• LARS-lasso によって
solution path を求める
• lasso の基本要素を一般化、
拡張することで得られるいく
つかの方法の紹介
• lasso の解法の概要
• 汎用的な方法と専用アルゴリ
ズム、そしてLARS-lasso
• 使いこなす鍵は・・・
“解に何らかのスパース性が
あるという「仮定」”
(二つのコラム)
• lasso と並ぶもう一つの
主役、圧縮センシング
• ベイズ統計と lasso
本解説の目次 (各節・項のタイトル) 記載内容のサマリー
池田「スパース性を用いた推定」
:【3 lasso の解を求める⽅法】
• スパース性を用いたパラメータ推定は・・・
• ⇒ 目的関数(+正則化項)の形が厄介
• ⇒ 最適化が難しい
• 本節では「lasso」を例に、
スパース性を用いたパラメータ推定の⽅法
(解を求める⽅法)を⾒ていく
• 2次計画法(“汎用”), 繰り返し法(“lasso 専用”)
• LARS-lasso
– (※本資料では、それぞれの踏み込んだ説明は割愛)
2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 28
池田「スパース性を用いた推定」
:【3 lasso の解を求める⽅法】
• 【2次計画法で解く】
• lasso は2次計画法の問題として解ける
• 定式化:min
;
;Q
R; + SQ
; subject to T; ≤ U
» z, f:n次の実ベクトル H:n次の実対称⾏列・固有値非負
A:m×nの実⾏列 b:m次の実ベクトル
• 2次計画法
– 凸最適化の基本的な問題の⼀つ
– 汎用ソルバーはさまざま提供 → 手元PCでも数千次元の問題OK
• (lasso を解く場合、2次計画問題として扱えるよう、多少の変形を⾏う)
• “汎用的”だが効率は悪い
• ⇒ 大規模な問題では“専用”のアルゴリズムを使う⽅がよい
⇒ 次項で少し紹介
2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 29
「λ」は固定
池田「スパース性を用いた推定」
:【3 lasso の解を求める⽅法】
• 【繰り返し法で解く】
• lasso の問題の書き換え
• min
8
T − V + 2 + W
» (元々の問題 min ∑ − ∑ + 2 ∑ )
» A, B, C は βj に関係ないパラメータ・変数による関数
• 考え⽅ ・・・ 凸最適化問題 ⇒ βj を順次最適化 ⇒ 最適化
• soft-thresholding(ソフト閾値関数)の導入
• XY Z = [
0																									 Z < 
Z − sgn Z 			 Z ≥ 
• βj の推定量の算出とその繰り返し
• ! = X]/ _ V/T
• βj の推定(更新)をすべての βj について順次⾏い、それを繰り返す
• 大規模な問題でも実⾏可能 (※収束は遅い → 加速の⽅法が提案されている)
2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 30
「λ」は固定
池田「スパース性を用いた推定」
:【3 lasso の解を求める⽅法】
• 【※最適化法に関する参考情報1 〜 文献[5]】
• 各種の最適化法がより詳しく記述されている
– 主な最適化法
– 繰り返し重み付き縮小法, 近接勾配法(+その加速), 双対拡張ラグラン
ジュ法, 双対交互⽅向乗数法
– lasso の発展的な手法それぞれについても最適化法の実際
が記述されている
– グループ ℓ ノルム正則化, トレースノルム正則化, 重複型スパース正則化
(※elastic net 含む), アトミックノルム
– 「結局, どの最適化アルゴリズムを使えばよいのか」
– (文献[5]の11.3項より)
– さまざまな条件に依存 → 簡単には回答できない → まずは既製品から
– 既製品の問題 ・・・ 必ずしも解きたい最適化問題が実装されていない
⇒ 「交互⽅向乗数法」(とその拡張)は、より汎用的
2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 31
池田「スパース性を用いた推定」
:【3 lasso の解を求める⽅法】
• 【LARS-lasso によって solution path を求める】
• 「solution path」とは?
» (※上述の⽅法 ・・・ λ を固定して β を推定)
– 基本的には「λ を変化させながら 5a の変化を追跡したもの」
– λ の(ほぼ)すべての値に対して lasso の最小化問題を解く
(= solution path を描く)手法・アルゴリズム が開発されてきた
• 代表的なもの:
LARS (Least Angle Regression Selection) ⇒ ここで紹介
• 推定の計算効率を大きく向上させることに寄与 ⇒ lasso 注目の契機
• その他 〜 局所線形近似, CDA, GPS 等
• (※単に複数の「λ → β」の推定を“個別に”実⾏して“手で”結果をつなぐ
・・・という話ではない)
2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 32
池田「スパース性を用いた推定」
:【3 lasso の解を求める⽅法】
• 【LARS-lasso によって solution path を求める】
2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 33
4( )
4( )… …4(b)
! 0 ! 0… …!b
1 c… …3
1 1… …1
e_
5a_ 2
f
K _
4( )
4( )
4( )
4( )
… …4(b) e
min 3 − & 4( )
+ 2 5
3
2e_
g
3 − e_5a_ 2 + 2K _ = h
ある
元データ
(active set)
微分 以下の関係が導出される
⇒ 5a_ 2 について
整理すると…
ある λ に
基づいて
最小2乗
ある λ の前後で active set のメンバーが変化しない
という仮定
池田「スパース性を用いた推定」
:【3 lasso の解を求める⽅法】
• 【LARS-lasso によって solution path を求める】
• _ は の1次式によってあらわされる
» ⇒ 2e_
g
3 − e_5a_ 2 + 2K _ = h (前頁からの続き)
• ⇒ 5a_ 2 = e_
g
e_
?
e_
g
3 + e_
g
e_
?
K _ 2
• ⇒ i の1次式 (→ 直線でグラフが書ける)
• ⇒ active set のメンバーがかわる	2 の点だけに気をつければ、他の部
分では 2 の1次式 によって	5a_ 2 をつなげばよい
• ⇒ LARS-lasso が⾏っているのはこの操作
• 改めて、LARS-lasso のやっていることは・・・ (→次頁へ)
2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 34
池田「スパース性を用いた推定」
:【3 lasso の解を求める⽅法】
• 【LARS-lasso によって solution path を求める】
• 改めて、LARS-lasso のやっていることは・・・
– 手順・考え⽅
• 2 を十分大きくとり、1つめの が現れるところから、	5a_ 2 に関する 2
の1次式にしたがって係数が現れたり消えたりするまで 2 を減らしながら
solution path をひく
• そこで active set を変化させ、そこからまた solution path をひく
• ・・・という操作を繰り返していく
– ⇒ 全て線形の演算ですむ ⇒ 計算が速い
• 特に N が小さい場合には速く計算できる
• (※active set に基づく逆⾏列の計算あり → 高次元で劇的“遅”)
2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 35
池田「スパース性を用いた推定」
:【3 lasso の解を求める⽅法】
• 【※最適化法に関する参考情報2 〜 文献[2], [3]】
• LARS と LARS-lasso
• 元々の LARS により得られた推定値と lasso 推定値はかなり似てい
るが,必ずしも完全に⼀致するわけではない
• 元々の LARS アルゴリズムに少々修正を加えることで lasso 推定値と
⼀致する推定値が得られる ⇒ LARS-lasso
• ⇒ 文献[2], [3]等参照
• LARS(LARS-lasso)以外の path を求めるアルゴリズム
• LARS は高次元になると計算速度が(劇的に)遅くなる
• 例:CDA(Coordinate Descent アルゴリズム)
– 超高次元になった場合においても高速に計算可能
– R の glmnet や grpreg 等でも採用
– 「交互⽅向乗数法」 も CDA の特殊型
• 文献[2], [6]等参照
2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 36
参考文献
• [1]荒木孝治(2013), 罰則付き回帰とデータ解析環境R, オペレーションズリサーチ, 2013年5⽉号
• [2]Hastie, T., and Tibshirani, R. (2014), 統計的学習の基礎: データマイニング・推論・予測,
共⽴出版
• [3]廣瀬慧(2014), Lasso タイプの正則化法に基づくスパース推定法を用いた超高次元データ解析,
数理解析研究所講究録 1908 : 57-77
(http://www.kurims.kyoto-u.ac.jp/~kyodo/kokyuroku/contents/pdf/1908-05.pdf)
• [4]⿅島久嗣, 「数理情報⼯学特論第⼀【機械学習とデータマイニング】1章:概論(3)」講義資
料(www.geocities.co.jp/kashi_pong/1-3.pdf)
• [5]冨岡亮太(2015), スパース性に基づく機械学習, 講談社
• [6]山下信雄(2013), Coordinate Descent 法について, 「最適化の基盤とフロンティア」研究部会
講演資料
(https://www.slideshare.net/amp-kyoto/coordinate-descent)
• [7] Das, K. and Sobel, M.(2015), Dirichlet Lasso: A Bayesian approach to variable
selection, Statistical Modelling, vol.15 (3) (2015), 215–232
• [8] Efron, B., Hastie, T., Johnstone, I., and Tibshirani, R. (2004), Least Angle
Regression(with discussion), The Annals of Statistics, 32, 407–499.
2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 37

岩波データサイエンス_Vol.5_勉強会資料02

  • 1.
  • 2.
    はじめに • 本資料・勉強会の目的 – X:分かっている人が分からない人に教える –○: • 分からない(知らなかった)人が、分からないなりに勉強し、 整理してみる • 同じような⽴場・思いの人と、ともに学ぶ“材料” • ⇒間違いの訂正、補⾜、ご意⾒・コメント等々を ぜひよろしくお願いします。 2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 2
  • 3.
    この本 • 岩波データサイエンス Vol.5 •[特集] スパースモデリングと多変量 データ解析 – 岩波データサイエンス刊⾏委 員会 編 – 2017年2⽉刊⾏ – 岩波書店 2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 3
  • 4.
    目次 • 特集「スパースモデリングと多変量 データ解析」 • 池田・伊庭・麻生 <基礎編> •モデル選択超速習 – AICからスパースまで • 伊庭幸人 • スパース性を用いた推定 • 池田思朗 • スパースモデリングを体験してみる • 岩波データサイエンス刊⾏委員会 <展開編> • 依存関係にスパース性を入れる – グラフィカルlassoの話 • 井手剛 • 画像処理とスパース • 本谷秀堅 • 時間遷移のスパース性 – マーケットシェアの遷移を捉える スパースグラフモデリング • 日野英逸 <応用編> • ⾏列データの分解 • 麻生英樹 – <コラム>⾏列のトレースノルム – 麻生英樹 • ⾏列分解をリコメンデーションに活かす – Rによる実践例 • 尾崎隆 2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 4
  • 5.
    池田「スパース性を用いた推定」 :本解説の概要 • (導入部分) • lasso・・・ スパース性を利用した推定⽅法の代表格 – 提案されたのは1996年(Tibshirani) – 多くの分野で顔を出す • もはや「スパース性」の流⾏は⼀過性ではない » カーネル法でも深層学習でも » 統計学、機械学習以外 ・・・ 情報理論、凸最適化理論でも • 本解説で説明すること ⇒ “lasso を中心としたスパース性に基づく方法” 2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 5
  • 6.
    池田「スパース性を用いた推定」 :本解説の概要 2017/4/9 岩波DS Vol.5[特集]スパースモデリングと多変量データ解析 6 1. lasso 2. スパース性を 用いた推定 3. lasso の解を 求める方法 4. まとめ • lasso の基本の説明 • 手法の“形式的な”適用への注 意喚起 • 背景 • 定式化 • 規格化 • パラメータを選ぶ • elastic net • group lasso • fused lasso • 判別問題への拡張 • ‖ ‖_1=1 のときへの拡張 • 2次計画法で解く • 繰り返し法で解く • LARS-lasso によって solution path を求める • lasso の基本要素を一般化、 拡張することで得られるいく つかの方法の紹介 • lasso の解法の概要 • 汎用的な方法と専用アルゴリ ズム、そしてLARS-lasso • 使いこなす鍵は・・・ “解に何らかのスパース性が あるという「仮定」” (二つのコラム) • lasso と並ぶもう一つの 主役、圧縮センシング • ベイズ統計と lasso 本解説の目次 (各節・項のタイトル) 記載内容のサマリー
  • 7.
    参考文献 • [1]荒木孝治(2013), 罰則付き回帰とデータ解析環境R,オペレーションズリサーチ, 2013年5⽉号 • [2]Hastie, T., and Tibshirani, R. (2014), 統計的学習の基礎: データマイニング・推論・予測, 共⽴出版 • [3]廣瀬慧(2014), Lasso タイプの正則化法に基づくスパース推定法を用いた超高次元データ解析, 数理解析研究所講究録 1908 : 57-77 (http://www.kurims.kyoto-u.ac.jp/~kyodo/kokyuroku/contents/pdf/1908-05.pdf) • [4]⿅島久嗣, 「数理情報⼯学特論第⼀【機械学習とデータマイニング】1章:概論(3)」講義資 料(www.geocities.co.jp/kashi_pong/1-3.pdf) • [5]冨岡亮太(2015), スパース性に基づく機械学習, 講談社 • [6]山下信雄(2013), Coordinate Descent 法について, 「最適化の基盤とフロンティア」研究部会 講演資料 (https://www.slideshare.net/amp-kyoto/coordinate-descent) • [7] Das, K. and Sobel, M.(2015), Dirichlet Lasso: A Bayesian approach to variable selection, Statistical Modelling, vol.15 (3) (2015), 215–232 • [8] Efron, B., Hastie, T., Johnstone, I., and Tibshirani, R. (2004), Least Angle Regression(with discussion), The Annals of Statistics, 32, 407–499. 2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 7
  • 8.
    池田「スパース性を用いた推定」 :【1. lasso】 2017/4/9 岩波DSVol.5 [特集]スパースモデリングと多変量データ解析 8 1. lasso 2. スパース性を 用いた推定 3. lasso の解を 求める方法 4. まとめ • lasso の基本の説明 • 手法の“形式的な”適用への注 意喚起 • 背景 • 定式化 • 規格化 • パラメータを選ぶ • elastic net • group lasso • fused lasso • 判別問題への拡張 • ‖ ‖_1=1 のときへの拡張 • 2次計画法で解く • 繰り返し法で解く • LARS-lasso によって solution path を求める • lasso の基本要素を一般化、 拡張することで得られるいく つかの方法の紹介 • lasso の解法の概要 • 汎用的な方法と専用アルゴリ ズム、そしてLARS-lasso • 使いこなす鍵は・・・ “解に何らかのスパース性が あるという「仮定」” (二つのコラム) • lasso と並ぶもう一つの 主役、圧縮センシング • ベイズ統計と lasso 本解説の目次 (各節・項のタイトル) 記載内容のサマリー
  • 9.
    池田「スパース性を用いた推定」 :【1. lasso】 • 【1lasso】:背景 • Least Absolute Shrinkage and Selection Operator • (“ラッソ”? “ラスー”?) • ここでの解説の基本となる線形回帰モデル – = ( ) + ⋯ + + ⋯ + + – ~ 0, , = 1,2, ⋯ , – ※ただし、 = 0 (← y と x(j) の平均は 0 に調整) – 最尤法によって β を求めるには ・・・ • min ∑ − ∑ 2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 9
  • 10.
    池田「スパース性を用いた推定」 :【1. lasso】 • 【1lasso】:背景 • 従来の統計学 ・・・ • 議論の対象は “推定値 ! が N → ∞ のとき漸近的にどう振る舞うか” • (ないし ) のケース • サンプルサイズ(N)に⽐べて変数・特徴量の数(p)が多い • 近年、頻繁に直⾯ ・・・ “ビッグデータ”とか • どうすればよい?? – 漸近論による議論は使えない – そもそもパラメータ(βj)の推定ができるかどうかさえ怪しい 2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 10
  • 11.
    池田「スパース性を用いた推定」 :【1. lasso】 • 【1lasso】:背景 • (ないし ) のケース • どうすればよい?? – 漸近論による議論は使えない – そもそもパラメータの推定ができるかどうかさえ怪しい • もし、" < $ でも、βj のほとんどが0だと分かっていれば・・・ – ⇒ これは大きなヒント (“妥当”であることは少なくない) – ⇒ あとは信じるに⾜る⽅法で、βj の多くが0となるような推定ができれば – ⇒ lasso の提案!! • スパースな推定としての「lasso」 • < % でも、スパースな(0の多い)パラメータベクトルを推定 • 縮小推定 → 安定的なパラメータ推定 • モデル選択⽅法としても、ベイズのMAP推定としても妥当な⽅法 • 統計学の困っていた問題に対して、ちょうどよい強⼒な道具が出現! 2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 11
  • 12.
    池田「スパース性を用いた推定」 :【1. lasso】 • 【1lasso】:定式化 • lasso 定式化[1] ・・・ Tibshirani の定式化 min & − & subject to & ≤ 1 • 制約条件 ∑ ≤ 1 は β の凸領域を与える;「角」あり • 目的関数は(も) β の凸関数;楕円、滑らかな等高線をもつ • ⇒ N < p で p が高次元になれば、 » 角や辺に接する可能性が格段に上がる » 高次元空間での角や辺では複数の βj が 0 ⇒ β がスパースに • t “小” → β の0成分“多”(スパース), t “大”では逆 • β の0でない成分の個数 ≦ min(N, p) – ⇒ N < p の場合、t をいくら大きくしても 0 を含む 2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 12
  • 13.
    池田「スパース性を用いた推定」 :【1. lasso】 • 【1lasso】:定式化 • lasso 定式化[2] ・・・ Lagrange の形式 min & − & + 2 & • こちらの方が一般的 • λ “大” → β の0成分“多”(スパース), λ “小”では逆 • 「" < $ 」は難しい – 「 < %」でもパラメータ推定が可能 ・・・ lasso の大きな魅⼒ – しかし、「 < %」でのパラメータ推定は基本的にはとても難しいこと – “lasso があるから全てが解決”とはならない • ⇒ 注意点を次項で 2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 13
  • 14.
    池田「スパース性を用いた推定」 :【1. lasso】 • 【1lasso】:規格化 • (ベクトルを使った表現) min 3 − ∑ 4( ) + 2 5 – lasso は βj の大きさに制約をつけている – ⇒ βj は各説明変数 x(j) の大きさ(or 単位)に影響される • 規格化 – 4( ) = 1 の制約 → 全ての βj を等しく扱う • ※“不均⼀性”を積極的に使うことも可能 – いずれにしても、x(j) の大きさを考慮して lasso を使う必要あり 2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 14
  • 15.
    池田「スパース性を用いた推定」 :【1. lasso】 • 【1lasso】:パラメータを選ぶ • モデル選択(変数選択)の⽴場からは、、、 • 主眼は“どのモデル?”、“どの変数の組み合わせ?” … となりがち – しかたのないことだが・・・ – 「λ を適切に決めて(機械に任せて、等々) 、決めた λ で(早く)変数 選択の結果を⾒よう。」 ・・・ みたいな感じ?! • しかし、「 」の状況では慎重に進めないと誤った 結論を導いてしまう • (簡単な例⽰) ※詳細は省略 – N = 20, p = 40;solution path (LARS-lasso による) – ⇒ 単に何らかのルールで λ を決めるだけでは“間違ってしまう”場合が あるという例⽰ 2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 15
  • 16.
    池田「スパース性を用いた推定」 :【1. lasso】 • 【1lasso】:パラメータを選ぶ • 「1つの λ に固定してパラメータを一組に決めてしまうと、 誤った結論を導く可能性が⾼くなる」 ことを理解する必要あり • ⇒ どうするのがよい?? – 本解説には以下の二つの⽅法が紹介されている • (1)「solution path」を丁寧に⾒る・検討する • (2)「stability selection」による変数選択の傾向の統計的な抽出 2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 16
  • 17.
    池田「スパース性を用いた推定」 :【1. lasso】 • 【1lasso】:パラメータを選ぶ • ⇒ どうするのがよい?? – (1)「solution path」を丁寧に⾒る・検討する – 「solution path」には、単に1つの λ を決めるよりも多くの情報を含んでいる » λ の変化によるパラメータの推定値の推移、“変数選択”の状況の確認、検討 – 誤りを含んでいる可能性を理解した上で変数選択を⾏うべき – (※残念ながら、変数候補が多い(p が大きい)と複雑になる・・・) – (2)「stability selection」による変数選択の傾向の統計的な抽出 – Bootstrap サンプル → 各々のデータに対して lasso の推定 – Bootstrap サンプル全体を通した変数選択結果を“まとめる” • やっぱり「総合的な判断」 – “よい選択”をしたいのならば、solution path や stability selection 等の結果から“総合的な判断”をするしかない 2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 17
  • 18.
    池田「スパース性を用いた推定」 :【2 スパース性を用いた推定】 2017/4/9 岩波DSVol.5 [特集]スパースモデリングと多変量データ解析 18 1. lasso 2. スパース性を 用いた推定 3. lasso の解を 求める方法 4. まとめ • lasso の基本の説明 • 手法の“形式的な”適用への注 意喚起 • 背景 • 定式化 • 規格化 • パラメータを選ぶ • elastic net • group lasso • fused lasso • 判別問題への拡張 • ‖ ‖_1=1 のときへの拡張 • 2次計画法で解く • 繰り返し法で解く • LARS-lasso によって solution path を求める • lasso の基本要素を一般化、 拡張することで得られるいく つかの方法の紹介 • lasso の解法の概要 • 汎用的な方法と専用アルゴリ ズム、そしてLARS-lasso • 使いこなす鍵は・・・ “解に何らかのスパース性が あるという「仮定」” (二つのコラム) • lasso と並ぶもう一つの 主役、圧縮センシング • ベイズ統計と lasso 本解説の目次 (各節・項のタイトル) 記載内容のサマリー
  • 19.
    池田「スパース性を用いた推定」 :【2 スパース性を用いた推定】 • lassoの基本式(再掲) • ( ) – 第1項:対数尤度 (“データへの適合度”) 〜 正規分布 – 第2項:β の事前分布 (“正則化項”)〜両側指数分布の対数 • lasso の⼀般化、拡張 – 第1項、第2項のどちらか、あるいは両⽅を⼀般化 ⇒ いくつもの⽅法が提案できる – ⇒ 次項からいくつか紹介 2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 19
  • 20.
    池田「スパース性を用いた推定」 :【2 スパース性を用いた推定】 • 【elastic net 】 • lasso + リッジ回帰 ⇒ elastic net min 3 − ∑ 4( ) + 2 1 − 6 5 + 6 5 • 説明変数間の高い相関による悪影響を L2 ノルム導入で緩和 • L1 ノルムと L2 ノルムを割合「α」(0≦ α ≦ 1)で混ぜ合わせ – ⇒ lasso(L1 ノルム) による(ハードな)変数選択 + リッジ (L2 ノルム) による安定的なパラメータ推定 2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 20
  • 21.
    池田「スパース性を用いた推定」 :【2 スパース性を用いた推定】 • 【group lasso 】 • p 個のパラメータが J 個のグループに分かれている、と仮定 ⇒ group lasso min (78) 3 − ∑ ∑ 9 :; (:)8 : < + 2 ∑ = < • 各グループに重複なし& pj 個ずつの説明変数あり → % = ∑ % < • 各グループの説明変数ベクトル ; ( ) , ⋯ , ; ( 8) , パラメータベクトル = – = を2乗しないで用いるところがポイント • L2 ノルム はベクトルの大きさ → 大きさ0の点で微分不可 • ⇒ グループごとの取捨選択が可能 – パラメータに関しては凸な関数 → 最適化可能(※パッケージあり) 2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 21
  • 22.
    池田「スパース性を用いた推定」 :【2 スパース性を用いた推定】 • 【fused lasso 】 • 隣のパラメータとの差を抑制 (→時系列での少ない変化点抽出) ⇒ fused lasso min ∑ − + 2 ∑ > −? • サンプルサイズ N = パラメータの数 p • 正規化項は隣のパラメータとの差の絶対値 ⇒ 不連続に⾶ぶ点の抑制 – その他の応用 • 2次元データに拡張 ⇒ 画像への応用が可能 • “変化率の差の絶対値” ⇒ 区分線形 2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 22
  • 23.
    池田「スパース性を用いた推定」 :【2 スパース性を用いた推定】 • 【判別問題への拡張】 •(確認)ロジスティック回帰モデルによる判別確率 • % 4; , 5 = AB C D>∑ 84(8) 8 >AB D>∑ 84(8) 8 • lasso の判別問題(ロジスティック回帰)への拡張 min D, ∑ − log % 4 ; , 5 + 2 5 • β0, β に関して凸関数 → 最適化はそれほど難しくない • いろんなもので可能 – R: [glmnet]パッケージ, Python: scikit-learn 2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 23 ※別表現 G % + ∑ 4( ) 1 + G % + ∑ 4( ) C ∙ 1 1 + G % + ∑ 4( ) ( ?C) ※ 負の対数尤度(の最小化) y = {0, 1} ※SASでは、正規線形モデル以外 の一般化線形モデルで lasso 等 を⾏う専用のプロシージャ、オ プションは用意されていない。
  • 24.
    池田「スパース性を用いた推定」 :【2 スパース性を用いた推定】 • 【判別問題への拡張】 •さらに発展 – カーネルロジスティック回帰 + lasso • + ∑ 4( ) の部分を 6 + ∑ 6 I 4, 4 に書き換え » I ∙,∙ ≔ ∙,∙ 〜 カーネル関数 » ※ただし、以下を仮定: 5 ≔ ∑ 6 4 • (カーネル化は N < p のとき速い ・・・ らしい) – 最適化する目的関数をいじってやれば、他の拡張的手法 ももちろん可能 – ロジスティック回帰 + elastic net – ロジスティック回帰 + group lasso 等々 2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 24 ※lasso の場合、この仮定 が妥当かどうかは“保証さ れない”らしいが・・・ → 文献[4]参照
  • 25.
    池田「スパース性を用いた推定」 :【2 スパース性を用いた推定】 • 【5 K = K のときへの拡張】 • “ 5 が定数”の場合は、通常の lasso は使えない – 例:混合正規分布 • % L, , = ∑ L , ∑ = 1, ≥ 0 • やりたいのは、「たくさんの正規分布を用意しておき、lasso のような⽅法でいくつかの 正規分布を自動的に削除する」こと • しかし、 5 = 1 のため、通常の lasso は使えない • (⼀つの⽅法)ディリクレ分布の利用 » (ディリクレ分布は多項分布の共役事前分布) • パラメータ β の事前分布としてディリクレ分布を利用 • ⇒ % 5 ∝ ∏ P? (※α はディリクレ分布のパラメータ) • ⇒ スパース推定のためには「α < 1」としてやればよい 2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 25
  • 26.
    池田「スパース性を用いた推定」 :【2 スパース性を用いた推定】 • 【5 K = K のときへの拡張】 ・・・文献[7] • “Dirichlet Lasso: A Bayesian approach to variable selection” – Author(year): Das, K. and Sobel, M.(2015) – Abstract: Selection of the most important predictor variables in regression analysis is one of the key problems statistical research has been concerned with for long time. In this article, we propose the methodology, Dirichlet Lasso (abbreviated as DLASSO) to address this issue in a Bayesian framework. In many modern regression settings, large set of predictor variables are grouped and the coefficients belonging to any one of these groups are either all redundant or all important in predicting the response; we say in those cases that the predictors exhibit a group structure. We show that DLASSO is particularly useful where the group structure is not fully known. We exploit the clustering property of Dirichlet Process priors to infer the possibly missing group information. The Dirichlet Process has the advantage of simultaneously clustering the variable coefficients and selecting the best set of predictor variables. We compare the predictive performance of DLASSO to Group Lasso and ordinary Lasso with real data and simulation studies. Our results demonstrate that the predictive performance of DLASSO is almost as good as that of Group Lasso when group label information is given; and superior to the ordinary Lasso for missing group information. For high dimensional data (e.g., genetic data) with missing group information, DLASSO will be a powerful approach of variable selection since it provides a superior predictive performance and higher statistical accuracy. 2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 26
  • 27.
    池田「スパース性を用いた推定」 :【3 lasso の解を求める⽅法】 2017/4/9岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 27 1. lasso 2. スパース性を 用いた推定 3. lasso の解を 求める方法 4. まとめ • lasso の基本の説明 • 手法の“形式的な”適用への注 意喚起 • 背景 • 定式化 • 規格化 • パラメータを選ぶ • elastic net • group lasso • fused lasso • 判別問題への拡張 • ‖ ‖_1=1 のときへの拡張 • 2次計画法で解く • 繰り返し法で解く • LARS-lasso によって solution path を求める • lasso の基本要素を一般化、 拡張することで得られるいく つかの方法の紹介 • lasso の解法の概要 • 汎用的な方法と専用アルゴリ ズム、そしてLARS-lasso • 使いこなす鍵は・・・ “解に何らかのスパース性が あるという「仮定」” (二つのコラム) • lasso と並ぶもう一つの 主役、圧縮センシング • ベイズ統計と lasso 本解説の目次 (各節・項のタイトル) 記載内容のサマリー
  • 28.
    池田「スパース性を用いた推定」 :【3 lasso の解を求める⽅法】 •スパース性を用いたパラメータ推定は・・・ • ⇒ 目的関数(+正則化項)の形が厄介 • ⇒ 最適化が難しい • 本節では「lasso」を例に、 スパース性を用いたパラメータ推定の⽅法 (解を求める⽅法)を⾒ていく • 2次計画法(“汎用”), 繰り返し法(“lasso 専用”) • LARS-lasso – (※本資料では、それぞれの踏み込んだ説明は割愛) 2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 28
  • 29.
    池田「スパース性を用いた推定」 :【3 lasso の解を求める⽅法】 •【2次計画法で解く】 • lasso は2次計画法の問題として解ける • 定式化:min ; ;Q R; + SQ ; subject to T; ≤ U » z, f:n次の実ベクトル H:n次の実対称⾏列・固有値非負 A:m×nの実⾏列 b:m次の実ベクトル • 2次計画法 – 凸最適化の基本的な問題の⼀つ – 汎用ソルバーはさまざま提供 → 手元PCでも数千次元の問題OK • (lasso を解く場合、2次計画問題として扱えるよう、多少の変形を⾏う) • “汎用的”だが効率は悪い • ⇒ 大規模な問題では“専用”のアルゴリズムを使う⽅がよい ⇒ 次項で少し紹介 2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 29 「λ」は固定
  • 30.
    池田「スパース性を用いた推定」 :【3 lasso の解を求める⽅法】 •【繰り返し法で解く】 • lasso の問題の書き換え • min 8 T − V + 2 + W » (元々の問題 min ∑ − ∑ + 2 ∑ ) » A, B, C は βj に関係ないパラメータ・変数による関数 • 考え⽅ ・・・ 凸最適化問題 ⇒ βj を順次最適化 ⇒ 最適化 • soft-thresholding(ソフト閾値関数)の導入 • XY Z = [ 0 Z < Z − sgn Z Z ≥ • βj の推定量の算出とその繰り返し • ! = X]/ _ V/T • βj の推定(更新)をすべての βj について順次⾏い、それを繰り返す • 大規模な問題でも実⾏可能 (※収束は遅い → 加速の⽅法が提案されている) 2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 30 「λ」は固定
  • 31.
    池田「スパース性を用いた推定」 :【3 lasso の解を求める⽅法】 •【※最適化法に関する参考情報1 〜 文献[5]】 • 各種の最適化法がより詳しく記述されている – 主な最適化法 – 繰り返し重み付き縮小法, 近接勾配法(+その加速), 双対拡張ラグラン ジュ法, 双対交互⽅向乗数法 – lasso の発展的な手法それぞれについても最適化法の実際 が記述されている – グループ ℓ ノルム正則化, トレースノルム正則化, 重複型スパース正則化 (※elastic net 含む), アトミックノルム – 「結局, どの最適化アルゴリズムを使えばよいのか」 – (文献[5]の11.3項より) – さまざまな条件に依存 → 簡単には回答できない → まずは既製品から – 既製品の問題 ・・・ 必ずしも解きたい最適化問題が実装されていない ⇒ 「交互⽅向乗数法」(とその拡張)は、より汎用的 2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 31
  • 32.
    池田「スパース性を用いた推定」 :【3 lasso の解を求める⽅法】 •【LARS-lasso によって solution path を求める】 • 「solution path」とは? » (※上述の⽅法 ・・・ λ を固定して β を推定) – 基本的には「λ を変化させながら 5a の変化を追跡したもの」 – λ の(ほぼ)すべての値に対して lasso の最小化問題を解く (= solution path を描く)手法・アルゴリズム が開発されてきた • 代表的なもの: LARS (Least Angle Regression Selection) ⇒ ここで紹介 • 推定の計算効率を大きく向上させることに寄与 ⇒ lasso 注目の契機 • その他 〜 局所線形近似, CDA, GPS 等 • (※単に複数の「λ → β」の推定を“個別に”実⾏して“手で”結果をつなぐ ・・・という話ではない) 2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 32
  • 33.
    池田「スパース性を用いた推定」 :【3 lasso の解を求める⽅法】 •【LARS-lasso によって solution path を求める】 2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 33 4( ) 4( )… …4(b) ! 0 ! 0… …!b 1 c… …3 1 1… …1 e_ 5a_ 2 f K _ 4( ) 4( ) 4( ) 4( ) … …4(b) e min 3 − & 4( ) + 2 5 3 2e_ g 3 − e_5a_ 2 + 2K _ = h ある 元データ (active set) 微分 以下の関係が導出される ⇒ 5a_ 2 について 整理すると… ある λ に 基づいて 最小2乗 ある λ の前後で active set のメンバーが変化しない という仮定
  • 34.
    池田「スパース性を用いた推定」 :【3 lasso の解を求める⽅法】 •【LARS-lasso によって solution path を求める】 • _ は の1次式によってあらわされる » ⇒ 2e_ g 3 − e_5a_ 2 + 2K _ = h (前頁からの続き) • ⇒ 5a_ 2 = e_ g e_ ? e_ g 3 + e_ g e_ ? K _ 2 • ⇒ i の1次式 (→ 直線でグラフが書ける) • ⇒ active set のメンバーがかわる 2 の点だけに気をつければ、他の部 分では 2 の1次式 によって 5a_ 2 をつなげばよい • ⇒ LARS-lasso が⾏っているのはこの操作 • 改めて、LARS-lasso のやっていることは・・・ (→次頁へ) 2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 34
  • 35.
    池田「スパース性を用いた推定」 :【3 lasso の解を求める⽅法】 •【LARS-lasso によって solution path を求める】 • 改めて、LARS-lasso のやっていることは・・・ – 手順・考え⽅ • 2 を十分大きくとり、1つめの が現れるところから、 5a_ 2 に関する 2 の1次式にしたがって係数が現れたり消えたりするまで 2 を減らしながら solution path をひく • そこで active set を変化させ、そこからまた solution path をひく • ・・・という操作を繰り返していく – ⇒ 全て線形の演算ですむ ⇒ 計算が速い • 特に N が小さい場合には速く計算できる • (※active set に基づく逆⾏列の計算あり → 高次元で劇的“遅”) 2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 35
  • 36.
    池田「スパース性を用いた推定」 :【3 lasso の解を求める⽅法】 •【※最適化法に関する参考情報2 〜 文献[2], [3]】 • LARS と LARS-lasso • 元々の LARS により得られた推定値と lasso 推定値はかなり似てい るが,必ずしも完全に⼀致するわけではない • 元々の LARS アルゴリズムに少々修正を加えることで lasso 推定値と ⼀致する推定値が得られる ⇒ LARS-lasso • ⇒ 文献[2], [3]等参照 • LARS(LARS-lasso)以外の path を求めるアルゴリズム • LARS は高次元になると計算速度が(劇的に)遅くなる • 例:CDA(Coordinate Descent アルゴリズム) – 超高次元になった場合においても高速に計算可能 – R の glmnet や grpreg 等でも採用 – 「交互⽅向乗数法」 も CDA の特殊型 • 文献[2], [6]等参照 2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 36
  • 37.
    参考文献 • [1]荒木孝治(2013), 罰則付き回帰とデータ解析環境R,オペレーションズリサーチ, 2013年5⽉号 • [2]Hastie, T., and Tibshirani, R. (2014), 統計的学習の基礎: データマイニング・推論・予測, 共⽴出版 • [3]廣瀬慧(2014), Lasso タイプの正則化法に基づくスパース推定法を用いた超高次元データ解析, 数理解析研究所講究録 1908 : 57-77 (http://www.kurims.kyoto-u.ac.jp/~kyodo/kokyuroku/contents/pdf/1908-05.pdf) • [4]⿅島久嗣, 「数理情報⼯学特論第⼀【機械学習とデータマイニング】1章:概論(3)」講義資 料(www.geocities.co.jp/kashi_pong/1-3.pdf) • [5]冨岡亮太(2015), スパース性に基づく機械学習, 講談社 • [6]山下信雄(2013), Coordinate Descent 法について, 「最適化の基盤とフロンティア」研究部会 講演資料 (https://www.slideshare.net/amp-kyoto/coordinate-descent) • [7] Das, K. and Sobel, M.(2015), Dirichlet Lasso: A Bayesian approach to variable selection, Statistical Modelling, vol.15 (3) (2015), 215–232 • [8] Efron, B., Hastie, T., Johnstone, I., and Tibshirani, R. (2004), Least Angle Regression(with discussion), The Annals of Statistics, 32, 407–499. 2017/4/9 岩波DS Vol.5 [特集]スパースモデリングと多変量データ解析 37