# Introduction to Machine Learning (Autumn 2022)

#### Official course description:

##### Course info

##### Programme

##### Staff

##### Course semester

##### Exam

##### Abstract

The course is an introductory course to machine learning and the mathematical models used within.

If you have already taken the course Machine Learning on the Bachelor programme in Data Science at ITU or a similar course, we recommend that you do not take this course.

##### Description

The objectives of this course are to provide students with the fundamental knowledge and skills required to design, build, evolve and evaluate (smaller) machine learning programs. The course requires programming skills equivalent to a completed bachelor in software development (SWU) hence substantial programming experience is expected. The course contains significant amounts of mathematics and the student should expect to spend more time than usual on getting comfortable with the mathematics and how it is used within Machine learning and programming.

Having knowledge within signals and machine learning (e.g. deep learning) are important skills needed in many modern innovative businesses. The course will introduce specific machine learning techniques and apply them to relevant computer vision problems such as recognition, regression, dimensionality reduction and clustering. Through the course the student should be able to use the technique in their own applications and within more advanced topics using machine learning.

**Contents**:

There is a strong syntegy between computer vision and machine learning. Machine learning is very well explained and taugt in terms of computer vision problems and computer vision benefit form a solid understanding of machine learning. Both topics are strongly rooted in mathematics and in particular linear algebra.

The course introduces the basic methodology of machine learning in primarily covering linear aspects of

- regression
- classification
- clustering
- dimensionality reduction

by placing these in terms of computer vision problems. However the course will touch upon non-linear models.

The course will present fundamental mathematical models for machine learning as well as techniques to implement them. You will in the exercises and mandatory assignments be getting hands-on experience with using the techniques described during the lectures. You will not be reimplementing advanced methods, but will rather use them for analysis and interpretation. In the exercises you will be using Python and image analysis / machine learning packages such as OpenCV, PyTorch, Numpy. Images from digital cameras and web cameras will be used in the exercises to illustrate the theory.

In particular the course covers:

- linear algebra (matrix multiplication, transformations, solving linear set of equations, subspaces and SVD)
- Basics of images and transformations on images e.g. pixel-based and local processing of images (smoothing, edges, conversion between color spaces) and color image processing.
- Regression, classification, dimensionality reduction and clustering, including neural networks, deep learning, support vector machines and principal component analysis / Auto encoders, k-means and mean-shift algorithms, and recommender systems
- Regulariation, Non-linear optimization (gradient descent), multivariate differentiation including the chain rule.
- Python, OpenCV, Numpy,pyTorch

During the course students should particularly focus on

- the mathematical models underlying modern machine learning and computer vision techniques. The course will contain
**significant**amounts of mathematics which is essential for understanding the machine learning models. You should expect to spend more time than usual on getting comfortable with the mathematics and how it is used within Machine learning. IT IS ABSOLUTELY not something that can be avoided. - The techniques for estimating the parameters of the model given the definition of optimality.
- evaluating and comparing models on a given problem using established

**Interpretation**

This means that you should be able to use and explain the mathematics that is taught in the course. Similarly you should be able to explain the models of machine learning in terms of mathematics and indicate how they can be implemented, but (and this is important) you will NOT be asked to reimplement specific ML methods (such as KNN, neural networks etc). There already exist very good implementations and no need to make your own implementation. It is MUCH more important that you can

- understand and describe the underlying (mathematical) models and how model parameters are optimally found.

- select an appropriate Machine learning model for a given problem.

- interpret the output of the model (eg. what do the pricipal components represent)

- compare and evaluate the results from the model

##### Formal prerequisites

The course assumes the student has the ability to program in some imperative programming language (Java, Python, C/C++/C#. You should be a rather proficient programmer as expected on 1. semester on computer science. The course uses concepts from mathematics and in particular linear algebra. Fulfilling the general admittance requirements for CS and SWU ensures the mathematical prerequisites. We advice that students refresh their memory on the distance formula, basic trgonometry, vectors, rules of differentiation (e.g. chain rule), formulas for straight lines and polynomia, prior to the course.

##### Intended learning outcomes

After the course, the student should be able to:

- Define, describe and relate concepts, mechanisms and mathematical models underpinning computer vision (CV) and machine learning (ML) methods and how they are related.
- Analyze and explain key aspects of building medium-sized computer vision applications.
- Explain, design and implement medium-sized interactive computer vision applications using concepts from ML.
- Evaluate, select and adapt appropriate computer vision and machine learning techniques by applying the theoretical concepts and practical techniques from the course.
- Clearly explain and employ basic linear algebra for computer vision and machine learning.
- Apply the theory and implement rudimentary research papers within CV and ML as expected on a master level

##### Learning activities

Lectures + exercise sessions. An average of 12 work hours per week should be expected. Activities are divided between lectures and exercises. The students will be given a set of assignments (about 3) that will be supervised during the semester (mandatory hand-in) .

You are to work systematically as expected on master level. The course gives plenty of opportunities in the guided exercise session to gain hands-on experience with solving problems and with implementing and applying machine learning techniques in Python.

Exercises/assignment are clearly marked so that students can see what is the expected work but there are plenty of exercises that also support those who are interested in different and challenging exercises to become even better.

The students should expect to buy a couple of books to cover different aspects of the course.

The assesment, during the oral examination, will based on the student's ability to relate the exercises, the submitted assignments to relate these to the theory.

##### Mandatory activities

There will be 2-4 assignments that needs to be programmed and clearly documented in a report.

The pedagogical purpose of the mandatory activities is
to ensure scaffolding and clear communication about essential course content
and expectations for the exam. The course builds on top on taught material and the student should have working experience with the material
as part of the scaffolding. The students will receive written/oral formative feedback
after each hand-in. If the student get “not approved” the student will have one
week to improve on the assignment and resubmit.

The students will receive written/oral formative
feedback after each hand-in.

If the students fail to hand in or get a “not
approved” of the mandatory activities they will get a second attempt.

The student will receive the grade NA (not approved) at the ordinary exam, if the mandatory activities are not approved and the student will use an exam attempt.

##### Course literature

The following list is TENTATIVE. DO NOT BUY YET

*Introduction to Linear Algebra* 5. edition Gilbert Stang

http://www.deeplearningbook.org/

Various notes

Several online lectures

##### Student Activity Budget

Estimated distribution of learning activities for the typical student- Preparation for lectures and exercises: 32%
- Lectures: 16%
- Exercises: 24%
- Assignments: 28%

##### Ordinary exam

**Exam type:**

B: Oral exam, External (7-point scale)

**Exam variation:**

B1H: Oral exam with time for preparation. Home.

**Exam duration per student for the oral exam:**

20 minutes

##### reexam

**Exam type:**

B: Oral exam, External (7-point scale)

**Exam variation:**

B1H: Oral exam with time for preparation. Home.