template slide ai · naisbitt, scrittore di megatrends) dobbiamo prestare particolare attenzione a...
Post on 13-Oct-2020
6 Views
Preview:
TRANSCRIPT
Prof. Francesco Trovò
Corso di Intelligenza Artificiale, a.a. 2019-2020
Machine Learning
27/04/2020
Machine Learning
Definizione di Machine Learning
Tipologie di problemi risolti tramite tecniche di ML
Esempi di problemi di ML
Ambienti Analizzati
• Completamente osservabile / parzialmente osservabile
• Agente singolo / multiagente
• Deterministico / stocastico
• Episodico / sequenziale
• Statico / dinamico / semidinamico
• Discreto / continuo
• Noto / ignoto
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
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
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
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
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)
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à
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)
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)
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
Esempi di Problemi Risolti da ML
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
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
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
Esempi di Supervised Learning
Predizione delle vendite
Predire il volume di vendite dato l’investimento in USD in un canale pubblicitario
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
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
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
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
Esempi di Reinforcement Learning
Pole Balancing problem
Determinare che spinta dare al carrello perchè l’asta rimanga in equilibrio
Esempi di Reinforcement Learning
Cliff walking
Apprendere come andare dalla partenza (S) all’arrivo (G) senza cadere dalla scogliera
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
top related