Machine Learning diamo una definizione!
Oggi sentiamo spesso parlare di Machine Learning ed Intelligenza Artificiale. Gli algoritmi di Machine Learning sono attualmente utilizzati in vari campi. Ad esempio troviamo le loro applicazioni negli acquisti online, nelle interazioni con i social media, nei servizi finanziari, nell’assistenza sanitaria, nel settore marketing per gestire una pubblicità mirata, ecc.
Dunque è fondamentale conoscere il termine di Machine Learning e capire dove è applicato.
Machine Learning definizione
Il Machine Learning (Apprendimento automatico), abbreviato ML, è una branca dell’Intelligenza Artificiale. L’idea di base è che dei robot (o più in generale dei sistemi) possano compiere delle azioni come se fossero degli esseri umani o animali.
Attraverso dei programmi di apprendimento automatico si acquisicono delle conoscenze, così come fanno gli esseri umani che acquisiscono conoscenze in base all’esperienza.
Gli algoritmi di Machine Learning utilizzano dei metodi matematico-computazionali che analizzano dei dati grazie ai quali si automatizza la costruzione di modelli analitici.
Machine Learning esempi
Dopo aver dato la definizione di Machine Learning, analizziamo alcuni esempi.
Guardiamo innanzitutto questo semplice programma di intelligenza artificiale realizzato sul sito Programma il Futuro: Intelligenza Artificiale per il mare.
Dopo aver fatto accesso all’ora del codice, avviate il gioco che è basato sull’identificazione di rifiuti da parte di un’Intelligenza Artificiale.
Vi verrà presentata dunque un’AI che deve essere istruita. Infatti l’Intelligenza Artificiale non sa se un oggetto è un pesce od un rifiuto ma possiamo dargli degli istruzioni, etichettando le immagini o schemi.
Ogni immagine può essere etichettata come pesce o come rifiuto. Questo funziona da addrestamento e consentirà poi all’Intelligenza Artificiale di riconoscere un rifiuto da un pesce quando gli verranno presentate nuove immagini.
Machine Learning – algoritmi
Continuiamo, nell’ambito del Machine Learning, a dare qualche altra definizione presentando gli algoritmi che determinano l’approccio ad un determinato problema.
I principali tipi di algoritmi sono:
- Supervisionato
- Non supervisionato
- Semi supervisionato
- Per rinforzo
In cosa consiste la differenza? Semplicemente nel modo in cui si acquisiscono i dati per compiere delle previsioni.
Machine Learning supervisionato (Supervised learning)
In questo tipo di algoritmo, che è quello più utilizzato, si gestisce l’apprendimento proprio come un bambino memorizza degli animali guardando alcune immagini di esempio. Così come nell’esempio visto su Programma il futuro, dove l’Intelligenza Artificiale è istruita con delle immagini.
L’algortimo dunque apprende da un set di dati etichettato. Questo ad esempio può essere utilizzato nel marketing, individuando dei prodotti che possano piacere all’utente basandosi sulle immagini che ha scelto in passato. Si basa dunque sull’esperienza.
Tra questi algoritmi studieremo, più avanti nella guida, gli algoritmi di regressione lineare e logistica.
Machine Learning non supervisionato (Unsupervised learning) – definizione
L’apprendimento non supervisionato si utilizza invece sui dati che non hanno una classificazione, ovvero sui dati non etichettati.
Non viene dunque fornita la risposta giusta ma l’obiettivo è quello di lasciare all’algoritmo la ricerca di caratteristiche o dati nascosti.
L’utilizzo di questo algoritmo lo si ha soprattutto con i dati transazionali. Quindi ad esempio l’algoritmo può individuare degli utenti che hanno delle esigenze simili a cui indirizzare della campagne di marketing ad hoc. Infatti, analizzando questi dati, per noi essere umani potrebbe non esserci un senso che al contrario l’algoritmo è in grado di dare.
Facciamo un esempio puramente esplicativo: l’algoritmo potrebbe individuare che la popolazione che acquista più alimenti biologici ha bisogno di meno cure mediche (perchè ad esempio non comprano mai farmaci), dunque l’algoritmo potrebbe consigliare un maggior acquisto di alimenti biologici, per salvaguardare la salute, alle persone che ne hanno più bisogno.
Machine Learning semi supervisionato
Come possiamo facilmente intuire è un modello ‘ibrido’ che ha le stesse applicazioni del modello supervisionato, ovvero si fornisce un set di dati dove a determinati input corrispondono degli output, ma anche dati privi di output come in quello non supervisionato.
Un esempio di applicazione lo troviamo nelle fotocamere che sono in gradi di indentificare un volto umano.
Machine Learning per rinforzo – definizione
In questo caso si passa ad un apprendimento per rinforzo secondo il quale si impara da esperimenti ed errori a raggiungere un obiettivo. L’idea è quella di migliorare le funzionalità del sistema per rinforzo, ovvero della ricompensa. Un pò come quando si promette delle caramelle ai bambini se raggiungono un obiettivo.
Dunque al raggiungimento dell’obiettivo si ha una ricompensa, mentre se non lo si raggiunge non si da nulla oppure si dà una punizione. Lo scopo è quello di avere la massimizzazione delle ricompense scegliendo le azioni corrette.
Questo tipo di approccio è utilizzato nella robotica e nei videogiochi, ad esempio in quelli in cui si gioca con un computer. Il computer impara a battere un avversario in base alle mosse che gli hanno dato più benefici in precedenza.
Gli algoritmi del Deep Learning ne fanno parte.
Conclusioni
In questa lezione abbiamo parlato di Machine Learning e ne abbiamo dato la definizione, parlando anche dei diversi algoritmi utilizzati in questo settore. Nelle prossime lezioni continuero ancora a parlare di questo argomento.
Alcuni link utili
Indice tutorial sul linguaggio Python
1 – Introduzione al linguaggio Python
2 – Le variabili
3 – Operatori aritmetici e di assegnazione
4 – Stringhe
5 – Casting
6 – Input e print