Small projects to clarify big concepts
In this project, I try to clarify for myself and others the big mathematical (and not only) concepts. I try to find the simplest possible example and roll from there by asking a lot of "simple/obvious/stupid" questions. Here you can find a collection of Jupyter notebooks with different amount of content in them.
The links below will render the notebooks in nbviewer.
Main finished notebooks
gradient_descent - simplistic visualization of 1D and 2D gradient descent.
bag_of_visual_words - tf-idf reweighting for visual bag of words in pictures.
homogeneous_coords - couple of geometric operation for homogeneous points.
Interpolation - mainly thoughts about cubic interpolation and how to apply interpolations for scaling up images.
system_of_linear_equations - overview of how to solve Ax=b and Ax=0
local_image_operators - local image operators. Applying Binomial, Box and Sobel filter.
topological_sorting - code snippet to practice graph search using topological sorting.
Kullback_Leibler - an example of comparing two 1D discrete distribution using Kullback-Leibler divergence.
ml_regression - maximum likelihood estimation for linear regression. Bundle adjustment as a ML estimation method
in_progress
Folder This folder contains more complicated topics which were not completely simplified yet.
Gaussian Processes (gp)
* **GP_starting example** - implementing GP from scratch
* **Gaussian_processes_functional** - GP implementation using funtional programming and multi dimensional input
* **SkLearn_example** - model selection and first steps for optimal parameter selection using sklearn framework