Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Automating Machine Learning
Search
Andreas Mueller
July 15, 2016
Science
1.2k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Automating Machine Learning
Andreas Mueller
July 15, 2016
More Decks by Andreas Mueller
See All by Andreas Mueller
PyCon India - Commodity Machine Learning; past, present and future
amueller
0
2.8k
Engineering Scikit-Learn V2
amueller
0
330
Advanced Machine Learning with Scikit-Learn for Pycon Amsterdam
amueller
0
320
Scikit-learn: New project features in 0.17
amueller
0
150
Bootstrapping machine learning
amueller
0
160
PyData Berlin 2014 Keynote: Commodity machine learnin
amueller
0
210
Advanced Machine Learning with Scikit-Learn
amueller
1
780
Machine Learning With Scikit-Learn ODSC SF 2015
amueller
4
1.8k
Machine Learning With Scikit-Learn - Pydata Strata NYC 2015
amueller
1
3k
Other Decks in Science
See All in Science
データベース06: SQL (3/3) 副問い合わせ
trycycle
PRO
1
1.1k
サンプル対応のない複数遺伝子発現プロファイルに対するテンソル分解型統合解析の要約
tagtag
PRO
0
250
Toward Causal Scientific Discovery with AI
sshimizu2006
0
180
機械学習 - K近傍法 & 機械学習のお作法
trycycle
PRO
1
1.7k
Massey Ratings for Match Outcome Prediction in Table Tennis: Evidence of Greater Stability than the ITTF World Ranking
konakalab
0
150
AlgorithAlgorihms for Decision Making
mickey_kubo
0
150
20260410_SystemsThinking
takusamar
1
160
presen_司法書士学員会.pdf
tagtag
PRO
1
110
勾配流から乖離した学習ダイナミクス
hanbao
1
1k
データベース02: データベースの概念
trycycle
PRO
2
1.4k
From Prediction to Understanding: Causal Discovery for Data Science and AI Applications
sshimizu2006
0
300
不動産業界における業界特化のデータ整備とAI活用 ─Vertical DataとVertical AI─
estie
1
970
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
From π to Pie charts
rasagy
1
370
GitHub's CSS Performance
jonrohan
1033
470k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
240
The Pragmatic Product Professional
lauravandoore
37
7.4k
We Are The Robots
honzajavorek
0
380
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.6k
The untapped power of vector embeddings
frankvandijk
2
1.9k
Git: the NoSQL Database
bkeepers
PRO
432
67k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
700
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
Transcript
Andreas Mueller (NYU Center for Data Science, scikit-learn) Automatic Machine
Learning?
Why?
Issues with current tools (scikit-learn)
Flow chart / selecting model
Selecting Hyper-Parameters
Scikit-learn: Explicit is better than implicit make_pipeline( OneHotEncoder(), Imputer(), StandardScaler(),
SVC())
What? from automl import AutoClassifier clf = AutoClassifier().fit(X_train, y_train) >
Current Accuracy: 70% (AUC .65) LinearSVC(C=1), 10sec > Current Accuracy: 76% (AUC .71) RandomForest(n_estimators=20) 30sec > Current Accuracy: 80% (AUC .74) RandomForest(n_estimators=500) 30sec
Step 1: Automate Parameter Selection
Step 2: Automate Model Selection
Step 3: Automate Pipeline Selection
How?
Formalizing the Search Space Discrete and Continuous Parameters Conditional Parameters
Fixed pipeline vs flexible pipeline
Formalizing the Search Space Discrete and Continuous Parameters Conditional Parameters
Fixed pipeline vs flexible pipeline
Search Methods
Exhaustive Search (Grid Search)
Randomized Search
Bayesian Optimization (SMBO)
None
None
None
Gaussian Processes
Random Forest Based (SMAC)
Non-parametric (TPE)
None
None
Warm-starting and Meta-learning
Meta-Learning optimization Algorithm + Parameters Dataset 1
Meta-Learning optimization Algorithm + Parameters Dataset 3 optimization Algorithm +
Parameters Dataset 2 optimization Algorithm + Parameters Dataset 1
Meta-Learning Meta-Features 1 optimization Algorithm + Parameters Dataset 3 optimization
Algorithm + Parameters Dataset 2 optimization Algorithm + Parameters Dataset 1 Meta-Features 2 Meta-Features 3 ML model
Meta-Learning Meta-Features 1 optimization Algorithm + Parameters Dataset 3 optimization
Algorithm + Parameters Dataset 2 optimization Algorithm + Parameters Dataset 1 Meta-Features 2 Meta-Features 3 ML model New Dataset ML model Algorithm + Parameters
Meta-Features
Existing Approaches
auto-sklearn (Hutter, Feurer, Eggensperger) http://automl.github.io/auto-sklearn/stable/
Autoweka
Hyperopt-sklearn
TPot
Spearmint https://github.com/HIPS/Spearmint
Scikit-optimize
Within Scikit-learn • GridSearchCV • RandomizedSearchCV • BayesianSearchCV (coming) •
Searching over Pipelines (coming) • Built-in parameter ranges (coming)
TODO Clean separation of: • Model Search Space • Pipeline
Search Space • Optimization Method • Meta-Learning • Exploit prior knowledge better! • Usability • Runtime consideration
TODO Clean separation of: • Model Search Space • Pipeline
Search Space • Optimization Method • Meta-Learning • Exploit prior knowledge better! • Usability • Runtime consideration • Data subsampling
Criticism
Randomized Search works well
Do we need 100 Classifiers? Do we need Complex pipelines?
I don’t want a black-box!
46 http://oreilly.com/pub/get/scipy
47 Material • Random Search for Hyper-Parameter Optimization (Bergstra, Bengio)
• Efficient and Robust Automated Machine Learning (Feurer et al) [autosklearn] • http://automl.github.io/auto-sklearn/stable/ • Efficient Hyperparameter Optimization and Infinitely Many Armed Bandits (Lie et. al) [hyperband] https://arxiv.org/abs/1603.06560 • Scalable Bayesian Optimization Using Deep Neural Networks [Snoek et al]
48 @amuellerml @amueller
[email protected]
http://amueller.io Thank you.