Sei sulla pagina 1di 17

TITOLO

data

Machine deep
learning
titolo
Docente: Matteo Poggi
Machine Deep
Learning
Nel mondo dell’informatica, il machine learning
rappresenta uno dei temi più caldi del momento

Un algoritmo di machine learning, letteralmente,


apprende come risolvere un determinato
problema direttamente dai dati. In modo simile ad
un essere umano, è in grado di migliorare grazie
all’esperienza

Source: velocityglobal.com
Machine Deep
Learning
Al momento della progettazione di algoritmi
basati su apprendimento, lo sviluppatore si
concentra principalmente sul processo di
apprendimento piuttosto che sul trovare una
soluzione analitica al problema in analisi

Si sta definendo sempre più nel tempo la figura


dell’esperto di machine learning, ossia uno
sviluppatore specializzato nello sviluppo di
soluzioni basate su machine learning

Source: blog.keliweb.it
Machine Deep
Learning
I colossi del web investono capitali sullo sviluppo di algoritmi basati su
machine learning (Google, Facebook, Amazon e molte altre), favoriti dalla
loro enorme disponibilità di dati

Spesso, questi dati sono forniti (consapevolmente o non


consapevolmente) dagli utenti stessi
Machine Deep
Learning
Alcune applicazioni che sfruttano il machine learning:

• Classificazione di documenti/immagini

• Riconoscimento del parlato Output


“Sto arrivando!”

Output

• Captioning “Due barche ormeggiate


presso un ponticciolo, sulle
rive di un lago di montagna”
Machine Deep
Learning
In generale, il ciclo di vita di un algoritmo basato su machine learning è
caratterizzato da due fasi principali:

• Addestramento (training)
L’algoritmo impara come risolvere
il problema

• Utilizzo (testing)
L’algoritmo, forte della conoscenza Source: www.wikipedia.com
acquisita, risolve il problema su dati reali
Machine Deep
Learning
Durante l’addestramento, il sistema stesso impara
come affrontare il problema

Nello specifico, questo è possible grazie al


processamento di una grande quantità di dati,
definita set di addestramento (training set)

In questa fase, l’algoritmo impara a modellare una


soluzione al problema considerato, in modo tale da
poterlo risolvere su qualsiasi tipo di dato.
Source: futurithmic.com
Machine Deep
Learning
Una volta terminato l’addestramento, l’algoritmo
verrà utilizzato nel “mondo reale” per risolvere il
problema per il quale è stato addestrato

In particolare, dovrà essere in grado di funzionare


correttamente processando qualsiasi dato
possibile, anche dati non osservati durante
l’addestramento, purchè rilevante per il
problema in analisi

Source: latina.unicusano.it
Machine Deep
Learning
Il successo del machine learning è strettamente connesso alla
disponibilità di dati

Un dataset di addestramento solito è necessario per consentire


all’algoritmo di machine learning di poter generalizzare propriamente
sull’intero dominio dei dati inerenti al problema

Per problem diversi, solitamente l’algoritmo avrà a che fare con tipi di dati
diversi

• Immagini
• Testo
• Parlato
Machine Deep
Learning
La fase di addestramento è un processo iterativo. L’algoritmo processa più
e più volte i dati fornitigli in input e confronta la sua predizione con la
predizione attesa per tale dato, solitamente denominata ground truth

• Apprendimento supervisionato (supervised learning)


per cui si forniscono all’algoritmo i dati di input e il loro
valore atteso (ground truth)

• Apprendimento non-supervisionato (unsupervised


learning)
per cui si forniscono all’algoritmo solo i dati di input

• Altro…
Machine Deep
Learning
Gli algoritmi supervisionati sono solitamente più efficaci, ma richiedono
annotazione dei dati.
Tra i problemi risolvibili in modo supervisionato, emergono due categorie
principali:

• Problemi di classificazione
si vuole assegnare una categoria
al dato

• Problemi di regression
si vuole assegnare un
valore numerico al dato
Machine Deep
Learning
Gli algoritmi non supervisionati sfruttano dati non annotati, molto più
semplici da reperire.
In questi casi, l’algoritmo non richiede ground truth per risolvere il
problema (che potrebbe anche essere in parte non definito). Tra i
problemi risolvibili in modo non supervisionato, l’esempio più riguarda il
clustering
Machine Deep
Learning
Esistono approcci intermedi, che cercano di combinare i benefici dei due
mondi
• Apprendimento auto-supervisionato (self-supervised learning)
per cui si forniscono all’algoritmo i dati di input ed un
meccanismo, alternativo all’annotazione, per ottenere
informazioni di pseudo (o proxy) ground truth

• Apprendimento semi-supervisionato (semi-supervised learning)


all’algoritmo vengono forniti congiuntamente dati con
annotazioni e senza

• Apprendimento con rinforzo (reinforced learning)


viene affiancato un algoritmo esterno in grado di
punire/premiare l’algoritmo durante il suo addestramento, al
fine di migliorarne le performance finali
Machine Deep
Learning
Una volta raccolti dati “a sufficienza”, è possibile procedure all’addestramento
del nostro algoritmo.
Indipendentemente dal tipo di supervisione e/o dal problema, i dati vengono
solitamente organizzati in 3 insiemi:

• Set di addestramento (training set)


usato per apprendere come risolvere il problema

• Set di validazione (validation set)


usato durante l’addestramento per misurare le performance su dati
mai visti e valutare l’efficacia dell’addestramento

• Set di test (test set)


usato al termine dell’addestramento per misurare le performance
su dati mai visti e valutare l’efficacia del modello nel mondo reale
Machine Deep
Learning
Affinchè l’addestramento risulti efficace, è bene che l’insieme dei dati di
addestramento risulti bilanciato. Ad esempio:

• In un problema di classificazione, dovranno essere forniti dati


appartenenti alle diverse categorie in modo uniforme

• In un problema di regressione, dovranno essere forniti dati con


valori da regredire che spaziano nell’intero spazio dei valori
predicibili
Machine Deep
Learning
La suddivisione appena introdotta è necessaria al fine di selezionare il
modello migliore al termine dell’addestramento (non necessariamente
quello addestrato più a lungo!)

A seconda del problema in analisi, occorre un criterio per misurare le


performance al fine di poter scegliere il modello con i risultati migliori

Questo può essere fatto, semplicemente, registrando sui set di validazione


e test quante volte l’algoritmo addestrato fallisce

• Per problemi di classificazione, contando il numero di


classificazioni errate

• Per problemi di regressione, misurando l’errore rispetto al valore


atteso
Machine Deep
Learning
Basati su questi semplici principi, un po’ di matematica e tanti dati, oggi
abbiamo innumerevoli sistemi basati su apprendimento e in grado di
risolvere la maggior parte dei problemi nella nostra vita quotidiana e non,
fra i quali…

… e tanti altri!

Potrebbero piacerti anche