Implementations of popular machine learning architectures from scratch in c!
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.
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!
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:
- linear_regression
- logistic_regression
- mlp
- gan
I'm working on building more advanced architectures from sctrach. So stay tuned! 👀