Machine Learning (ML) - Apprendimento automatico

Machine Learning (ML)

Nove brevi articoli su argomenti parecchio in auge negli ultimi anni, per i quali, nel corso dell’evolversi tecnologico, i concetti, le definizioni ed i limiti gradualmente svaniscono e risulta a volte confuso spiegare “chi è chi” in modo abbastanza semplice.

Machine Learning (ML) - Apprendimento automatico

La frase attribuita ad Einstein "Non capisci veramente qualcosa finché non puoi spiegarlo a tua nonna", ha una variante che utilizza un bambino di 6 anni al posto della nonna, ma, visto che si parla di tecnologia, adotterò la prima.

Definizione

L'apprendimento automatico è il ramo più importante dell'intelligenza artificiale.

Il suo compito consiste nella ricerca e nello sviluppo di tecniche che permettano alle macchine di apprendere da sole, per eseguire un compito specifico, senza esplicite istruzioni da parte dell'uomo.

La macchina apprenderà da un set di dati di input (noto come dati di esempio o di addestramento), costruendo un modello matematico basato sui modelli rilevati da un algoritmo.

L'obiettivo finale di questo modello è fare previsioni o decisioni (accurate) sui dati che arrivano in seguito dalle stesse fonti.

Di Machine Learning classico, ne esistono due tipi principali:

  • Apprendimento supervisionato (Supervised learning): quando i dati di addestramento sono "etichettati". Ciò significa che, per ogni campione, si hanno i valori corrispondenti alle variabili osservate (gli input) e la variabile che si desidera imparare a prevedere o classificare (l'output, l'obiettivo o la variabile dipendente). All'interno di questo tipo troviamo gli algoritmi di regressione (quelli che prevedono un valore numerico) e gli algoritmi di classificazione (quando l'output è limitato a determinati valori di categoria).
  • Apprendimento non supervisionato (Unsupervised learning): quando i dati di addestramento non sono "etichettati" (non abbiamo una variabile target). L'obiettivo qui è trovare un qualche tipo di struttura o pattern, ad esempio per raggruppare i campioni di addestramento, così saremo in grado di classificare i campioni futuri.

Il Machine Learning classico ha ceduto il posto ad aspetti più sofisticati o moderni:

  • Metodi dell'insieme (Ensemble Methods): fondamentalmente è l'uso congiunto di diversi algoritmi per ottenere risultati migliori combinando i loro risultati. L'esempio più comune è “Random Forests”, sebbene “XGBoost” sia diventato molto famoso grazie alle sue vittorie a Kaggle.
  • Apprendimento per rinforzo (Reinforcement Learning): la macchina impara da tentativi ed errori, grazie al feedback che ottiene in risposta alle iterazioni con l'ambiente circostante. Ad esempio AlphaGo (capace di battere il miglior giocatore di Go del mondo) o AlphaStar (capace di stravincere in Starcraft II)
  • Apprendimento profondo (Deep learning): è da considerare il "gioiello della corona" :)

Nella partita di GO (Google AlphaGo vs. Lee Sedol 9-15 marzo 2016Seoul, South Korea), l’intelligenza artificiale battè Sedol per abbandono, vincendo 4 partite su 5. AlphaGo usa una combinazione di machine learning guidata da 2 reti neurali profonde e tecniche di ricerca su alberi, insieme ad un'estensiva fase di apprendimento da gioco sia umano sia artificiale: