Skip to content

machine learning from absolute scratch in c. gradients, linear algebra ops & everything else without using any third party library!

License

Notifications You must be signed in to change notification settings

KhawajaAbaid/machine-learning-in-c

Repository files navigation

Machine Learning in C

Implementations of popular machine learning architectures from scratch in c!

Purpose/Motivation

I'm learning backpropagation and underlying concepts of deep learning myself using Michael Nielsen's absolutely incredible book Neural Networks and Deep Learning and I want to share my journey with fellow curious learners who are intrigued by the fundamentals of deep learning and want to do it from sctrach!

Therefore, I strongly recommend you to first read the first 2 chapters of this book if you currently know nothing about backpropgation and then try using this code as your starting point. I also recommend starting with linear_regression.c as its the simplest.

Also if you (like me) need visual learning assistance, please checkout 3blue1brown's Neural Networks YouTube Series. It works as a great supplemantry to the above mentioned book.

Disclaimer:

I'm no c expert, not even mediocre, so please don't expect any high quaity code. I'm also a student of machine learning so you may find flaws in my logic. Please feel free to contribute, point out any mistakes, and propose imporvement and recommendations. I'd love them!

Usage:

Currently, I've included a very basic make file, so using it you can compile a given architecture as follows:

make mlp

The currently available architecture names are as follow:

  1. linear_regression
  2. logistic_regression
  3. mlp
  4. gan

I'm working on building more advanced architectures from sctrach. So stay tuned! 👀

About

machine learning from absolute scratch in c. gradients, linear algebra ops & everything else without using any third party library!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published