Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Machine Learning Course - University of Genoa

This repository contains the assignments, lab notebooks, exams, and the final Reinforcement Learning project for the Machine Learning course at the University of Genoa (Università degli Studi di Genova). The project includes implementations of various machine learning algorithms using standard libraries such as numpy, scipy, matplotlib, and tensorflow/keras.

📂 Repository Structure

The project has been organized into logical directories to separate the different types of assignments:

ml/
├── notebooks/
│   ├── labs/                              # Weekly laboratory exercises
│   │   ├── machine_learning/              # Machine Learning Algorithms
│   │   │   ├── Lab0_DataGeneration.ipynb  # Intro to generating & handling synthetic datasets
│   │   │   ├── Lab1_KNN.ipynb             # K-Nearest Neighbors (KNN)
│   │   │   ├── Lab2_RLS.ipynb             # Regularized Least Squares (RLS)
│   │   │   ├── Lab3_LogisticRegression.ipynb # Logistic Regression classification
│   │   │   ├── Lab4_KRLS.ipynb            # Kernel Regularized Least Squares (KRLS)
│   │   │   ├── Lab5_NN.ipynb              # Introduction to Neural Networks
│   │   │   ├── Lab6_OMP.ipynb             # Orthogonal Matching Pursuit (OMP)
│   │   │   └── Lab7_KMeans.ipynb          # Unsupervised learning with K-Means
│   │   ├── deep_learning/                 # Deep Learning Assignments
│   │   │   ├── Lab1_MLP_and_DNN.ipynb       # Multilayer Perceptron & DNNs
│   │   │   ├── Lab2_CNN_Hands_On.ipynb      # Convolutional Neural Networks
│   │   │   ├── Lab3_RNN_and_Transformers.ipynb # Recurrent NNs & Transformers
│   │   │   └── Lab4_GANs_for_Images.ipynb   # Generative Adversarial Networks
│   │   └── reinforcement_learning/        # Reinforcement Learning Assignments
│   │       ├── Lab1_TicTacToe.ipynb       # Tic-Tac-Toe
│   │       ├── Lab2_MonteCarlo.ipynb      # Monte Carlo methods
│   │       ├── Lab3_MonteCarlo_Pseudocode.ipynb # Monte Carlo pseudocode/theory
│   │       └── Lab4_MultiArmBandit.ipynb  # Multi-Armed Bandit problems
│   ├── exams/                             # Mid-term examinations and practical tasks
│   │   ├── MidTerm1.ipynb
│   │   ├── MidTerm2.ipynb
│   │   └── datasets/                      # Synthetic evaluation datasets
│   └── final_project/                     # Final Reinforcement Learning project
│       ├── recycling_robot.ipynb          # RL Simulation & Agent Training
│       └── recycling_robot_presentation.pptx # Project Presentation
├── requirements.txt                       # Project dependencies
└── README.md

🚀 Getting Started

Prerequisites

To run these notebooks locally, ensure you have Python installed. It is highly recommended to use a virtual environment.

Installation

  1. Clone the repository:

    git clone https://github.com/sinahatami/ml.git
    cd ml
  2. Install the required dependencies:

    pip install -r requirements.txt
  3. Launch Jupyter Notebook or Jupyter Lab:

    jupyter notebook

🛠️ Built With

  • Python - The programming language used.
  • Jupyter Notebook - Web-based interactive computing platform.
  • NumPy - The fundamental package for scientific computing with Python.
  • SciPy - Fundamental library for scientific computing.
  • Matplotlib - Comprehensive library for creating static, animated, and interactive visualizations.
  • TensorFlow / Keras - Open source machine learning framework.

📝 License

This project is for educational purposes as part of the Machine Learning course at the University of Genoa.

About

It's concise but covers all the major buzzwords (Neural Networks, CNNs, Transformers, GANs, and Reinforcement Learning) that recruiters and developers search for.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages