Skip to content

RitikaNigam-ux/Machine-Learning-Algorithms-from-Scratch

Repository files navigation

Machine Learning Project (Implementation from Scratch)

This repository contains a collection of small projects implementing various machine learning models from scratch, along with deep learning applications using PyTorch. Each project demonstrates fundamental concepts and provides hands-on experience in model development, training, and evaluation.

1. Convolutional Neural Network (CNN) - MNIST Classification

This project implements a custom dataset loader and data processing pipeline for the MNIST dataset using PyTorch. The key components include:

Custom Dataset Class: Loads and preprocesses images and labels from numpy files.

Transformations: Applies optional transformations during loading.

Data Loaders: Splits the dataset into training, validation, and testing sets, enabling efficient batch processing and shuffling.

Training & Validation: Supports training and evaluation of a CNN model for MNIST digit classification.

2. Decision Tree Model - XGBoost Implementation from Scratch

This project implements a Decision Tree model with XGBoost principles from scratch:

Tree Construction: Builds decision trees using information gain and Gini impurity.

Boosting Mechanism: Implements gradient boosting to improve accuracy.

Custom Loss Functions: Supports different loss functions for optimization.

3. Linear and Logistic Regression from Scratch

This project implements fundamental regression models from scratch:

Linear Regression: Uses gradient descent and closed-form solutions to optimize the cost function.

Logistic Regression: Implements sigmoid activation and cross-entropy loss for binary classification.

Optimization Techniques: Includes batch gradient descent and stochastic gradient descent.

4. Multimodal Deep Learning - MNIST Dataset

A deep learning approach using multimodal inputs:

Custom Dataset Class: Handles image data loading and preprocessing.

Neural Network Architecture: Combines different feature inputs for classification.

Training & Validation: Supports training a multimodal deep learning model.

5. Support Vector Machine (SVM) from Scratch

This project implements an SVM model from scratch:

Mathematical Foundations: Uses optimization techniques to find the maximum margin hyperplane.

Kernel Trick: Supports linear and non-linear kernel functions.

Gradient Descent Optimization: Implements optimization techniques for training.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published