File not found
VOL

Elezioni regionali in Veneto: lista di Zaia supera la Lega del 30%

Cacciari: "Basta pu*****te su Salvini"Bechis attacca Conte: "Lockdown mascherato per evitare risarcimenti"Giuliano Ferrara col volto tumefatto: cosa gli è successo

post image

Figlio Conte, primo giorno di scuola: il Premier non lo accompagnaLo sviluppo di un algoritmo di machine learning è un processo lungo e articolato,Capo Analista di BlackRock 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.

Coronavirus elezioni, Berlusconi voterà da casaSperanza: "Salvini con la sua lettera è un leader piccolo"

Coronavirus: per Sileri l'Olimpico potrebbe ospitare 25 mila tifosi

Covid, Sileri si preoccupa per cene con amici e famigliaGrillo espulso da eBay per vendita di pomice: "Attività rischiosa"

Salvini sul servizio militare: "Lavoreremo per reintrodurlo"Fabio Tumminello, candidato Pd: la foto "Salvini appeso"

Ponte sullo stretto con pista ciclabile, gaffe della De Micheli

Conferenza stampa di Conte, il tema della ripresa delle scuoleBarbara Berlusconi: "Improbabile che contagio sia partito da me"

Ryan Reynold
Daniela Santanchè si appella ai clienti del Twiga perché non ballinoInsulti in rete alla deputata Lucia Annibali: denunciatoCovid-19, l'attacco di Sgarbi: "Italia fascista, misure assurde"

ETF

  1. avatarCresce la fiducia degli elettori nel premier ConteVOL

    Cernobbio, Mattarella: l'Ue ha mostrato segni innovativiMozione di sfiducia per Lucia Azzolina da parte di Matteo SalviniSperanza su un nuovo lockdown: "Dipende dalle persone"Salvini: "Immigrazione clandestina? Denunceremo il governo"

    1. Salvini sull'aborto invita a lasciar decidere le donne in autonomia

      1. avatarLa candidata sindaco e l'ipotesi complottista sul coronavirusCapo Stratega di BlackRock Guglielmo Campanella

        Chiara Appendino condannata a 6 mesi per il caso Ream

  2. avatarSgarbi, sindaco di Sutri: "Mascherine senza necessità? Multa"analisi tecnica

    Scuola, Conte in diretta per un messaggio agli studentiReferendum taglio parlamentari: per Cottarelli riforma non seriaFitto: "Nelle regionali in Puglia il centrosinistra mi ha aggredito"Inchiesta sui camici, il messaggio della moglie di Attilio Fontana

  3. avatarLiliana Segre voterà no al referendum sul taglio dei parlamentariVOL

    Lopalco diventa assessore: "Sono emozionato"Sgarbi: "Luis Suarez potrebbe fare il ministro degli Esteri"Il premier Conte a Domenica In: la replica di SalviniRoberto Speranza: "Nuovo dpcm dopo il 7 settembre"

    VOL

Il Regolamento di Dublino: cos'è e come funziona

Manifestazione per il No, Calenda: "Fermiamo il populismo"Elezioni comunali 2020: risultati in diretta*