2015-05-14
Feature-Weighted Linear Stackingメモ
はじめに
Sill et al., Feature-Weighted Linear Stacking, 2009
http://arxiv.org/abs/0911.0460
最近、コンペ上位者の手法としてよく見かける手法「Stacking」の一つについてメモ。
Stacking
- 複数の機械学習モデルの予測結果をブレンドすることで、さらによい予測結果を得る方法
- アンサンブル学習やメタ学習の一種
- 「学習モデルを一つずつ積み重ねる=スタックする」
- 一般に2段階で構成され、1段階目は入力に対して各学習モデルが結果を出力、2段階目はその各出力をまとめあげ最終結果を出力
- BlendingやStacked generalization、日本語だとスタック汎化、スタッキングと呼ばれたりする
- http://shindannin.hatenadiary.com/entry/2015/03/13/101945
- http://en.wikipedia.org/wiki/Ensemble_learning#Stacking
- http://en.wikipedia.org/wiki/Meta_learning_(computer_science)
- 杉山ら, 統計的学習の基礎 データマイニング・推論・予測, 共立出版
- 初出は1992年のWolpert「Stacked generalization」の模様
Feature-Weighted Linear Stacking(FWLS)
概要的には、各学習結果をまとめあげる部分を線形和として表す際に、メタ素性をさらに考慮することで、細かい調整を行えるようにした感じ。
- L個の機械学習モデル g_i
- 入力xに対して、g_i(x)は予測結果を表す
- M個のメタ素性関数 f_i
- 入力xに対して、f_i(x)はメタ素性に関する何らかの実数を表す
Standard linear regression stacking
- 単純に各学習器を線形和として考え、その重みを学習する
- ブレンドした予測結果b(x) = Σ_i w_i * g_i(x)
- このモデルごとの重みw_iによってブレンドされる
- w_iは学習で求める
- Leo Breiman, Stacked Regressions, 1996が参照されてるけど、このBreimanさんみた事あると思ったらランダムフォレストの人だった
Feature-weighted linear stacking
- 上記に加えさらに「メタ素性」を考慮し、各学習器とメタ素性の組み合わせの線形和として考え、その重みを学習する
- ブレンドした予測結果b(x)=Σ_{i,j} v_{ij} f_j(x) g_i(x)
- 上記の重みw_iをメタ素性の関数をブレンドしたものとする
- w_i(x) = Σ_j v_{ij} f_j(x)
- v_{ij}は学習で求める
FWLS optimization problem
- 最適化したい問題(v_{ij}の学習)は、
- min_v Σ_入力x Σ_{i,j} (v_{ij} f_j(x) g_i(x) - 正解y(x))^2
- ただし、入力xはスタッキングのパラメータを求めるために各学習器の学習で使っていない入力集合を使ったほうがよい
- K-fold cross validationとか、各学習に使う入力集合には気をつける
モデルの数
メタ素性の例
- 常に1を返すf_0(x)=1やg_0(x)=1を用意する事で、結果がよくなったりする
- NetflixPrizeでのモデルブレンディングに使ったメタ素性
- LSHTC4(Wikipediaの文書のタグ当て)の優勝者のモデルブレンディングに使ったメタ素性
参考
- http://arxiv.org/abs/0911.0460
- http://ibisforest.org/index.php?%E3%83%A1%E3%82%BF%E5%AD%A6%E7%BF%92
- http://shindannin.hatenadiary.com/entry/2015/03/13/101945
- http://www.chioka.in/stacking-blending-and-stacked-generalization/
- http://en.wikipedia.org/wiki/Ensemble_learning#Stacking
- http://en.wikipedia.org/wiki/Meta_learning_(computer_science)
- 杉山ら, 統計的学習の基礎 データマイニング・推論・予測, 共立出版
- Murphy, Machine Learning A Probablistic Perspective
- Aggarwal, Data Classification Algorithms and Applications
- (下2つの本ではこの論文はReferenceされている)
- 3 http://t.co/7dU4UPrcR9
- 2 http://longurl.org
- 2 http://t.co/LepmH8KRfh
- 1 http://a.hatena.ne.jp/aquos2800/
- 1 http://b.hatena.ne.jp/
- 1 http://b.hatena.ne.jp/entrylist?url=http://blogos.com/
- 1 http://b.hatena.ne.jp/smly/favorite
- 1 http://search.yahoo.co.jp/search?p=Nemenyi検定&aq=-1&oq=&ei=UTF-8&fr=slv1-tospcc4&x=wrt
- 1 http://t.co/xaxQx9z3Ac
- 1 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CEEQFjAB&url=http://d.hatena.ne.jp/jetbead/20150514/1431612867&ei=_bZUVfm4GOaUlAbWDA&usg=AFQjCNHkZquYdmmLyfy0_DnHTLdCzV0lAg