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