Bert de Vries and Tjalling Tjalkens.
Eindhoven University of Technology, Dept. of Electrical Engineering .
Corr. to [email protected]
This site contains materials for course 5SSB0 (Adaptive Information Processing) at TU/e.
You can view the lecture notes through the links below:
- 0 - Introduction
- 1 - Machine Learning Overview
- 2 - Probability Theory Review
- 3 - Bayesian Machine Learning
- 4 - Working with Gaussians
- 5 - Density Estimation
- 6 - Linear Regression
- 7 - Generative Classification
- 8 - Discriminative Classification
- 9 - Clustering with Gaussian Mixture Models
- 10- The EM Algorithm
- 11- Continuous Latent Variable Models - PCA and FA
- 12- Dynamic Latent Variable Models
- 13- Factor Graphs and Message Passing Algorithms
To open the lecture notes in IJulia, download the .ipynb files to your computer and start a Jupyter notebook by
$ jupyter notebook
You will now get a new page in your browser with a list of available notebooks. Alternatively, if you don't have Julia/Jupyter installed on your system, you can use JuliaBox to run the notebooks (see exact instructions below).
To run the interactive code examples in the lecture nodes, the following Julia packages are required: Cubature
, DataFrames
, Distributions
, Interact
, PyPlot
, Optim
. To install the required packages, execute:
map(Pkg.add, ["Cubature", "DataFrames", "CSV", "Distributions", "Interact", "PyPlot", "Optim", "SpecialFunctions"])
Follow these instructions to run the code examples from the lecture notes online through JuliaBox.
-
(Create account) Go to https://www.juliabox.com/, create an account and log in.
-
(Install required packages) Go to the
Console
tab, and then start a Julia shell by typingjulia
.In the Julia shell, execute the following command to install all required packages:
map(Pkg.add, ["Cubature", "DataFrames", "CSV", "Distributions", "Interact", "PyPlot", "Optim", "SpecialFunctions"])
Afterwards, type
exit()
to quit Julia. -
(Import lecture notes into JuliaBox) Go to the
Sync
tab, and add the lecture notes git repository through the following actions: -
Paste
https://github.com/bertdv/AIP-5SSB0.git
in theGit Clone URL
field -
Click with the mouse in the
branch
field. You should getmaster
in thebranch
field andAIP-5SSB0
in thejuliabox
field. -
Press the "+" button.
You can now open the lecture notes by going to the Jupyter
tab (press the refresh button if the folder AIP-5SSB0
does not show up). Navigate to a specific lesson and click the .ipynb
file to open the notebook.
Install Docker from https://www.docker.com.
Finally from the root directory of the project issue
$ docker build -t aip-5ssb0-bundler .
$ docker run --rm \
--volume ${PWD}/lessons:/aip-5ssb0-bundler/lessons \
--volume ${PWD}/output:/aip-5ssb0-bundler/output \
aip-5ssb0-bundler
to obtain a bundle.pdf
file containing all lessons in the output
directory.
Sometimes it may be convenient or necessary to get access to Jupyter while it's running inside the Docker image. The following procedure can be used to achieve this:
$ docker run --rm -it \
--volume ${PWD}/lessons:/aip-5ssb0-bundler/lessons \
--volume ${PWD}/output:/aip-5ssb0-bundler/output \
--publish 8888:8888 \
aip-5ssb0-bundler jupyter notebook --ip 0.0.0.0
Then open the URL Jupyter reports in a browser, substituting
0.0.0.0
with localhost
.
Adaptive Information Processing (5SSB0) by Bert de Vries, Tjalling Tjalkens and Marco Cox is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License