This repository contains implementations of various machine learning approaches to classify the MNIST dataset. Each approach is inspired by different machine learning algorithms and techniques, ranging from basic classifiers to advanced neural networks. These implementations are developed as part of coursework assignments, aiming to understand and improve upon the performance of each approach in classifying handwritten digits.
- Linear Regression:
- Implementation of simple linear regression algorithm (OLS).
- Softmax Regression:
- Implementation of softmax regression algorithm using stochastic gradient descent to classify MNIST digits.
- Neural Network:
- Basic feedforward neural network with customizable architecture for experimenting with different hidden layer sizes, activation functions, and optimization techniques.
- Python 3.x
- NumPy
- Scikit-learn
I would like to express my sincere gratitude to my instructors for their guidance, support, and invaluable feedback throughout the development of this project. Their expertise and encouragement have been instrumental in shaping my understanding of machine learning concepts and refining the implementations of various approaches. Their dedication to teaching and mentorship has greatly contributed to my learning experience and growth as a machine learning practitioner. I am deeply thankful for their commitment and inspiration.
Special thanks to Mr.Bui Tien Len for his insightful lectures, Mr.Tran Trung Kien and Mr.Bui Duy Dang for their thorough explanations of various machine learning approaches and detailed guidance. Their passion for teaching and commitment to excellence have made this small project possible.