Intoduzione al machine learning

in Informatica, Programmazione

Introduzione al machine learning

Il machine learning (apprendimento automatico) può essere inteso come un insieme di metodi di calcolo che utilizzano l’esperienza per migliorare le prestazioni o per effettuare delle previsioni accurate.

Il machine learning sembra essere simile alla modellazione statistica. Nella modellazione statistica, i dati vengono raccolti e si verifica che siano puliti — in altre parole ci si accerta che i dati siano corretti, completi (oppure che sia stata eliminata qualsiasi parte incompleta errata o irrilevante dei suddetti dati) — e quindi viene utilizzato tale set di dati pulito per testare le ipotesi e fare previsioni.

Nell’ambito dell’apprendimento risulta fondamentale la capacità di valutare le proprie prestazioni / conoscenze: la condizione ottimale sarebbe quella di avere la possibilità di valutazioni dall’esterno. La presenza di un meccanismo di valutazione permette di parlare di “miglioramento” della conoscenza.

Elementi fondamentali

Gli elementi fondamentali del machine learning sono:

  • l’obiettivo del sistema (detto anche Task)
  • l’insieme utilizzato per il training: composto da un set di dati inseriti all’interno del sistema per poter migliorare l’apprendimento
  • una misura delle performance per eseguire il Task

Una volta definito il Task è necessario definire il metodo di apprendimento. I metodi tradizionali sono:

  • apprendimento supervisionato: richiede che la funzione venga appresa partendo da esempi di input e output. Quando al sistema viene fornito un problema da risolvere, verrà utilizzato il database di informazioni ed esperienze, da cui verranno recuperate le esperienze precedenti. Gli algoritmi che utilizzano questo tipo di apprendimento hanno la capacità di effettuare ipotesi induttive
  • apprendimento non supervisionato: richiede di imparare a riconoscere un pattern senza alcuna indicazione dei valori di uscita. Questo modello di apprendimento offre una maggiore autonomia (o libertà) di scelta al sistema, che dovrà organizzare i dati in maniera intelligente ed imparare in autonomia quali sono i risultati migliori per i problemi sottoposti.
  • apprendimento per rinforzo: il sistema apprende in base ad una sorta di ricompensa ottenuta per massimizzare il risultato. Questo tipo di apprendimento è senza dubbio quello più complesso. Il sistema deve essere realizzato in modo da poter migliorare le proprie conoscenze in base all’ambiente circostante.