In this course, we will build on our knowledge of basic models and explore advanced AI techniques. We’ll start with a deep dive into neural networks, building our knowledge from the ground up by examining the structure and properties. Then we’ll code some simple neural network models and learn to avoid overfitting, regularization, and other hyper-parameter tricks. After a project predicting likelihood of heart disease given health characteristics, we’ll move to random forests. We’ll describe the differences between the two techniques and explore their differing origins in detail. Finally, we’ll complete a project predicting similarity between health patients using random forests.
Overview
Syllabus
- Introduction to Neural Networks
- In this module, we'll go through neural networks and how to use them in Python. We'll start by describing what a neural network is and how to construct one by combining a sequence of linear models. Then, we'll talk about converge of neural networks in the hopes of minimizing a loss function. Finally, we'll learn how to code a neural network in Python.
- Deep Dive into Neural Networks
- In this module, we'll take a more detailed look into neural network and the considerations we should be having when using them. We'll start by adding layers to our 2-layer network, exploring the different options and their effects. Then, we'll explore some more advanced Python libraries for neural networks in TensorFlow and Keras. Finally, we'll discuss the implications to science and how to apply the models in the space.
- Exploring Random Forests
- In this module, we'll build up our knowledge of random forests and their uses in science. We'll start by exploring decision trees and how they operate as models in isolation. Next, we'll look at the impact of combining decision trees to create random forests. From here, we'll talk about the similarities and differences between regression and classification with random forests before concluding with a final project predicting species from lineage.
- Final Project: Comparing Models to Predict Sepal Width
- In this final project, we'll be comparing a suite of models to find the one that best predicts sepal width.
Taught by
Rajvir Dua and Neelesh Tiruviluamala