This repository contains python notebooks of some machine learning algorithms.
Notebooks:
-
Basic python (Numpy, matplotlib, scikit-image): a patch extraction techique, that may be used for future medical patch-based classification/segmentation, is provided at the end.
-
Feed-forward neural networks: a touch of theory + a digit classification application.
-
Convolutional neural networks: Definition + Cifar10 object classification.
-
Fully Convolutional neural networks: Retinal blood vessel segmentation.
-
Generative adversarial networks: MNIST image generation.
-
Gradient descent for deep learning: contains the following
- The standard Gradient Descent (GD) algorithm
- The GD+Momentum algorithm
- The AdaDelta algorithm
- The Adam algorithm
-
Loss Landscape: visualizing the loss landscape on the MNIST database using 2 random directions.
-
Dictionary learning: contains the following
- The Iterative Shrinkage and Thresholding Algorithm (ISTA)
- The Coordinate Descent (CD) algorithm for
$\ell_1$ sparse coding - The Block-Coordinate Descent (BCD) algorithm for dictionary learning
- The Online Dictionary Learning (OLD) algorithm
Environment: The following software/libraries may be needed to run all the notebooks: