OE5510
Machine Learning for Ocean Engineers
A project-based path from SVD and PCA through regression and classification to neural networks for ocean engineering data.
An introductory, project-based machine learning course for students with an ocean engineering background. The emphasis is on building working intuition for the standard toolkit and applying it to ocean engineering data through a term project.
Course content
Feature engineering
- Singular value decomposition (SVD), matrix approximations, pseudo-inverse, and least squares
- Principal component analysis (PCA); truncation and alignment
- Fourier series and transforms, DFT/FFT, Gabor transform, and spectrograms
- Wavelets, multi-resolution analysis, and image processing
Regression and classification
- Curve fitting, nonlinear regression, and gradient descent
- Under- and over-determined systems; optimization and the Pareto front
- Cross validation and information criteria for model selection
- Unsupervised learning: k-means, dendrograms, mixture models, and the EM algorithm
- Supervised learning: linear discriminants, perceptron, SVMs, classification trees, and random forests
Neural networks
- Neural networks, activation functions, and backpropagation
- Stochastic gradient descent and deep convolutional networks
- Neural networks for dynamical systems; diversity of network architectures
Learning objectives
Upon successful completion of the course, students will be able to:
- Understand the use of SVD and PCA in data decompositions and apply them to fluid flows
- Develop features for tailoring a problem for application of ML algorithms
- Apply regression and classification approaches on ocean related datasets
- Build and tune data driven models using neural networks for ocean engineering applications
- Develop their own computer program to create and analyze an engineering dataset using the methods introduced in the course