Il Machine Learning (ML), o apprendimento automatico, è una branca dell’intelligenza artificiale (IA). L’ML è un campo di ricerca che consente ai computer di migliorare autonomamente sulla base di dati di esempio (dati di training) o esperienza (ciò che è stato appreso). Il Machine Learning può prevedere o prendere decisioni automaticamente senza essere esplicitamente programmato.
I problemi di Machine Learning sono generalmente divisi in due tipi: previsione (prediction) e classificazione (classification). Esempi di problemi di previsione includono la stima del prezzo delle case, il valore delle auto…; esempi di problemi di classificazione includono il riconoscimento della scrittura a mano, il riconoscimento di oggetti…
Diagramma del processo di creazione di un CV online su TopDev
Flusso di lavoro del Machine Learning (Machine Learning Workflow)
Il flusso di lavoro del Machine Learning comprende i seguenti passaggi:
- Raccolta dati (Data Collection): Affinché un computer possa imparare, è necessario un set di dati (dataset). È possibile raccogliere i dati autonomamente o utilizzare set di dati già pubblicati. I dati devono essere accurati e provenire da fonti affidabili per garantire l’efficacia dell’apprendimento automatico.
- Pre-elaborazione (Preprocessing): Questa fase normalizza i dati, rimuove gli attributi non necessari, etichetta i dati, codifica alcune caratteristiche, estrae le caratteristiche e riduce i dati garantendo comunque risultati validi. Questa fase richiede spesso più tempo, proporzionalmente alla quantità di dati.
- Addestramento del modello (Training Model): Questo è il passaggio in cui il modello viene addestrato, imparando dai dati raccolti ed elaborati nei primi due passaggi.
- Valutazione del modello (Evaluating Model): Dopo l’addestramento, è necessario utilizzare metriche per valutare il modello. Una precisione del modello superiore all’80% è considerata buona.
- Miglioramento (Improve): Se il modello non raggiunge la precisione desiderata, è necessario addestrarlo nuovamente, ripetendo dal passaggio 3 fino a raggiungere la precisione prevista.
Classificazione del Machine Learning
Il Machine Learning è generalmente classificato in due tipi principali:
- Apprendimento supervisionato (Supervised Learning): Il computer apprende da dati etichettati (label). Per ogni input Xi, c’è un’etichetta Yi corrispondente.
- Apprendimento non supervisionato (Unsupervised Learning): Il computer apprende da dati non etichettati. Gli algoritmi di Machine Learning troveranno correlazioni nei dati, modelleranno i dati, aiutando il computer a comprendere i dati e a classificarli in gruppi o cluster simili oppure a ridurre la dimensionalità dei dati (dimension reduction).
Alcuni concetti base nel Machine Learning
- Dataset: Insieme di dati grezzi non elaborati. Un dataset include molti data point.
- Data Point: Punto dati, che rappresenta un’osservazione. Ogni data point ha molte caratteristiche o attributi, divisi in due tipi: dati numerici (numerical) e dati non numerici/categorici (non-numerical/categorical).
- Training data e Test data: Il dataset è solitamente diviso in questi due set. I training data vengono utilizzati per addestrare il modello, i test data per prevedere i risultati e valutare il modello.
- Vettore delle caratteristiche (Features vector): Vettore che rappresenta un punto dati nel dataset. Ogni vettore ha n dimensioni che rappresentano le caratteristiche del punto dati, ogni caratteristica è una dimensione e deve essere un dato numerico.
- Modello (Model): Il modello viene utilizzato per l’addestramento sui training data secondo l’algoritmo del modello stesso. Successivamente, il modello può prevedere o prendere decisioni in base a ciò che ha appreso.
Applicazioni del Machine Learning
Il Machine Learning è ampiamente applicato in molti settori: finanza, biologia, agricoltura, ricerca e recupero delle informazioni, automazione, robotica, chimica, reti di computer, scienze spaziali, pubblicità, elaborazione del linguaggio naturale, visione artificiale…
Ad esempio, nelle previsioni meteorologiche, l’applicazione del Machine Learning per consentire al computer di apprendere dalle osservazioni registrate in passato aiuta a prevedere il tempo in futuro con maggiore precisione rispetto agli esseri umani. L’efficacia del Machine Learning rende importante comprenderlo e studiarlo nell’era della tecnologia 4.0.