L’applicazione di strategie di Machine Learning su database di grandi dimensioni si chiama Data Mining.
L’analogia è che da una miniera (database di grande dimensione) venga estratta una grande quantità di terra che porta con sé una piccola quantità di materiale molto prezioso; allo stesso modo, nel data mining, un grande volume di dati viene elaborato per costruire un modello semplice con un uso prezioso, ad esempio, con un’elevata precisione predittiva.
Il data mining (letteralmente dall’inglese estrazione di dati) è l’insieme di tecniche e metodologie che hanno per oggetto l’estrazione di informazioni utili da grandi quantità di dati (es. banche dati, datawarehouse, ecc.), attraverso metodi automatici o semi-automatici (es. apprendimento automatico) e l’utilizzo scientifico, aziendale, industriale o operativo delle stesse.
Gli scenari in cui le tecniche di Data Mining vengono utilizzate per adottare strategie basate sul Machine Learning sono abbondanti e possono riguardare:
- Le banche finanziarie analizzano i loro dati passati per costruire modelli da utilizzare nelle richieste di credito, rilevamento delle frodi e mercato azionario.
- Nella produzione, i modelli di apprendimento vengono utilizzati per l’ottimizzazione, il controllo e la risoluzione dei problemi.
- In medicina, i programmi di apprendimento vengono utilizzati per la diagnosi medica.
- Nelle telecomunicazioni, i modelli vengono analizzati per l’ottimizzazione della rete e per massimizzare la qualità del servizio.
- Nella scienza, grandi quantità di dati in fisica, astronomia e biologia possono essere analizzati abbastanza velocemente dai computer.
- Il World Wide Web è enorme, è in costante crescita e la ricerca di informazioni rilevanti non può essere eseguita manualmente.
L’apprendimento automatico ci aiuta anche a trovare soluzioni a molti problemi di visione, riconoscimento vocale e robotica. Prendiamo l’esempio del riconoscimento dei volti: questo è un compito che svolgiamo senza sforzo; ogni giorno riconosciamo familiari e amici guardando i loro volti o dalle loro fotografie, nonostante le differenze di posa, illuminazione, acconciatura e così via.
Ma lo facciamo inconsciamente e non siamo in grado di spiegare come lo facciamo. Poiché non siamo in grado di spiegare la nostra esperienza, non possiamo scrivere il programma per computer. Allo stesso tempo, sappiamo che un’immagine del viso non è solo un casuale raccolta di pixel; un viso ha una struttura. È simmetrico. Ci sono gli occhi, il naso, la bocca, situati in determinati punti del viso. Il viso di ogni persona è un modello composto da una particolare combinazione di questi.
Estraendo informazioni da un database di grandi dimensioni (data mining) che include immagini del viso di una specifica persona, potremmo utilizzare un programma di Machine Learning che cattura il modello specifico di quella persona e quindi riconosce controllando questo modello in una data immagine.
Questo è un esempio di riconoscimento del modello.
Come abbiamo appena visto, il Machine Learning oltre al Data Mining include anche metodologie e tecniche di intelligenza artificiale.
Infatti, per essere intelligente, un sistema che si trova in un ambiente in evoluzione dovrebbe avere la capacità di apprendere. Se il sistema può apprendere e adattarsi a tali cambiamenti, il progettista di sistema non deve prevedere e fornire soluzioni per tutte le possibili situazioni.
Il Machine Learning consiste nella programmazione di computer per ottimizzare un criterio di prestazione utilizzando dati di esempio o esperienze passate.
Abbiamo un modello definito mediante alcuni parametri e l’apprendimento è l’esecuzione di un programma per computer per ottimizzare i parametri del modello utilizzando i dati di addestramento o il passato esperienza.
Il modello può essere predittivo per fare previsioni in futuro, o descrittivo per acquisire conoscenze dai dati, o entrambi. Più nello specifico, Il Machine Learning utilizza la teoria della statistica nella costruzione di modelli matematici, perché il compito principale è fare inferenze da un campione.
Il ruolo dell’informatica, quindi, è duplice: in primo luogo, nella fase di training, abbiamo bisogno di algoritmi efficienti per archiviare ed elaborare l’enorme quantità di dati che generalmente abbiamo. In secondo luogo, una volta appreso un modello, anche la soluzione algoritmica per l’inferenza deve essere efficiente.