Machine Learning

Introduction to machine learning and its application in marine sciences

Course code

DO354 (undergrad)/ DO720 (postgrad), under the Department of Oceanography

Semesters taught

113-1, 114-1 (offered every year in the first semester)

Course description

This course introduces students to machine learning and its applications. Upon completion, students will be able to implement various ML models, from simple linear models to deep learning models, and apply them to problems in marine sciences.

The first part of the course focuses on the basic machine learning concepts and implementation with scikit-learn. More time is spent on coding than on theory in this part to help students become confident with coding and familiar with the general workflow of model training.

The second part focuses on the basics of deep learning and implementation using Keras/TensorFlow. More time is spent on conceptual understanding in this part, i.e., heavy use of blackboard explanations, to help students become confident in explaining how each type of neural network model works.

We will use examples in marine sciences throughout the course.

Prerequisite

We will use Python for implementation (using Google Colab), so students are required to have some programming experience in Python.

Syllabus

  • Introduction to machine learning
  • Python crash course and data preprocessing
  • Regression
  • Classification
  • Dimension reduction
  • Clustering
  • Part 1 summary
  • Mid-term exam / Final project proposal
  • Introduction to deep learning
  • Multilayer perceptron (Part 1: forward propogation and loss function)
  • Multilayer perceptron (Part 2: back propagation and gradient descent)
  • Autoencoder
  • Recurrent neural network
  • Convolutional neural network
  • Transfer learning
  • Part 2 summary
  • Final project presentation