Definire che cos’è il machine learning non è sicuramente semplice, dato che si tratta di un ambito molto vasto, caratterizzato da molteplici strumenti, tecniche e modalità.

Sicuramente fare degli esempi concreti, consente di inquadrare dove al giorno d’oggi troviamo tali strumenti, per esempio potremmo citate i filtri anti-spam, i sistemi di riconoscimento vocale di cui sono dotati molti smartphone e i motori di ricerca.

Cos’è il machine learning

Gli algoritmi di machine learning si basano sull’utilizzo di metodi matematico-computazionali che hanno l’obiettivo di migliorare le proprie prestazioni, grazie alle informazioni che vengono estrapolate direttamente dai dati raccolti, maggiori saranno gli esempi da cui apprendere, migliore saranno le prestazioni dell’algoritmo.

I primi studi svolti sulla la realizzazione di macchine intelligenti risalgono al 1950, furono svolti da alcuni matematici e statistici con l’intento di progettare delle macchine che utilizzassero dei metodi probabilistici, in grado di far prendere decisioni in maniera più rapida e certa, proprio tenendo conto delle probabilità di accadimento di un dato evento.

Una figura di rilievo, legata al machine learning è quella di Alan Turing, il quale, per primo, formulò la necessità di sviluppare algoritmi specifici per mettere a punto macchine in grado di apprendere.

Nonostante questo, solamente alla fine degli anni Novanta avvengono importanti e significativi sviluppi e più in particolare, alla definizione di una serie di tecniche legate a elementi statistici e probabilistici, che permisero all’apprendimento automatico di divenire, nel tempo, un campo di studio e ricerca riconosciuto e richiesto per le sue applicazioni.

Oggi, il machine learning si caratterizza per differenti tecniche di apprendimento, come per esempio: il deep learning, l’online learning e la modellazione predittiva.

Nello specifico, il deep learning si basa su un insieme di tecniche che simulano i processi di apprendimento del cervello umano attraverso reti neurali artificiali stratificate. Grazie a queste tecniche, è possibile chiarire problemi di apprendimento automatico molto complessi. Ad esempio, le troviamo nell’ambito di applicazioni quali il riconoscimento delle immagini e la comprensione del linguaggio parlato.

Per quanto concerne invece l’online learning, è quel segmento del machine learning che si occupa di studiare tecniche per problemi in cui i dati sono disponibili in fasi sequenziali, uno dopo l’altro, e le decisioni vengono prese man mano che un dato diventa disponibile, in un processo in cui quello che è stato appreso, determina la decisione successiva e quest’ultima, a sua volta, i dati che verranno processati in futuro e il conseguente apprendimento.

Viene svolto solitamente per ottimizzare le campagne pubblicitarie e le pagine Web.

Infine la modellazione predittiva, ha lo scopo di prevedere una molteplicità di tecniche atte a raccogliere una serie di dati e ad apprendere – da questi – modelli da applicare poi a nuovi dati.

Con l’adozione di questa tecnica– ovvero applicando ai nuovi dati i modelli elaborati in base ai dati raccolti in precedenza – è possibile effettuare predizioni su comportamenti e risultati futuri, come accade, ad esempio, nell’analisi di qualità, nel marketing e nelle analisi delle reti sociali.

Machine learning: le sue funzionalità

Il funzionamento dell’algoritmo di machine learning si basa sull’analizzare un set di dati, con l’intento di ricavarne correlazioni e, dunque, modelli predittivi.

Alla base vi è una la logica induttiva, che analizza il dato nello specifico per poi arrivare all’aspetto “generico”. In altre parole, la macchina processa un determinato campione di dati e ne ricava delle regole, dei modelli di apprendimento che le consentiranno di risolvere uno specifico problema e di eseguire un determinato compito.

Dopodiché in un secondo momento, la macchina andrà ad analizzare altri dati e a modificare, di conseguenza, le proprie regole e i propri modelli, dai risultati dell’estrapolazione di questi.

Più dati verranno sottoposti alla macchina, maggiore sarà la capacità dell’algoritmo di fare delle previsioni certe.

Le metodologie di apprendimento.

Dopo aver menzionato le tecniche di apprendiment precedentemente – e in breve sintesi – menzionate, a seconda che si diano alla macchina ricchi set dati ed esempi completi, da utilizzare come indicazione per eseguire il compito richiesto, oppure che si lasci lavorare il software senza alcun aiuto, si differenziano due metodologie diverse di apprendimento.

Oltre a questo, ci sono poi dei sottoinsiemi che – in base al loro funzionamento – consentono una classificazione ancora più dettagliata del machine learning. Vediamoli insieme.

Apprendimento supervisionato

Questa tipologia di “apprendimento”, fa si che gli algoritmi vengano addestrati utilizzando esempi già classificati (già etichettati), ossia input di cui già si conoscono gli output. Quindi l’algoritmo, in questo caso, impara abbinando input ad output corrispondenti, in poche parole analizza i risultati per trovare gli errori e poi modifica il modello di conseguenza.

L’apprendimento supervisionato (detto anche Supervised Learning) è utilizzato, per risolvere problemi di “classificazione” e di “regressione”, dove la classificazione fa riferimento al fatto che una macchina è in grado di riconoscere e di categorizzare oggetti visivi e dimensionali da un set di dati; mentre i problemi di regressione fanno riferimento a un processo in cui la macchina predice il valore di ciò che sta analizzando in base a dati attuali, cogliendo la relazione tra due o più variabili.

Sono un esempio la relazione esistente tra i metri quadri di una casa e il suo pezzo oppure tra le gare automobilistiche e il numero di incidenti effettuati da un pilota. Gli algoritmi di apprendimento supervisionato sono utilizzati in molti settori, da quello medico – in cui sono in grado di prevedere lo scatenarsi di particolari crisi sulla base dell’esperienza di passati dati biometrici – per arrivare all’identificazione vocale (che migliora sulla base degli ascolti audio passati), al riconoscimento delle immagini (per esempio il riconoscimento facciale) e all’identificazione della scrittura manuale, che si perfeziona sulle osservazioni degli esempi sottoposti alla macchina.

Apprendimento non supervisionato

Invece l’apprendimento Non supervisionato (Unsupervised Learning), consiste nel fatto che la macchina apprende dall’esperienza senza avere esempi e risposte di riferimento. Infatti al sistema, in questo caso, vengono forniti set di dati senza alcuna indicazione del risultato che si desidera. L’algoritmo deve scoprire cosa gli viene mostrato, con l’obiettivo di esplorare i dati e individuarne una struttura interna, una logica. Proprio per questo, l’apprendimento si dice “non supervisionato” dato dal fatto che non ci sono risposte corrette.

Questa tipologia di apprendimento, utilizza tecniche che lavorano confrontando i dati e ricercando similarità o differenze. Per questo motivo, a questa tipologia di apprendimento vengono sottoposti problemi di “raggruppamento” (raggruppare un set di dati con caratteristiche simili) e di “associazione”. Nei problemi di raggruppamento, l’algoritmo apprende nel momento in cui individua una relazione tra i dati; mentre nel caso dell’associazione l’intento è  trovare schemi frequenti, correlazioni tra un insieme di item.

Un esempio classico lo possiamo trovare nelle campagne marketing, dove un sistema di machine learning basato su apprendimento non supervisionato porta – attraverso la tecnica del raggruppamento – alla segmentazione di consumatori con caratteristiche simili a cui rivolgere campagne di marketing specifiche. Questi algoritmi vengono anche usati per segmentare argomenti testuali, consigliare prodotti o identificare valori anomali.

Apprendimento semi-supervisionato

Un ulteriore tipologia di apprendimento è rappresentata da una via di mezzo tra le prime due qui sopra citate. In particolare, per l’addestramento utilizza un ridotto volume di dati classificati e un più ampio volume di dati non classificati e incompleto. Per questo motivo, viene definito quale modello di apprendimento “ibrido”.

Viene fornito un set di dati in cui alcuni sono “dotati” dei rispettivi esempi di output (come nell’apprendimento supervisionato), altri invece ne sono privi (come nell’apprendimento non supervisionato). Lo scopo è uno: indivduare regole e funzioni per la risoluzione dei problemi, nonché modelli e strutture di dati utili al raggiungimento di determinati obiettivi.

Apprendimento per rinforzo

Nell’apprendimento per rinforzo, l’algoritmo apprendere grazie ad un sistema di valutazione che stabilisce una “remunerazione” se l’esecuzione di un dato compito è senza errori e stabilisce invece una penalità se l’azione è errata.

L’obiettivo, in questo caso, è quello di capire quali sono le azioni migliori da attuare, così da poter massimizzare la ricompensa prevista.

Con questo tipo di apprendimento, la macchina impara, ad esempio, a battere un avversario in un gioco concentrando gli sforzi sullo svolgimento di un determinato compito, con l’obiettivo di ottenere il massimo valore: così facendo il sistema acquisisce conoscenza di volta in volta e riconosce gli errori commessi, migliorando le prestazioni in funzione dei risultati raggiunti in precedenza.

Dunque attraverso l’apprendimento per rinforzo l’algoritmo scopre da dove vengono generate le ricompense maggiori, passando per esperimenti ed errori. Viene usato nell’ambito della robotica e dei videogiochi, oltre che – come accennato – nello sviluppo delle auto a guida autonoma che, proprio grazie al machine learning, imparano a riconoscere l’ambiente circostante e ad impostare il loro comportamento al tragitto da percorrere.

Dove si applica il machine learning

L’apprendimento automatico la troviamo in molte applicazione di uso quotidiano, sempre legate alla tecnologia e molto vicine a noi.

Per esempio una sua applicazione classica è quella del riconoscimento vocale, di cui sono dotati molti smartphone e molti dispositivi domotici.

Oppure un altro utilizzo dell’apprendimento automatico che riguarda in questo caso, con l’uso del computer e della rete, è quello che permette alle aziende di realizzare pubblicità online basata sugli interessi degli utenti, vengono infatti identificate le necessità degli utenti in base alle ricerche effettuate in rete.

Quando su un sito Web noti articoli recanti con la dicitura “potrebbero interessarti” si basano proprio sulla cronologia degli acquisti fatti in precedenza e analizzati per mezzo del machine learning.

Se vogliamo trovare ulteriori esempi, potremmo pensare all’utilizzo dei motori di ricerca che, attraverso una o più parole chiave, mettono a disposizione liste di risultati, che non sono altro che l’effetto di algoritmi di machine learning con apprendimento non supervisionato.

Un ulteriore esempio, è sicuramente quello legato ai filtri anti-spam delle email, che costantemente apprendono se il messaggio che è arrivato in posta elettronica è “sospettoso” o meno, andando così a intercettare o meno.

Questo tipo di sistemi vengono impiegati anche nel settore finance per la prevenzione delle frodi, dei furti di dati e di identità: gli algoritmi imparano ad agire mettendo in correlazione eventi, abitudini degli utenti, preferenze di spesa e altri dati. Grazie a tutte le informazioni i sistemi riescono poi a identificare eventuali comportamenti anomali.

Pure il settore bancario utilizza le tecnologie di machine learning. Vengono utilizzati con scopi precisi: rilevare informazioni importanti per identificare sempre nuove opportunità di investimento e aiutare gli investitori. Gli strumenti di machine learning, nel settore bancario, oggi, sono uno strumento per esaminare il trend dei comportamenti attuali e, sulla base di questi, prevedere i comportamenti futuri dei clienti.

Per concludere, tra le applicazioni di maggiore successo del machine learning, che vedono al centro di numerosi esperimenti, le tecniche di apprendimento automatico, troviamo sicuramente i veicoli a guida autonoma, tuttora in fase sperimentale e non in commercio. Sono numerose le case automobilistiche a livello globale che hanno realizzato prototipi di auto a guida autonoma. Questi prototipi di auto sono composti da un gran numero di sensori, di telecamere, di sistemi di localizzazione e di molte altre tecnologie evolute e che consentono di realizzare un sistema di apprendimento per rinforzo sempre più nello specifico e, in grado di prendere decisioni in modo repentino, su frenate, sterzate e sulle differenti modalità di guida, a seconda dei contesti in cui si trova l’auto e in presenza di eventuali ostacoli presenti durante il tragitto.

Desideri approfondire gli argomenti contenuti in questo articolo? Contattaci per parlare con i nostri esperti.