Skip to content

Latest commit

Β 

History

History
85 lines (66 loc) Β· 4.71 KB

File metadata and controls

85 lines (66 loc) Β· 4.71 KB

Deep Learning & Machine Learning Algorithms

Status Python PyTorch GitHub Pages

Welcome to my repository for Deep Learning and Machine Learning algorithms! πŸš€

This repository serves as a personal playground and portfolio where I upload code to practice, experiment with, and master various algorithms and frameworks. It is currently under active development, and new models and implementations will be added regularly.

πŸ“‚ Repository Contents

Here is an overview of what has been implemented so far:

🧠 Generative Adversarial Networks (GANs)

  • Conditional GANs (CGANs): Implementation of Conditional Generative Adversarial Networks used for generating data (e.g., MNIST images) conditioned on class labels.
    • Location: GANs/CGANs.ipynb

πŸ“ˆ Classification & Regression

Try it here: https://slab10000.github.io/deep-learning-algorithms/classification-and-regression

Applied machine learning projects covering both classification and regression tasks.

  • Classification - Petfinder Dataset:

    • A project focusing on classifying pet adoption profiles.
    • Includes a Multi-Layer Perceptron (MLP) model saved in ONNX format (mlp_net_model.onnx).
    • Location: classification-and-regression/classification/
  • Regression - Songs Dataset:

    • A regression analysis project, likely predicting song popularity or features.
    • Utilizes XGBoost (Extreme Gradient Boosting) and includes the serialized model (xgboost_songs_model.onnx).
    • Location: classification-and-regression/regression/

🎬 Neural Input Optimization (NIO) - Movie Optimization

  • Project Blockbuster: NIO Optimisation for Movies:
    • A project that uses Neural Input Optimization (NIO) to reverse-engineer the optimal movie blueprint for maximizing both commercial success (Gross Revenue) and critical acclaim (IMDB Score).
    • Dataset: IMDB 5000 Movie Dataset from Kaggle (~5000 movies, 28 features)
    • Model Architecture: Residual Neural Network (ResNet) implemented in PyTorch with residual connections and dropout regularization
    • Optimization Goal: Find optimal movie characteristics (Budget, Cast, Genre) that maximize Return on Investment (ROI = Gross/Budget) while maintaining:
      • IMDB Score between 9.0 and 10.0
      • Budget between $20M and $200M
    • Key Results: The NIO algorithm identified that a mid-range budget (~$110M) with high star power and specific genre combinations yields optimal ROI (9.09x) while maintaining critical acclaim
    • Location: NIO/

πŸ–ΌοΈ Convolutional Neural Networks (CNNs) - Shape Classification

  • Geometric Shape Classifier:
    • A CNN-based image classification project that identifies geometric shapes by counting their number of sides (Triangles: 3, Squares: 4, Pentagons: 5, Hexagons: 6).
    • Dataset: 10,000 images of geometric shapes (128Γ—128 pixels, resized to 64Γ—64 for training) with corresponding labels in CSV format
    • Model Architecture: "ShapeClassifier" CNN with:
      • 3 convolutional layers (16 β†’ 32 β†’ 64 channels) with ReLU activation and MaxPooling
      • Fully connected layers (128 hidden units) with dropout (0.5) for regularization
      • 4-class output layer for shape classification
    • Training: 20 epochs with batch size 64, CrossEntropyLoss, Adam optimizer, GPU-accelerated
    • Performance: Achieved excellent results with:
      • Precision: 0.971
      • Recall: 0.971
      • F1 Score: 0.971
    • Custom Dataset: Implemented ShapesDataset class for loading images and mapping side counts to class indices
    • Location: CNN/

πŸ”’ Tensor Operations

Foundational notebooks for understanding data manipulation and tensor math.

  • NumPy & PyTorch: Introductory notebooks covering the basics of NumPy arrays and PyTorch tensor operations, essential for any Deep Learning workflow.
    • Location: tensor-operations/

πŸ› οΈ Tech Stack & Tools with

  • Languages: Python
  • Deep Learning Frameworks: PyTorch
  • Machine Learning Libraries: XGBoost, Scikit-Learn (implied)
  • Data Manipulation: NumPy, Pandas
  • Model Exchange: ONNX (Open Neural Network Exchange)
  • Environment: Jupyter Notebooks

🚧 Status

This project is in a Work-In-Progress state. I am constantly learning and adding new implementations, including but not limited to:

  • Computer Vision models (ViTs, more advanced CNNs)
  • NLP architectures (Transformers, RNNs)
  • Reinforcement Learning algorithms
  • More advanced GAN architectures

Feel free to explore the code!