Machine Learning Tutorial
Department of Atmospheric Science, Colorado State University
January 27-31, 2020
Department of Atmospheric Science, Colorado State University
January 27-31, 2020
Aaron Hill (Postdoctoral Researcher)
Wei-Ting Hsiao (Masters student)
Yoonjin Lee (PhD student)
Kirsten Mayer (Masters student)
Jamin Rader (Masters student)
Ben Toms (PhD student)
Elizabeth Barnes (faculty)
Over the past few years machine learning has emerged as an important tool for scientists, being utilized for a range of tasks including improving model parameterizations, identifying extreme weather events, improving predictions across timescales, clustering data samples and general non-linear data analysis. We would like to provide a multi-day machine learning tutorial for atmospheric scientists at CSU.
This tutorial assumes no prior knowledge of machine learning.
Day 1: start from the basics (e.g. back propagation, training and testing) and basic architectures (e.g. neural networks, random forest, autoencoders, convolutional neural networks, etc.)
Day 2: build on day 1's discussion by digging deeper into implementation and visualization techniques (e.g. running actual code, optimal input, layer-wise relevance propagation)
Optional Day 3: students bring their lunches and laptops+data to receive guidance applying what they've learned to their own research
Day One: The Basics of Machine Learning
1:00pm - 1:15pm — The Big Idea of Machine Learning for Science (Libby)
1:15pm - 1:35pm — Foundational Concepts and Machine Learning Approach (Wei-Ting and Jamin)
1:35pm - 2:25pm — Decision Trees and Random Forest (Aaron)
2:25pm - 2:45pm — Break
2:45pm - 4:00pm — Neural Networks (Libby and Jamin)
4:00pm - 4:35pm — Advanced Topics related to Neural Networks (Yoonjin and Kirsten)
4:35pm - 5:00pm — Machine Learning Research in ATS
Day Two: Implementation and Visualization
1:00pm - 1:15pm — Machine Learning Research in ATS (Libby)
1:15pm - 1:45pm — Forecasting Example using Random Forest (Aaron and Wei-Ting)
1:45pm - 2:20pm — Sine-wave and ENSO Examples using Neural Networks (Jamin and Ben)
2:20pm - 2:25pm — Discussion of Software Options (Ben)
2:25pm - 2:35pm — Visualization and Attribution: Opening the "Black Box" (Libby)
2:35pm - 2:55pm — Random Forest Visualization Techniques (Aaron)
2:55pm - 3:10pm — Break
3:10pm - 3:35pm — Random Forest Visualization Example (Aaron and Wei-Ting)
3:35pm - 4:15pm — Artificial Neural Network Visualization Techniques (Kirsten and Ben)
4:15pm - 4:40pm — Artificial Neural Network Visualization Example (Kirsten and Ben)
4:40pm - 4:50pm — Incorporating Physics into Machine Learning (Ben and Libby)
4:50pm - 5:00pm — Thoughtful use of AI for Earth Science (Libby)
Step 1: you must have a Google account. If you do not, get one! Note you can get a google account through CSU too (called a "rams" Google apps account).
Step 2: Click on the link for one of the examples below. It will take you a Colaboratory python notebook set to "Playground" mode. This means you will be able to run the code in Colaboratory (no requirements other than a browser), but your changes will not be saved. If you make changes that you would like to save, click File --> Save and it will prompt you to save the script in your personal Drive.
Notebooks Discussed:
Forecasting Example using Random Forest
Sine Wave Example using an Artificial Neural Network
Handwritten Digits Example using a Convolutional Neural Network
ENSO Example -- Basic Neural Network Training and Interpretability
After the tutorial, we invite you to download these Python notebooks to your own Drive to play with. An email was sent to participants with the necessary links.