Skip to content

This is the project repository for the Online Learning Applications course at Politecnico di Milano.

License

Notifications You must be signed in to change notification settings

AlbertoEusebio/OLA-project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ“ Online Learning Applications (OLA) Project

Welcome to the final project repository for the Online Learning Applications course at Politecnico di Milano. This work explores online learning strategies for pricing and bidding problems in both stochastic and adversarial settings.

πŸ‘₯ Authors

  • Alberto Eusebio – 10970712
  • Gianluigi Palmisano – 10782779
  • Martina Riva – 10756775

πŸ“ Repository Structure

  • ola-project.ipynb: Jupyter Notebook implementing the project with code, simulations, and analysis.
  • Presentation OLA.pptx: Final presentation summarizing the project and results.
  • project_requirements.pdf: Official description of the project task and deliverables.
  • LICENSE: Apache 2.0 License.

🧠 Project Overview

The project focuses on solving dynamic pricing and bidding problems under two scenarios:

πŸ”Ή Stochastic Setting

  • Algorithm: Gaussian Process Upper Confidence Bound (GPUCB)
  • Goal: Learn the optimal pricing strategy from stochastic user responses.
  • Approach: Model the reward function with a Gaussian Process and balance exploration vs. exploitation.

πŸ”Έ Adversarial Setting

  • Goal: Handle pricing and bidding in environments with potentially adversarial dynamics.
  • Approach: Apply online learning techniques designed to perform well without assumptions on reward distribution.

πŸ“Š Key Results

  • Sampled prices increasingly concentrate around the optimal price.
  • Price uncertainty is minimized near the optimal region.
  • GPUCB performs well under uncertainty and converges effectively.

βš™οΈ Setup & Requirements

To run the notebook:

  1. Make sure you have Python 3.x installed.
  2. Install dependencies:
    pip install numpy matplotlib scipy jupyter
  1. Launch Jupyter and open ola-project.ipynb:
  jupyter notebook

πŸ“œ License

This project is open-source and distributed under the Apache License 2.0.
You are free to use, modify, and distribute this software, provided that proper credit is given and the license terms are respected.

For more details, see the full LICENSE file in this repository.

About

This is the project repository for the Online Learning Applications course at Politecnico di Milano.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •