pythonで機械学習を自動化 auto sklearn
Post on 15-Apr-2017
7.992 Views
Preview:
TRANSCRIPT
Python で機械学習を自動化auto-sklearn
2015/10/24PyLadies Tokyo 1st Anniversary Party
Yukino Ikegami@_yukinoi
自己紹介• 名前 : 池上 ゆきの• やってること : 自然言語処理・データマイニング• Python 歴 プログラミング歴≒
• ブログ– はてな : http://yukinoi.hatenablog.com/– Qiita: http://qiita.com/yukinoi
機械学習には…
いろんなアルゴリズムがある
いろんなハイパーパラメーターがある
λ
αβ
ηC
γ
いろんな組み合わせがあるα
βγ
λ
η
C
一番いいのを頼む!
そこで Auto ML
auto-sklearn
与えられたデータをもとに scikit-learn の中から• よさげな前処理選んで• よさげな学習アルゴリズム選んで• よさげなハイパーパラメーター選んでそれらをアンサンブル
どんな風にやるの?
1. Meta learning で初期値を得る2. よさげな前処理 / アルゴリズム / パラメーターを探索3. よさげなものを束ねる ( アンサンブル )
From Feurer et al. 2015
Meta Learning
• どの手法がどういうデータに向いているかをモデル化– データ数、素性の数、データ数と素性数の比率、– クラス数、欠損値の数、歪度、エントロピー , など
OpenML の 140 データセットから学習
よさげな組み合わせを見つけるsolver で探索• 前処理 / アルゴリズム / ハイパーパラメーター– SMAC
• アンサンブル– runsolver
実際に試してみた• 10 分間探索– https://github.com/ikegami-yukino/misc/blob/ma
ster/machinelearning/auto-sklearn/Example.ipynb
– 学習用と検証用でデータを 9 : 1 に分割• Accuracy– Iris: 1.0– digits: 0.975
Vagrant で試せるようにしたよ!• https://github.com/ikegami-yukino/misc/tree/
master/machinelearning/auto-sklearn
結び• AutoML の一手法として auto-sklearn を紹介• 伸びしろがある感じだけど未来っぽくてよい
くわしくはこちら• AutoML
– http://www.automl.org/• auto-sklearn
– https://github.com/automl/auto-sklearn– http://aad.informatik.uni-freiburg.de/papers/15-AUTOML-AutoML.pdf
• scikit-learn– http://scikit-learn.org/
• OpenML– http://www.openml.org/
• SMAC– http://www.cs.ubc.ca/labs/beta/Projects/SMAC/– http://www.cs.ubc.ca/labs/beta/Projects/SMAC/papers/10-LION-TB-SPO.pdf
• runsolver– http://jsat.ewi.tudelft.nl/content/volume7/JSAT7_12_Roussel.pdf
top related