Giter Site home page Giter Site logo

softmaxcpp's Introduction

The modules here relate to the softmax classifier model in my mini-project report "Linear classification models applied to the classification of hand-written digits", submitted towards the degree of MPhil in Scientific Computing and Machine Learning, University of Cambridge.

The MNIST data files should be downloaded from http://cis.jhu.edu/~sachin/digit/digit.html and organised by digit into a folder MNISTdata, with MNISTdata/data0 corresponding to digit 0 etc. all the way up to digit 9.

The project uses the c++ armadillo linear algebra library. The included Makefile has the required linker flags to this library for running the code on the LSC computers. 

Before compiling:

Set the tunable parameters in main.C to generate results for a specific test case. These parameters have been labelled with self-explanatory names.

To compile the program:

make Softmax 

To run it:

./Softmax

Numerical gradient checking can be performed by toggling on/off the DEBUG_GRADIENTS macro in Softmax.C. 

The file plotSoftmax.py can be used to generate all the plots. Note that output data files for the plotting of learning curves and validation curves will only be produced if the TUNING macro in main.C is set to true.

softmaxcpp's People

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.