Exercise 1 (out of 14)
- Due No Due Date
- Points None
Getting started with supervised learning, incl. installation of some tools.
We will use Google Colab, which allows you to run (small) notebook examples. This requires no installation on your computer (though you need to have a Google account).
However, it will also be useful for you to install some software tools that are used in the course. This allows you to run code on your own computer and learn to handle such tool infrastructure. The installation procedure depends on which OS you are running, but you can easily find good installation instructions for Unix, macOS, and Windows, and we will help you with installation on the exercise if you have problems. One recommendation is to install Conda (Anaconda/Miniconda), which is a tool for handling virtual environments and packages in Python.
Some additional notes/instructions on working with Conda virtual environments in Python can be found here: virtual_environment_intro.pdf (virtual_environment_intro.md)
Exercise 1.1 Install the following tools (if you have problems, proceed to the next exercise)
- Anaconda a distribution of python with many data science tools ready to go
- Scikit-learn a machine learning library for Python
- Pandas a library providing easy-to-use data structures and data analysis tools
- matplotlib a 2D-plotting library for python
- seaborn a Python data visualization library based on matplotlib
- jupyter which allows you to run jupyter notebooks in your browser
Be prepared to run into some software issues that might require some work to resolve. Unfortunately, this is something you have to get used to in this line of work.
You can also use the discussion forum to ask questions and help other students out if you think you know the answer.
If you get stuck with the installation and need help, you can move on and use Google Colab for the moment.
Exercise 1.2 Run the notebook ex3_python_intro.ipynb either on google colab or on your local jupyter installation. It will go through some basics in a few of the packages we will be using.
(Hint: Start by copying the file to your own Google Drive (assuming you have such). This will allow you to save changes you make to the code. )
Exercise 1.3 On the lecture we studied overfitting and cross-validation, see ex3_cosinus.ipynb. In the code, replace the function used with , n_sample=50, leave-on-out cross-validation (cv=50), and replace the x-range from [0,1] to [-1,1]. Fit polynomials of order 1,...,20 and evaluate the true MSE and compare with the estimate you get from cross-validation. Try different values of the random seed and study how stable the result is
Exercise 1.4 Assume we have a linear dynamical system satisfying
where is a measured output,
a known input, and
an unknown disturbance. Describe how estimation of system parameters
and
can be formulated as a linear regression problem as on Lecture 1. (We will return to dynamical system identification later in the course.)
Exercise 1.5 We will prove the formula for the optimal parameter when ridge regression (=Tikhonov regularisation) is used for least squares optimization:
Introduce the matrix and vector
.
a) Show that . (Hint: Use the matrix result that
)
b) Show that solving the (extended) least squares problem shows that
The left hand side can be rewritten as a traditional LS problem by clever choice of extended matrices
. Then use the old LS-formula
and simplify the result.
Solutions: sol1.pdf