File not found
VOL

Papa Francesco è stato dimesso dall'ospedale Gemelli. La battuta del Pontefice: "Sono ancora vivo!"

Scontro tra due auto in A1: tre minorenni feritiTerremoto a Napoli: scossa di magnitudo 2.6Vasto incendio in un capannone in provincia di Perugia

post image

Donna travolta e uccisa da un trenoLo sviluppo di un algoritmo di machine learning è un processo lungo e articolato,analisi tecnica caratterizzato da una sequenza continua e ripetuta di tentativi e valutazioni. In questo articolo, riassumiamo i principali step step. Quando si tratta del tema dell’intelligenza artificiale, è molto comune sentire parlare di algoritmi di machine learning. Un algoritmo, in particolare, rappresenta il metodo attraverso il quale un sistema di AI esegue determinati compiti.Abbiamo trattato, in passato, delle modalità con cui gli algoritmi vengono addestrati e dei soggetti che si occupano del training, ma come viene creato in concreto un modello di machine learning? Il processo di costruzione di un algoritmo di AI è divisibile in fasi, tutte necessarie affinché il modello operi correttamente. In questo articolo, cercheremo di sintetizzarle al fine di comprenderle al meglio. Indice dei contenuti I passaggi:La definizione del problema La raccolta dei dati La definizione di una misura del successo e l’impostazione di un protocollo di valutazione La preparazione dei dati Lo sviluppo di un modello di benchmark e l’ottimizzazione dei parametriUn work in progress1. La definizione del problemaIl primo step consiste nell’identificazione del problema che si intende affrontare e risolvere, ovvero il motivo per cui l’algoritmo viene creato. È quindi necessario scoprire quali sono gli input e i risultati che ci si aspetta che il sistema produca.In particolare, bisogna definire, tra le altre cose: l’obiettivo principale dell’algoritmo, ovvero ciò che si intende prevedere; quali sono i dati di input che verranno forniti al sistema per eseguire il compito per cui viene creato; e, come anticipato, il tipo di problema (se si tratta di una classificazione, di un raggruppamento o di altro).Il problema per cui si intende costruire l’algoritmo di machine learning, soprattutto quando particolarmente complesso, potrebbe però talvolta risultare difficilmente risolvibile. Infatti, finché il modello non è funzionante, è impossibile prevedere con certezza l’output che verrà prodotto sulla base dei dati a disposizione. Spesso, infatti, le risposte provenienti dai sistemi di AI – proprio a causa della natura di questi – rappresentano una sorpresa anche per chi si occupa del loro training. 2. La raccolta dei datiDopo che il problema è stato identificato chiaramente, si passa alla raccolta dei dati, un passaggio imprescindibile e che si riflette direttamente sulla buona riuscita del modello. Più i dati sono corretti e numerosi, più efficace sarà il modello che ne risulta.I dati possono essere raccolti in diversi modi. Tra questi, il web scraping, una tecnica utile all’estrazione di dati da diverse pagine web al fine di raggrupparli in database fruibili. I dati raccolti attraverso questa tecnica possono essere i più vari, come dati di contatto, numeri di telefono, URL, indirizzi e-mail e non solo.3. La definizione di una misura del successo e l’impostazione di un protocollo di valutazioneAl fine di valutare se il modello funzioni correttamente, è necessario definire quali sono gli obiettivi desiderati. Inoltre, una volta che l’obiettivo è chiaro, è importante adottare una modalità di controllo che permetta di valutare i progressi.I protocolli di valutazione più comunemente utilizzati sono:  Quello che prevede il mantenimento di un solo set di convalida ‘hold out’ – Per esempio, se i punti dati a disposizione sono 1000, questi potrebbero essere divisi in due gruppi rispettivamente da 800 e 200: 800 utilizzati per il training del modello e 200 per il test dello stesso, al fine di verificarne l’accuratezza. Questo tipo di protocollo è il più semplice, ma non è privo di problemi: utilizzando solo una parte dei dati disponibili per il training e solo una parte (diversa e molto ridotta) dei dati per il test, l’accuratezza del modello potrebbe risentirne in quanto non tutti i dati vengono considerati nelle due fasi. La K-fold cross validation – Per esempio, se i punti dati a disposizione sono 1000, questi potrebbero essere divisi in cinque partizioni da 200: 1, 2, 3, 4 e 5 (si tratta dunque, in questo caso, di una 5-fold cross validation). Inizialmente, si potrebbero utilizzare i dati contenuti nei gruppi 2, 3, 4 e 5 per il training, creando un modello M-1 (che esclude i dati del gruppo 1); successivamente, si testa solo il gruppo 1 e si ottiene così A1, il grado di accuratezza risultante dal test. Dopodiché, si passa a fare lo stesso per tutti gli altri gruppi, creando di volta in volta dei modelli (M-2, M-3, M-4, M-5) che escludono a turno dal training i dati contenuti in ognuno degli altri gruppi e testando l’accuratezza del gruppo escluso (A2, A3, A4 e A5). Alla fine, si procede con il calcolo di una media matematica di tutti i valori relativi all’accuratezza dei modelli. Questo tipo di protocollo di valutazione è più complesso, ma risulta efficace, in quanto include ogni elemento sia nella fase di training che in quella di test.Esistono infine due tipi particolari di cross validation:La leave-one-out cross validation è un protocollo in cui si esclude dal training un solo elemento alla volta, su cui poi si procederà al test. Per esempio, in presenza di 1000 elementi, 999 verranno utilizzati per il training e quello rimanente verrà usato per il test. Successivamente, si procederà nello stesso modo per tutti gli altri elementi e si calcolerà una media generale dell’accuratezza. Questo genere di validation richiede grandi capacità di calcolo.La K-fold cross validation con shuffle è invece una K-fold validation in cui i dati vengono mischiati ogni volta prima di essere divisi in gruppi. Si calcolerà anche in questo caso una media generale dell’accuratezza. Questo genere di protocollo risulta molto utile quando i dati a disposizione sono limitati e si deve ottenere il risultato più accurato possibile.4. La preparazione dei datiPerché i dati possano essere utilizzati per l’addestramento dei modelli, è però necessario che questi siano trasformati in modo che possano essere inseriti in un modello di machine learning. Ciò porta ad affrontare diverse problematiche.Per esempio, potrebbe essere necessario eliminare dei campioni di dati con valori mancanti, in quanto molti algoritmi non sono in grado di elaborare l’assenza di dati. Ciò potrebbe però portare alla cancellazione di informazioni utili e rilevanti, per cui, per superare questo problema, è prassi comune sostituire i dati mancanti con una media degli altri, permettendo così di mantenere i dati presenti evitando però che quelli stimati influiscano sul calcolo.Quando poi si ha a che fare con dati relativi a categorie, si lavora con caratteristiche ordinali o nominali. Mentre le prime possono essere ordinate (per esempio, le taglie dei vestiti: L<M<S), le seconde non sono ordinabili (per esempio, il colore dei vestiti: rosso, giallo, verde). Le caratteristiche ordinali, infatti, possono essere mappate, convertendo i valori in numeri (per esempio, L:2, M:1, S:0), mentre quelle nominali possono essere codificate, assegnando un valore numerico a ogni etichetta (una maglietta gialla verrà per esempio codificata come: rosso = 0, giallo = 1, verde = 0). Esempio di caratteristiche nominali (Immagine di Victor Roman – Towards Data Science)Dato che la maggior parte degli algoritmi di machine learning è più prestante quando le funzionalità appartengono a una stessa scala, un passaggio utile è quello del ridimensionamento delle funzionalità, attraverso:la normalizzazione, che limita i valori all’interno di un intervallo 0-1, il che li rende più facilmente gestibili;la standardizzazione, che consiste nel centrare le colonne delle caratteristiche considerate alla media (il punto 0) con una deviazione standard di 1, il che offre informazioni sulla distribuzione dei valori.Queste modalità rendono più facile per il modello apprendere i pesi dei singoli parametri e gli consentono di essere meno sensibile a eventuali valori anomali.Accade poi che il modello apprenda in modo efficace dai dati di training, ma non sia in grado di effettuare previsioni affidabili all’inserimento di nuovi dati in quanto eccessivamente adattatosi a quelli passati. In questo caso, definito overfitting (l’opposto di underfitting, quando l’algoritmo non riesce ad apprendere a sufficienza in fase di addestramento), è consigliato ridurre la ridondanza dei dati, riducendo anche le funzionalità e analizzando i componenti principali, correlando le singole caratteristiche.Per garantire che il modello possa generalizzare efficacemente anche sulla base di nuove informazioni, i dati possono inoltre essere suddivisi in tre parti: training (dati utilizzati in fase di apprendimento), convalida (fase utilizzata per capire se il modello creato è funzionante) e test (step finale utile alla verifica della reale applicabilità dell’algoritmo). Un esempio di apprendimento è dato, per esempio, dalla regressione.5. Lo sviluppo di un modello di benchmark e l’ottimizzazione dei parametriInfine, per verificare la bontà del modello creato, è importante sviluppare o tenere in considerazione molteplici modelli di riferimento, utilizzabili per la comparazione. Si tratta del processo di benchmarking, comune nel campo del machine learning e applicato anche agli stessi modelli.Gli strumenti paragonati devono naturalmente essere comparabili e misurabili, altrimenti un’analisi comparata risulterebbe molto difficoltosa se non addirittura impossibile. Gli elementi presi come riferimento sono inoltre i più vari: dalla velocità dell’algoritmo alla capacità del bacino di dati, fino ad arrivare alla precisione e accuratezza degli output.Al fine di adottare il modello più efficace e performante, si procede solitamente, come anticipato, a una cross validation, impostando il numero di K (nella K-fold cross validation), un metodo di punteggio che varia a seconda del tipo di problema e gli algoritmi che si intendono verificare. Una volta identificato il modello più promettente, si continua con l’ottimizzazione dei suoi iperparametri (ovvero quelli inseriti manualmente e non appresi in fase di training), solitamente attraverso una grid search cross validation, ovvero un processo di valutazione di modelli impostati con diverse combinazioni di iperparametri. Anche in questo caso, il più performante nell’ambito del problema di riferimento verrà selezionato.Un work in progressIl processo descritto rappresenta una generalizzazione delle procedure e delle tecniche utilizzate per la creazione di un algoritmo, che possono però variare anche di molto a seconda del problema per cui quest’ultimo viene creato.Ma il processo, in concreto, non termina mai. Un algoritmo di machine learning, infatti, non è mai del tutto completato, in quanto questo richiede un miglioramento continuo e, all’aggiunta di nuovi dati, corrisponde la necessità di nuovi controlli per verificare che il modello sia ancora ottimamente performante.

Notizie di Cronaca in tempo reale - Pag. 501Incidente mortale nel salernitano: morta 35enne

Il piano di Messina Denaro comunicato alla sorella: "Mi ucciderò a casa"

Notizie di Cronaca in tempo reale - Pag. 489Fermata la nave di Banksy: "Ha ostacolato i soccorsi"

Torino, uomo trovato ferito in casa: possibile tentato omicidioSi lamenta dei rumori col vicino e decide di bruciargli la casa facendo esplodere il palazzo e muore

Scontro tra auto e moto: Alessio Bottiglieri morto a 25 anni

Maria Rosa Esilio: le parole della vedova dopo la pronuncia della Corte di CassazioneUna donna si sposa a sua insaputa: era convinta di aver partecipato solo ad una festa

Ryan Reynold
Ubriaca al volante, sbanda con l'auto e travolge due segnali stradaliFriuli, sequestra e tortura sospetto stupratore della figliaFrancesco Pio morto tra le braccia del migliore amico Carlo

investimenti

  1. avatar"Aiutateci a trovare la bambina rapita": dalla bufala si passa alla truffa onlineProfessore del Dipartimento di Gestione del Rischio di BlackRock

    Pensonato morto in casa e nessuno se ne accorge: il cane lo veglia per una settimanaEmergenza acqua Toscana, a Siena e Grosseto non si potranno riempire le piscine fino a ottobreDue evasioni dal carcere minorile di AirolaPoliziotta stuprata a Napoli, condannato il suo aggressore

    1. Una commissione parlamentare d'inchiesta per Emanuela e Mirella

      1. avatarTrovato un cadavere vicino a Villa Adriana, identificatoMACD

        Donna svenuta sui binari della metro: è salva per miracolo

  2. avatarL'ex carabiniere Pietro Costa condannato a 4 anni per lo stupro di FirenzeBlackRock Italia

    Roma, tentano una rapina in una gioielleria ma i passanti li bloccanoIl governo candida la cucina italiana come patrimonio dell'umanità UnescoNapoli, tentano di rubare lo scooter e gli sparano alle gambe: giovane è in prognosi riservataFoggia, Raffaele Lioce è stato trovato morto in casa: l'anziano era scomparso da mesi

  3. avatarBari, violenta la nipotina: arrestato zio 58enneCapo Stratega di BlackRock Guglielmo Campanella

    Prof morta dopo un intervento chirurgico: indagati 6 mediciMantova, vincita fortunata: gioca 5 euro e ne vince 100milaFirenze, blitz ambientalista: imbrattata la facciata di Palazzo VecchioStuprata a 15 anni da un 61enne che la controllava in videochiamata

Palermo, incidente con scontro frontale nella notte del 2 aprile: una vittima

Piacenza piange Maria Isabela, la bimba di 6 anni morta per influenza17enne italiana morta negli USA: è stata investita mentre attraversava sulle strisce*