Introduction to Machine Learning

This project is maintained by retowuest

Reto Wüest (University of Geneva)

reto.wuest@unige.ch

With ever more data available in electronic form, automated methods of data analysis become increasingly important also in the social sciences. Machine learning refers to a set of methods that can automatically detect patterns in data, or “learn” from data. The uncovered patterns can then be used by the analyst to make accurate predictions and decisions under uncertainty.

This course will introduce participants to the fundamentals of machine learning. Students will leave the course with a thorough understanding of the core issues in machine learning (prediction and inference, supervised and unsupervised learning, overfitting, bias-variance trade-off), knowledge of some of the most widely used machine learning methods, and the ability to apply these methods in their own research. All course materials are available at http://retowuest.net/ml2018/.

The course will use the open-source software R, which is freely available for download at https://www.r-project.org/. We will interact with R through the user interface RStudio, which can be downloaded at https://www.rstudio.com/products/rstudio/download/.

Participants are expected to have a solid understanding of linear and binary regression models. The course will also assume at least a basic familiarity with the R statistical programming language.

A PDF of the syllabus is available here.

The first session will provide an introduction to machine learning. We will discuss the goals of machine learning (prediction, inference, or both), the difference between supervised and unsupervised machine learning, the problem of overfitting, and the bias-variance trade-off. We will then get to know the first class of important supervised learning methods, namely shrinkage methods (ridge regression and the Lasso).

Time | Topic | Materials |
---|---|---|

13:00-13:30 | Course overview | Slides |

13:30-14:00 | General introduction | Slides |

14:00-14:45 | Assessing model accuracy | Slides |

14:45-15:15 | Break | |

15:15-15:45 | Shrinkage methods I: Ridge regression | Slides |

15:45-16:15 | Shrinkage methods II: The Lasso | Slides |

16:15-17:00 | Applications of ridge regression and the Lasso | Lab |

- James et al.,
*An Introduction to Statistical Learning*, Ch. 2 (pp. 15-42) and Ch. 6 (pp. 214-228)

- James et al.,
*An Introduction to Statistical Learning*, Ch. 5 (pp. 175-186) - Hastie et al.,
*The Elements of Statistical Learning*, Ch. 3 and Ch. 7 - Shalev-Shwartz and Ben-David,
*Understanding Machine Learning*, Ch. 5 and Ch. 13 - Bishop,
*Pattern Recognition and Machine Learning*, Ch. 12

The second session will deal with tree-based methods, which are another important and highly flexible class of supervised learning methods. After an introduction to the basics of decision trees and a general discussion of the advantages and disadvantages of tree-based models, we will look at three specific widely-used tree-based methods: bagging, random forests, and boosting.

Time | Topic | Materials |
---|---|---|

13:00-13:30 | Introduction to classification and regression trees | Slides |

13:30-14:00 | Advantages and disadvantages of trees | Slides |

14:00-14:45 | Bagging, random forests | Slides |

14:45-15:15 | Break | |

15:15-16:00 | Boosting | Slides |

16:00-16:30 | Application 1: Regression and Classification Trees | Lab |

16:30-17:00 | Application 2: Bagging, Random forests, Boosting | Lab |

- James et al.,
*An Introduction to Statistical Learning*, Ch. 8

- Hastie et al.,
*The Elements of Statistical Learning*, Ch. 9, Ch. 10, and Ch. 15 - Shalev-Shwartz and Ben-David,
*Understanding Machine Learning*, Ch. 18 - Lantz,
*Machine Learning with R*, Ch. 11

In the third session, we will move to unsupervised machine learning methods. We will cover two important unsupervised learning techniques: principal components analysis (PCA) and clustering analysis (*K*-means clustering and hierarchical clustering).

Time | Topic | Materials |
---|---|---|

13:00-13:30 | Introduction to unsupervised learning | Slides |

13:30-14:15 | Principal components analysis (PCA) | Slides |

14:15-14:45 | K-means clustering |
Slides |

14:45-15:15 | Break | |

15:15-16:00 | Hierarchical clustering | Slides |

16:00-16:30 | Application 1: PCA | Lab |

16:30-17:00 | Application 2: Clustering methods |

- James et al.,
*An Introduction to Statistical Learning*, Ch. 10

- Hastie et al.,
*The Elements of Statistical Learning*, Ch. 14 - Shalev-Shwartz and Ben-David,
*Understanding Machine Learning*, Ch. 22 and Ch. 23 - Bishop,
*Pattern Recognition and Machine Learning*, Ch. 12 - Barber,
*Bayesian Reasoning and Machine Learning*, Ch. 15 - Lantz,
*Machine Learning with R*, Ch. 9