Skip to main content

Foundations of Machine Learning in Python

Course designed for advanced learners interested in understanding the foundations of Machine Learning in Python.

Course details
Non-credit or Credit course
Non-credit course
University
Teacher
E. Trunz & M. Wolter
Category
Computer science
Tools
Dimension
Neuroinformatics
Level
Advanced
Includes

The course consists of 15 lectures (ca. 1-2 hours each) and 15 exercise sheets (for ca. 6 hours of programming each).

Institution: High-Performance Computing and Analytics Lab, University of Bonn

Course Level:  Advanced e.g. 3rd year B.Sc. or M.Sc. 4 Expert e.g. Ph.D level

Language: English Workload [hours and ECTS]: ca. 120 hours

Requirements for participation: Basic Python knowledge e.g. from https://docs.python.org/3/tutorial/

Course Features
What is machine learning, and what can it do for us?
The derivative, gradients, and optimization via gradient descent.
Matrix multiplication, singular value decomposition, Linear Regression.
Mean and variance, correlation, Gaussians.
Overfitting and underfitting, classification, regression, k-nearest neighbours.
Linear separable, non-linear separable, kernel trick.
Decision trees, random forests, bias and variance problem, bagging.
K-means clustering, Gaussian mixture models, expectation-maximization.
PCA for dimensionality reduction, PCA for compression and other applications.
The MNIST-data set, artificial neurons, forward and backward pass.
The convolution operation and convolutional neural networks.
Gradient descent with momentum, Adam, early stopping, regularization
CNN for segmentation
Visualization of linear classifiers, saliency maps, integrated gradients
Pretrained-Transformers, Long-Short-Term-Memory, Gated recurrent units, text-based

Lessons

Number of lessons: 15
  •  
    Elena Trunz

    Introduction of the Foundations of Machine Learning in Python course - Day 01.

    High-Performance Computing and Analytics Lab, University of Bonn

  •  
    Moritz Wolter

    Optimization for machine learning - Day 02 lecture of the Foundations of Machine Learning in Python course.

    High-Performance Computing and Analytics Lab, University of Bonn

  •  
    Moritz Wolter

    Linear Algebra for Machine Learning - Day 03 lecture of the Foundations of Machine Learning in Python course.

    High-Performance Computing and Analytics Lab, University of Bonn

  •  
    Moritz Wolter

    Statistics for Machine Learning -  Day 04 lecture of the  Foundations of Machine Learning in Python course.

    High-Performance Computing and Analytics Lab, University of Bonn

  •  
    Elena Trunz

    Statistics for Machine Learning - Day 05 lecture of the  Foundations of Machine Learning in Python course.

    High-Performance Computing and Analytics Lab, University of Bonn

  •  
    Elena Trunz

    Statistics for Machine Learning - Day 05 lecture of the  Foundations of Machine Learning in Python course.

    Support Vector Machines -  Day 06 lecture of the  Foundations of Machine Learning in Python course.

    High-…

  •  
    Elena Trunz

    Decision Trees and Random Forests -  Day 07 lecture of the  Foundations of Machine Learning in Python course.

    High-Performance Computing and Analytics Lab, University of Bonn

  •  
    Elena Trunz

    Clustering and Density Estimation -  Day 08 lecture of the  Foundations of Machine Learning in Python course.

    High-Performance Computing and Analytics Lab, University of Bonn

  •  
    Elena Trunz

    Dimensionality Reduction -  Day 09 lecture of the  Foundations of Machine Learning in Python course.

    High-Performance Computing and Analytics Lab, University of Bonn

  •  
    Elena Trunz

    Introduction to Neural Networks -  Day 10 lecture of the  Foundations of Machine Learning in Python course.

    High-Performance Computing and Analytics Lab, University of Bonn

  •  
    Moritz Wolter

    Introduction to Convolutional Neural Networks  -  Day 11 lecture of the  Foundations of Machine Learning in Python course.

    High-Performance Computing and Analytics Lab, University of Bonn

    Bonn

  •  
    Moritz Wolter

    Initialization, Optimization, and Regularization  -  Day 12 lecture of the  Foundations of Machine Learning in Python course.

    High-Performance Computing and Analytics Lab, University of Bonn

  •  
    Moritz Wolter

    U-Nets for medical Image-Segmentation  -  Day 13 lecture of the  Foundations of Machine Learning in Python course.

    High-Performance Computing and Analytics Lab, University of Bonn

  •  
    Moritz Wolter

    Explaining neural networks -  Day 14 lecture of the  Foundations of Machine Learning in Python course.

    High-Performance Computing and Analytics Lab, University of Bonn

    Bonn

  •  
    Moritz Wolter

    Sequence Processing -  Day 15 lecture of the  Foundations of Machine Learning in Python course.

    High-Performance Computing and Analytics Lab, University of Bonn