CS231n Machine Learning Classifiers in C++

Date: November 22, 2016

This project contains my c++ implementation of the SVM and Softmax loss functions in addition to the simple two-layer Neural Network. They were developed for visualization and understanding while doing CS231n from Stanford University in 2016.

Source: Logrus/ml_cs231n_cpp

This project contains:

  1. Implementation of the SVM and Softmax loss video
  2. Implementation of the 2 layer neural network video
  3. Multiple normalization possibilities (mean subtraction, normalization, standardization)
  4. Adam weight update
  5. Fisher–Yates shuffle algorithm for batching
  6. Simple ensemble executable that loads saved weights from the network training and averages at test time

SVM and Softmax loss

svmandsoftmaxloss

Two layer Neural Network

twolayernetwork