In base ai tipi di apprendimento applicato, possiamo avere diverse classificazioni di Machine Learning, sostanzialmente 3, anche se ad essere pignoli ne potremmo elencare altre…ma a noi piacciono le cose semplici😀 . Riprendiamo quindi l’immagine dell’articolo precedente e andiamo ad analizzarle insieme:
Come si può vedere le 3 tipologie principali sono:
- Apprendimento Supervisionato (Supervised Learning)
- Apprendimento Non Supervisionato (Unsupervised Learning)
- Apprendimento con Rinforzo (Reinforcement Learning)
Apprendimento Supervisionato (Supervised Learning)
Per Apprendimento Supervisionato si intende quando, partendo dai dati che già abbiamo, cerchiamo in essi regole utili per poi applicarle a dati futuri in modo da prevedere dei risultati. Facciamo un esempio per chiarire, immaginate di avere in un foglio excel (tanto per essere decisamente semplici), una serie di colonne che rappresentano le caratteristiche delle case vendute a Firenze:
- Metri quadrati della casa
- numero di bagni
- Garage
- anno di costruzione
- classificazione energetica
- Prezzo
In questo caso abbiamo tutta una serie di attributi o “etichette”(le prime 5 colonne del nostro bel file excel) che hanno influito sul prezzo (il nostro valore target).
Ora dando in “pasto” al nostro algoritmo questi dati (data-set), questo sarà in grado di prevedere il prezzo delle case partendo proprio da quello che ha imparato attraverso l’analisi del file excel. Le due tecniche principali di apprendimento non supervisionato sono:
- La Regressione (usata appunto sopra con la valutazione delle case, in pratica la si usa tutte le volte che si vuole ottenere un valore, il prezzo appunto)
- La Classificazione (in questo caso invece l’obiettivo è quello di classificare il nostro dataset in modo da prevedere quale sarà la categoria per i dati futuri)
Apprendimento Non Supervisionato (Unsupervised Learning)
In questo caso non abbiamo a disposizione una serie di dati passati dai quali possiamo imparare e tirare fuori le regole, ma abbiamo un data set da analizzare per capire se è possibile ricavarne regole di classificazione. Alcune delle tecniche più utilizzate sono il Clustering, gli Algoritmi Visuali e la riduzione della dimensione.
Immaginate di avere un sito e-commerce nel quale vendete fumetti. Avete la possibilità di raccogliere molte informazioni su chi visita il vostro sito, sesso, età, pagine visitate, tipologia di fumetti, acquisti etc. Tutte queste informazioni “slegate” tra loro potrebbero però essere raggruppate seguendo un filo logico, così che magari scoprireste che i visitatori donne di età 13-15 anni sono attirate di più da un particolare tipo di manga piuttosto che dai fumetti degli Avengers. Come potete vedere in questo caso non abbiamo uno storico dal quale imparare, ma abbiamo dati che con la giusta tecnica possono rivelarci utili informazioni.
Apprendimento con Rinforzo (Reinforcement Learning)
A differenza dei precedenti in questo caso l’apprendimento avviene per…errori. Sì è proprio così qui si dà la possibilità alla macchina di interagire con l’ambiente circostante per imparare dai rinforzi o feedback che riceve. Un caso famoso è il DeepMind’s Alpha Go program il quale sconfisse il campione di Go Ke Jie. Il programma riuscì a sconfiggerlo perché prima apprese milioni di strategie attraverso l’analisi di partite passate e poi simulò centinaia di partite con sé stesso in modo da definire la sua strategia. In pratica applicò ciò che aveva imparato!