logo-polimi
Loading...
Risorse bibliografiche
Risorsa bibliografica obbligatoria
Risorsa bibliografica facoltativa
Scheda Riassuntiva
Anno Accademico 2018/2019
Scuola Scuola di Ingegneria Industriale e dell'Informazione
Insegnamento 052557 - DATA INTELLIGENCE APPLICATIONS
Docente Gatti Nicola
Cfu 5.00 Tipo insegnamento Monodisciplinare

Corso di Studi Codice Piano di Studio preventivamente approvato Da (compreso) A (escluso) Insegnamento
Ing Ind - Inf (Mag.)(ord. 270) - MI (481) COMPUTER SCIENCE AND ENGINEERING - INGEGNERIA INFORMATICA*AZZZZ052557 - DATA INTELLIGENCE APPLICATIONS

Obiettivi dell'insegnamento

The goal of the course is to provide advanced skills in machine learning and optimization for challenging real-world data-science applications. More precisely, the course explores mathematical models, optimization algorithms, and machine learning tools. In particular, the course focuses on 4 main real-world applications in which computational data science is crucial: pricing in e-commerce, digital advertising, social networks, matching. For every real-world application, the goals of the course are: providing a description of the real-world scenario (in collaboration with a company working in that field) and of the computational problems, providing mathematical models representing the scenario, providing optimization models, providing machine learning tools to deal with uncertainty. The treatment of the topics will be both from a theoretical point of view, describing the models/algorithms and their properties, and from a practical point of view, discussing how the algorithms can be applied and applying them in practice during some laboratory sessions.


Risultati di apprendimento attesi

We expect that the students learn:

* how to model real-world applications by means of mathematical models from microeconomics,

* how to identify the most suitable class of algorithms to solve a given problem,

* how to use the tools already available to solve a given problem in practice,

* how to design an algorithm to solve a given problem whenever no algorithm is known.


Argomenti trattati

1. Pricing in e-commerce

1.1. Introduction to pricing

1.1.1. Scenarios

1.2. Pricing a single product with infinite inventory

1.2.1. Optimization model

1.2.2. Learning the demand curve

1.2.3. Unimodal bandit

1.2.4. Facing non-stationary pricing problems

1.3. Pricing a single product with finite inventory

1.3.1. Optimization model

1.3.2. Algorithms and regret

1.4. Laboratory

1.4.1. Implementing an algorithm to learn the demand curve

1.4.2. Implementing an algorithm to learn unimodal demand curve

1.4.3. Implementing an algorithm to learn a non-stationary demand curve

2. Digital advertising

2.1. Introduction to digital advertising

2.1.1. Funnel and general tools (Analytics, DoubleClick)

2.1.2. Search advertising: players, formats, auctions, available tools (AdWords)

2.1.3. Social advertising: players, formats, auctions, available tools (Facebook)

2.1.4. Display advertising: players, formats, auctions, available tools

2.2. Pay-per-click optimization 

2.2.1. Optimization model

2.2.2. Bid-budget optimization algorithms without uncertainty

2.2.3. Learning bid-budget optimization algorithms (combinatorial bandits)

2.2.4. Target segmentation

2.3. Other issues

2.3.1. Funnel based channel interdependency

2.3.2. Publisher-side problems

2.4. Laboratory

2.4.1. Implementing a click-bid curve regression algorithm

2.4.2. Implementing a budget optimization algorithm

2.4.3. Implementing a target segmentation algorithm

3. Social influence

3.1. Introduction to social influence

3.1.1 Markets with network externalities

3.1.2. Small world

3.1.3. From local to global

3.2. Population cascade models

3.2.1. Informational effects

3.2.2. Hard-threshold models

3.2.3. Soft-threshold models

3.2.4. Epidemics

3.3. Influence maximisation algorithms

3.3.1. Maximisation in hard-threshold model

3.3.2. Maximisation in soft-threshold model

3.4. Learning the network

3.4.1. Learning the graph structure (combinatorial bandits)

3.4.2. Regret analysis

3.5. Laboratory

3.5.1. Implementing an algorithm for spreading influence on a network

4. Matching

4.1. Introduction to matching

4.1.1. Scenarios

4.2. Matching problems

4.2.1. Basic matching problems: assignment problem and Hungarian algorithm

4.2.2. Cardinality constraints

4.2.3. Hopcroft-Karp algorithm Edmonds algorithm

4.2.4. 3-dimensional matching

4.3. Stochastic optimization for matching

4.3.1. Kidney exchange

4.4. Learning and matching

4.4.1. Matching while learning

4.5. Laboratory

4.5.1. Implementing some matching algorithms


Prerequisiti

Having attended:

* a course on Machine Learning is suggested, but not strictly necessary,

* a course on Economics and Computation is suggested, but not strictly necessary.


Modalità di valutazione

The exam is structured as follows:

* written exam (2.5 hours --- max 16 points). The exam is composed of 4 exercises (one question per topic) , --- here the students are required to solve exercises similar to those studied during the course or to answer some theoretical questions about topics discussed during the course; the capabilities the students must show are: modeling real-world applications by means of mathematical models from computational data science, identifying the most suitable class of algorithms to solve a given problem, using the tools already available to solve a given problem in practice ---;

* project work (max 16 points). The project work can be carried out by groups of students, where each group is composed of at most 4 students. The project work is composed of 2 assignments. More precisely, every group can decide 2 topics out 4 and they will produce an assignment for each topic chosen. The students can exploit the lectures delivered by the teaching assistant to organize the project work. However, attending the lectures delivered by the teaching assistant is not mandatory. Here the students are required to solve problems that are beyond the topics discussed during the course; the capabilities the students must show are: generalizing the skills learned during the course to design an algorithm for a given problem that has not discussed during the course.


Bibliografia
Risorsa bibliografica facoltativaDavid Easley and Jon Kleinberg, Networks, Crowds, and Markets: Reasoning About a Highly Connected World, Editore: Cambridge University Press

Forme didattiche
Tipo Forma Didattica Ore di attività svolte in aula
(hh:mm)
Ore di studio autonome
(hh:mm)
Lezione
32:30
48:45
Esercitazione
17:30
26:15
Laboratorio Informatico
0:00
0:00
Laboratorio Sperimentale
0:00
0:00
Laboratorio Di Progetto
0:00
0:00
Totale 50:00 75:00

Informazioni in lingua inglese a supporto dell'internazionalizzazione
Insegnamento erogato in lingua Inglese
Disponibilità di materiale didattico/slides in lingua inglese
Disponibilità di libri di testo/bibliografia in lingua inglese
Possibilità di sostenere l'esame in lingua inglese
Disponibilità di supporto didattico in lingua inglese
schedaincarico v. 1.6.1 / 1.6.1
Area Servizi ICT
22/02/2020