The projects in this repository contain the MANUAL implementations of many Machine Learning (ML) and Deep Learning (DL) algorithms common in various programming languages and packages today. In this instance, they were written in Octave/Matlab.
1. Linear Regression with One Variable and Regression with Multiple Variables
Computing cost and gradient descent, feature normalization, learning rate selection
2. Logistic Regression
For this part, logistic regression was implemented and applied it to two diferent datasets. It contains the Cost Function Feature Mapping, Regularization, Optimization Functions
3. Multi-Class Classification using Neural Networks
The classic MNIST dataset of 10 hand-written digits contains 5000 training examples. A small neural network with one hidden layer was written that is already powerful enough to get a training accuracy of 97.5%.
4. Neural Networks Learning
Return to MNISt, this time with backpropagation, regularizon, and visualization of the content of hidden layers!
5. Regularized Linear Regression and Bias v.s. Variance
This project visualizes regularized linear regression and polynomial regression and uses it to study models with different bias-variance properties.
6. Support Vector Machines
An SVM is used to classifly data and applied to email spam classifcation.
7. K-Means Clustering, PCA dimension reduction
The K-means clustering algorithm is implemented to compress an 128x128 pixel bird photo. The second part uses principal component analysis (PCA) to fnd a low-dimensional representation of face images.
8. Anomaly Detection, Recommender System (Collaborative Filtering)
How do you detect failing servers on a network? An anomaly detection model uses throughput and latency to predict status of new data. In the second part, I use collaborative fltering to build a Netflix-like recommender system for movies.