template slide ai · naisbitt, scrittore di megatrends) dobbiamo prestare particolare attenzione a...

24
Prof. Francesco Trovò Corso di Intelligenza Artificiale, a.a. 2019-2020 Machine Learning 27/04/2020

Upload: others

Post on 13-Oct-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Template Slide AI · Naisbitt, scrittore di Megatrends) Dobbiamo prestare particolare attenzione a ciò che progettiamo e ai limiti intrinseci che tali tecniche hanno Un buon modo

Prof. Francesco Trovò

Corso di Intelligenza Artificiale, a.a. 2019-2020

Machine Learning

27/04/2020

Page 2: Template Slide AI · Naisbitt, scrittore di Megatrends) Dobbiamo prestare particolare attenzione a ciò che progettiamo e ai limiti intrinseci che tali tecniche hanno Un buon modo

Machine Learning

Definizione di Machine Learning

Tipologie di problemi risolti tramite tecniche di ML

Esempi di problemi di ML

Page 3: Template Slide AI · Naisbitt, scrittore di Megatrends) Dobbiamo prestare particolare attenzione a ciò che progettiamo e ai limiti intrinseci che tali tecniche hanno Un buon modo

Ambienti Analizzati

• Completamente osservabile / parzialmente osservabile

• Agente singolo / multiagente

• Deterministico / stocastico

• Episodico / sequenziale

• Statico / dinamico / semidinamico

• Discreto / continuo

• Noto / ignoto

Page 4: Template Slide AI · Naisbitt, scrittore di Megatrends) Dobbiamo prestare particolare attenzione a ciò che progettiamo e ai limiti intrinseci che tali tecniche hanno Un buon modo

Definizione di ML

Dal Mitchell (1997):

“A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P if its performance at tasks in T, as measured by P, improves with experience E”.

Necessitiamo quindi di avere accesso ad un set di dati per poter operare

Paradigma differente dal passato: estraggo informazioni dai dati (processoinduttivo), e non elaboro strategie conosciuti i parametri del problema

Non posso creare informazione, posso solo estrarla da un insieme di dati, detto training set

Page 5: Template Slide AI · Naisbitt, scrittore di Megatrends) Dobbiamo prestare particolare attenzione a ciò che progettiamo e ai limiti intrinseci che tali tecniche hanno Un buon modo

Confronto con Altri Campi

Programmazione: costruzione di programmi che, dati i dati, generano un output

Intelligenza Artificiale: campo più ampio che comprende tecniche per gestirecasi in cui le regole sono codificate e i parametri sono deterministici (a volte vengono identificate in quanto negli ultimi anni ML è cresciuto molto in percentuale nel campo dell’IA)

Computational intelligence (soft computing): tecniche ispirate dalla biologiaper svolgere task complessi. Esse utilizzano approcci simili a quelli usati dagliesseri viventi per estrarre informazioni dai dati

Data mining: applicazione di tecniche di apprendimento a ingenti quantità di dati, che comprende anche la gestione intelligente di tali dati

Page 6: Template Slide AI · Naisbitt, scrittore di Megatrends) Dobbiamo prestare particolare attenzione a ciò che progettiamo e ai limiti intrinseci che tali tecniche hanno Un buon modo

Utilità delle Tecniche di ML

• Vorremmo predire cosa accadrà ad un fenomeno nel futuro

• Normalmente non è facile modellizzare un fenomeno anche se si ha conoscenza del campo applicativo

• Poichè scrivere programmi efficaci è faticoso, utilizziamo delle tecniche checi permettono di scrivere automaticamente i programmi

• Le tecniche di ML estraggono tali modelli dai dati disponibili e li utilizzanoper fare predizioni su nuovi dati

Programmazione ML

Page 7: Template Slide AI · Naisbitt, scrittore di Megatrends) Dobbiamo prestare particolare attenzione a ciò che progettiamo e ai limiti intrinseci che tali tecniche hanno Un buon modo

Campi di Utilizzo di ML

Generalmente se ho dei dati o posso generare dei dati e non sono in grado di estrarre informazioni manualmente, posso usare ML

Particolarmente utile per:

• Robotica e visione

• Interpretazione del linguaggio (NLP)

• Biologia e medicina

• Finanza

• Video Gaming

• Recommendation systems

• Marketing

Page 8: Template Slide AI · Naisbitt, scrittore di Megatrends) Dobbiamo prestare particolare attenzione a ciò che progettiamo e ai limiti intrinseci che tali tecniche hanno Un buon modo

Hanno Detto di ML...

• “A breakthrough in machine learning would be worth ten Microsofts”

(Bill Gates, Chairman, Microsoft)

• “Machine learning is the next Internet” (Tony Tether, Director, DARPA)

• “Machine learning is the hot new things” (John Hennessy, President,

Stanford)

• “Web rankings today are mostly a matter of machine learning”

(Prabhakar Raghavan, Dir. Research Yahoo)

• “Machine learning is going to result in a real revolution” (Greg

Papadopolus, Former CTO, Sun)

• “Machine learning is today’s discontinuity (Jerry Yang, Founder, Yahoo)

• ”Machine learning today is one of the hottest aspects of computer

science“ (Steve Ballmer, CEO, Microsoft)

Page 9: Template Slide AI · Naisbitt, scrittore di Megatrends) Dobbiamo prestare particolare attenzione a ciò che progettiamo e ai limiti intrinseci che tali tecniche hanno Un buon modo

Ma Anche...

• “All models are wrong, but some models are useful” (George Box, statistico)

• “We are drowning in information and starving for knowledge” (John Naisbitt, scrittore di Megatrends)

Dobbiamo prestare particolare attenzione a ciò che progettiamo e ai limiti intrinseci che tali tecniche hanno

Un buon modo per poter progettare dei sistemi che utilizzino ML è quello di conoscere un set abbastanza variegato di tecniche e avere coscienza di quali sono le loro potenzialità

Page 10: Template Slide AI · Naisbitt, scrittore di Megatrends) Dobbiamo prestare particolare attenzione a ciò che progettiamo e ai limiti intrinseci che tali tecniche hanno Un buon modo

Risorse di ML

Libri di testo

• Alpaydin, E. Introduction to machine learning

• Bishop, C. M. Pattern recognition and machine learning

• James, G., Witten, D., Hastie, T., Tibshirani, R. An Introduction to Statistical Learning with Applications in R

• Sutton, R.S., Barto, A. G. Reinforcement learning: An introduction

MOOC

• Statistical Learning, Stanford Online (In R)

• Machine Learning, Coursera (In Matlab)

Page 11: Template Slide AI · Naisbitt, scrittore di Megatrends) Dobbiamo prestare particolare attenzione a ciò che progettiamo e ai limiti intrinseci che tali tecniche hanno Un buon modo

Dove Trovare Fonti di ML

Riviste scientifiche

• Journal of Machine Learning Research (JMLR)

• Machine Learning Journal (MLJ)

• Journal of Artificial Intelligence Research (JAIR)

Conferenze internazionali

• International Conference on Machine Learning (ICML)

• Neural Information and Processing Systems (NIPS)

• American Association on Artificial Intelligence (AAAI)

• International Joint Conference on Artificial Intelligence (IJCAI)

• Uncertainty in Artificial Intelligence (UAI)

• Artificial Intelligence and Statistics (AI&Stats)

• Conference on Learning Theory (CoLT)

Page 12: Template Slide AI · Naisbitt, scrittore di Megatrends) Dobbiamo prestare particolare attenzione a ciò che progettiamo e ai limiti intrinseci che tali tecniche hanno Un buon modo

Categorie di Problemi di ML

Tecniche classiche:

• Supervised learning: apprendere il modello che trasforma un dato in ingresso in un’uscita

• Unsupervised learning: estrarre la struttura dal dataset, scoprire pattern interessanti tra i differenti elementi presenti nel dataset

• Reinforcement learning: apprendere una politica (azioni da eseguire in una data situazione)

Altre tecniche:

• Semi-supervised learning: solo alcuni dei dati forniti hanno la corrispondenza ingresso/uscita, altri sono rappresentati solo dall’entrata

• Active learning: apprendere scegliendo quali dati raccogliere per migliorarele informazioni in mio possesso

Page 13: Template Slide AI · Naisbitt, scrittore di Megatrends) Dobbiamo prestare particolare attenzione a ciò che progettiamo e ai limiti intrinseci che tali tecniche hanno Un buon modo

Esempi di Problemi Risolti da ML

Page 14: Template Slide AI · Naisbitt, scrittore di Megatrends) Dobbiamo prestare particolare attenzione a ciò che progettiamo e ai limiti intrinseci che tali tecniche hanno Un buon modo

Scenari Applicativi

Ha senso utilizzare tecniche di Machine Learning se:

• ho un database che include informazioni sensibili sul problema o posso raccogliere dati

• non esistono degli esperti di dominio che possano risolvere il problema

• gli umani possono svolgere il compito ma non sono in grado di formalizzarela conoscenza richiesta per risolvere il problema

• la funzione da approssimare cambia frequentemente

• ognuno di un grande numero di utenti richiede l’apprendimento di una differente funzione

Page 15: Template Slide AI · Naisbitt, scrittore di Megatrends) Dobbiamo prestare particolare attenzione a ciò che progettiamo e ai limiti intrinseci che tali tecniche hanno Un buon modo

Supervised Learning

È il sottocampo del ML più vasto e più analizzato

Dati: un training set composto di coppie 𝐷 = {(𝑥, 𝑡)} estratti da una qualche funzione ignota 𝑓 𝑥 = 𝑡

Trovare: un’approssimazione della funzione 𝑓(⋅) che sia in grado di generalizzare su input non visti nel training set 𝐷

• I vettori 𝑥 sono anche detti input, predittori, attributi, covariate

• I valori 𝑡 sono anchedetti target, risposte, etichette (labels)

• se il target è ordinale → problema di regressione

• se il target è categorico → problema di classificazione

• se il target è una distribuzione → probability estimation

Page 16: Template Slide AI · Naisbitt, scrittore di Megatrends) Dobbiamo prestare particolare attenzione a ciò che progettiamo e ai limiti intrinseci che tali tecniche hanno Un buon modo

Esempi di Supervised Learning

Classificazione di fiori

Date delle informazioni sulle dimensioni di un fiore (larghezza del petalo, lunghezza del sepalo), dire a quale delle tre classi di fiori esso appartiene

VersicolorSetosa Virginica

Page 17: Template Slide AI · Naisbitt, scrittore di Megatrends) Dobbiamo prestare particolare attenzione a ciò che progettiamo e ai limiti intrinseci che tali tecniche hanno Un buon modo

Esempi di Supervised Learning

Predizione delle vendite

Predire il volume di vendite dato l’investimento in USD in un canale pubblicitario

Page 18: Template Slide AI · Naisbitt, scrittore di Megatrends) Dobbiamo prestare particolare attenzione a ciò che progettiamo e ai limiti intrinseci che tali tecniche hanno Un buon modo

Unsupervised Learning

Voglio modellizzare la distribuzione degli input

Dati: un training set composto da soli input 𝐷 = {𝑥} (vettori), solitamente in numero molto elevato

Trovare: un modo efficace per descrivere i dati in maniera concisa (ridurre le dimensioni)

• Clustering: ridurre il numero dei dati significativi

• Dimensionality reduction: ridurre il numero di dimensioni dei vettori di input

• Data visualization: proporre una visualizzazione dei dati significativa per il setting analizzato

Page 19: Template Slide AI · Naisbitt, scrittore di Megatrends) Dobbiamo prestare particolare attenzione a ciò che progettiamo e ai limiti intrinseci che tali tecniche hanno Un buon modo

Esempi di Unsupervised Learning

Riduzione dimensionale di immagini di facce

Trovare una base di immagini che spieghi le facce di un insieme di persone

Facce originali Base di facce

Page 20: Template Slide AI · Naisbitt, scrittore di Megatrends) Dobbiamo prestare particolare attenzione a ciò che progettiamo e ai limiti intrinseci che tali tecniche hanno Un buon modo

Raggruppamento delle pagine di Wikipedia

Esempi di Unsupervised Learning

Scopi:• Trovare dei gruppi di elementi

che siano omogenei tra loro e differenti da tutto il resto

• Visualizzare in maniera significativa i dati

Page 21: Template Slide AI · Naisbitt, scrittore di Megatrends) Dobbiamo prestare particolare attenzione a ciò che progettiamo e ai limiti intrinseci che tali tecniche hanno Un buon modo

Reinforcement Learning

Voglio apprendere una politica ottima da attuare in una determinata situazione (molto legato all’IA e alla robotica)

Dati: un training set di episodi 𝐷 = { (𝑥, 𝑎, 𝑥′, 𝑟)}

Trovare: una politica ottima che massimizzi il reward atteso collezionato nel futuro 𝜋∗ = argmax

𝑎𝑄∗(𝑥, 𝑎)

• Markov Decision Process (MDP)

• Partially Observable MDP

• Stochastic Games

Page 22: Template Slide AI · Naisbitt, scrittore di Megatrends) Dobbiamo prestare particolare attenzione a ciò che progettiamo e ai limiti intrinseci che tali tecniche hanno Un buon modo

Esempi di Reinforcement Learning

Pole Balancing problem

Determinare che spinta dare al carrello perchè l’asta rimanga in equilibrio

Page 23: Template Slide AI · Naisbitt, scrittore di Megatrends) Dobbiamo prestare particolare attenzione a ciò che progettiamo e ai limiti intrinseci che tali tecniche hanno Un buon modo

Esempi di Reinforcement Learning

Cliff walking

Apprendere come andare dalla partenza (S) all’arrivo (G) senza cadere dalla scogliera

Page 24: Template Slide AI · Naisbitt, scrittore di Megatrends) Dobbiamo prestare particolare attenzione a ciò che progettiamo e ai limiti intrinseci che tali tecniche hanno Un buon modo

Tecniche di ML

No free lunch theorem (versione semplice): non esiste un algoritmo di ML che sia in grado di avere una buona performance su ogni possibile problema

Esistono quindi molte tecniche che sono state sviluppate per risolvere dei problemi specifici, nei quali possono dare dei risultati migliori di una random guess

Es: solo per supervised learning esistono decine di migliaia di metodi e ogni anno ne vengono progettati centinaia di metodi nuovi

Conclusione: sta a colui che risolve il problema la scelta del metodo opportuno da utilizzare