Skip to content

The nuts and bolts of machine learning and insights into its operations.

Notifications You must be signed in to change notification settings

esakik/machine-learning-nutsnbolts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 

Repository files navigation

machine-learning-nutsnbolts

The nuts and bolts of machine learning and insights into its operations. Generated by DALL·E 3.

DALL·E 2024-02-08 18 09 28 - Create a wide-format, detailed illustration that visualizes The nuts and bolts of machine learning without including any characters or letters  This

This repository aims to organize implementations of machine learning algorithms and demonstrate practical ways to apply or use machine learning models. I initiated this project to refresh and reinforce my fading knowledge of previously learned concepts, deepen my understanding of various algorithms, and examine examples of their practical applications.

Algorithms

Here is an overview of machine learning algorithms that are either currently implemented or planned for future implementation. Additionally, this table presents supplementary materials I have prepared to revisit and strengthen my understanding of what I learned.

Notes: The "Colab" links will take you to the Google Colab notebook, where you can view the implementation and run the code. The "DEV" column contains links to articles I have written.

Category Algorithms Colab DEV
Optimization Exploring Gradient Descent Variants: Batch, Mini-Batch, Stochastic, and Fundamentals of Implementation Gradient descent Dev.to blog
Optimization Comparing Optimizers: Gradient Descent, Momentum, AdaGrad, and Adam Implemented from Scratch Optimization algorithms
Preprocessing Implementing Feature Scaling Methods: Standardization (Z-score normalization) and Normalization (Min-Max scaling) Feature scaling (Standardization / Normalization) Dev.to blog
Supervised Implementing Linear Regression from Scratch: Gradient Descent, Mean Squared Error (MSE) Loss, and L1/L2 Regularization Explained Linear regression / Regularization Dev.to blog
Supervised Implementing Logistic Regression for Classification from Scratch: Cross-entropy loss, One-hot encoding, and Activation function (Sigmoid/Softmax) Explained Logistic regression for classification / Activation function (Sigmoid / Softmax) / One-hot encoding Dev.to blog
Supervised Implementing Neural Network for Classification with ReLU and Backpropagation from Scratch to PyTorch Neural Network for classification
Supervised Implementing K-Nearest Neighbor (k-NN) for Classification from Scratch k-NN for classification Dev.to blog
Unsupervised Implementing K-means for Clustering from Scratch k-means for clustering
Unsupervised Implementing Principal Component Analysis (PCA) for Dimensionality Reduction from Scratch PCA for dimensionality reduction
Reinforcement Implementing Multi-Armed Bandit (MAB) from Scratch Multi-Armed Bandit (MAB) and Reinforcement learning

The above implementations are based on the following resources:

Examples

Below are practical examples demonstrating the application of machine learning algorithms to address real-world challenges, as well as insights into the operation of machine learning models.

Example Implementations Supplementary Links
NVIDIA Triton Inference Server

Prerequisites

To experiment with the examples, you will need to follow these installation and setup procedures:

Library Setup Instructions
Pyenv https://github.com/pyenv/pyenv
Poetry https://python-poetry.org/docs

Configuration of the Python version

Ensure that this version aligns with the version used in Poetry, then choose the appropriate version:

$ pyenv install 3.9
$ pyenv local 3.9

Install the required dependencies

The minor version depends on the version of the Python you have installed:

$ poetry env use ~/.pyenv/versions/3.9.17/bin/python3.9
$ poetry install

About

The nuts and bolts of machine learning and insights into its operations.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published