Jason Brownlee
Master Machine Learning Algorithms
Discover How They Work and Implement Them From Scratch
i
Master Machine Learning Algorithms
©
Copyright 2016 Jason Brownlee. All Rights Reserved.
Edition, v1.1
http://MachineLearningMastery.com
Contents
Preface iii
I Introduction 1
1 Welcome 2
1.1 Audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Algorithm Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Book Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 What This Book is Not . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.5 How To Best Use this Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
II Background 6
2 How To Talk About Data in Machine Learning 7
2.1 Data As you Know It . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Statistical Learning Perspective . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Computer Science Perspective . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.4 Models and Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3 Algorithms Learn a Mapping From Input to Output 11
3.1 Learning a Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2 Learning a Function To Make Predictions . . . . . . . . . . . . . . . . . . . . . . 12
3.3 Techniques For Learning a Function . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4 Parametric and Nonparametric Machine Learning Algorithms 13
4.1 Parametric Machine Learning Algorithms . . . . . . . . . . . . . . . . . . . . . . 13
4.2 Nonparametric Machine Learning Algorithms . . . . . . . . . . . . . . . . . . . 14
4.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5 Supervised, Unsupervised and Semi-Supervised Learning 16
5.1 Supervised Machine Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.2 Unsupervised Machine Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
ii
iii
5.3 Semi-Supervised Machine Learning . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
6 The Bias-Variance Trade-Off 19
6.1 Overview of Bias and Variance . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
6.2 Bias Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
6.3 Variance Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
6.4 Bias-Variance Trade-Off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
6.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
7 Overfitting and Underfitting 22
7.1 Generalization in Machine Learning . . . . . . . . . . . . . . . . . . . . . . . . . 22
7.2 Statistical Fit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
7.3 Overfitting in Machine Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
7.4 Underfitting in Machine Learning . . . . . . . . . . . . . . . . . . . . . . . . . . 23
7.5 A Good Fit in Machine Learning . . . . . . . . . . . . . . . . . . . . . . . . . . 23
7.6 How To Limit Overfitting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
7.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
III Linear Algorithms 25
8 Crash-Course in Spreadsheet Math 26
8.1 Arithmetic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
8.2 Statistical Summaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
8.3 Random Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
8.4 Flow Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
8.5 More Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
8.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
9 Gradient Descent For Machine Learning 30
9.1 Gradient Descent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
9.2 Batch Gradient Descent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
9.3 Stochastic Gradient Descent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
9.4 Tips for Gradient Descent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
9.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
10 Linear Regression 34
10.1 Isn’t Linear Regression from Statistics? . . . . . . . . . . . . . . . . . . . . . . . 34
10.2 Many Names of Linear Regression . . . . . . . . . . . . . . . . . . . . . . . . . . 34
10.3 Linear Regression Model Representation . . . . . . . . . . . . . . . . . . . . . . 35
10.4 Linear Regression Learning the Model . . . . . . . . . . . . . . . . . . . . . . . 35
10.5 Gradient Descent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
10.6 Making Predictions with Linear Regression . . . . . . . . . . . . . . . . . . . . . 37
10.7 Preparing Data For Linear Regression . . . . . . . . . . . . . . . . . . . . . . . . 37
10.8 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38