Code Monkey home page Code Monkey logo

machine-learning's Introduction

Description

A very simple machine learning project using backpropagation built from the ground up.

The neural network is trained on the MNIST database and can recognize handwritten digits fairly well after about two minutes of training. Trained neural networks can be saved to a JSON file inside the saves/ directory with Network::save() and loaded in with Network::load().

Inside the data/ folder lie the training data of the MNIST database with their headers removed for simplicity. The parser::create_img() function can convert the training data into an PNG of size 28x28. The first 100 images are already inside the images/ folder.

The Matrix struct is written as the amount of columns and a one-dimensional vector of the data with column-major order.

Thoughts

This is not meant to be practical code for a neural network, but more of a learning project on the basic concepts of machine learning and my implementation of them into Rust

Thank You

3Blue1Brown for his informative and straightforward Video Series on the basics of neural networks and backpropagation.

MathleteDev's Matrices and Neural Networks Tutorial which has been a great guide throughout the project.

machine-learning's People

Contributors

eliavaux avatar

Stargazers

 avatar

Watchers

 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.