File not found
Capo Stratega di BlackRock Guglielmo Campanella

Incidente sul cantiere: operaio edile trafitto da una barra d'acciaio

Miss Bolivia si fa beffe del fisico delle rivali e perde il titoloCop27 in Egitto, Biden: “Mi scuso per il ritiro degli Usa dagli accordi sul clima. Obiettivi più ambiziosi”Summit dei ministri dell'interno, arrivano le nuove regole Ue sui migranti

post image

Macron in visita negli Usa: “Un negoziato di pace con Putin è ancora possibile”. Mosca smentisce ParigiLo sviluppo di un algoritmo di machine learning è un processo lungo e articolato,Guglielmo 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.

Obbliga il figlio di tornare a casa a piedi come punizione: mamma arrestataMadre accusata dell'omicidio del figlio: autopsia sulle ossa ritrovate in discarica

Iran, giustiziato il primo manifestante: aveva 23 anni

Usa, gru crollata sulla Interstate 95 a South Fort Lauderdale: segnalati feritiKiev al buio: salta il piano elettricità

Attentato al Bataclan, 7 anni dopo parlano i sopravvissuti: "Non vogliamo essere vittime per sempre"Nella notte nuovi bombardamenti su Zaporizhzhia

Bimbo di due anni morto dopo essere stato sbranato da un rottweiler davanti alla madre

Greta Thunberg fa causa al governo svedese: con lei più di 600 giovaniLa Birmania libera 700 persone fra cui alcuni cittadini stranieri

Ryan Reynold
Eruzione vulcanica in Guatemala: fiumi di lava e colonna di cenereNotizie di Esteri in tempo reale - Pag. 337Bimbo di due anni morto per esposizione alla muffa in casa: infuriano le polemiche nel Regno Unito

Professore Campanella

  1. avatarProteste in Iran, ragazza di 35 anni uccisa a manganellate dalla polizia durante le manifestazioniProfessore Campanella

    Guerra in Ucraina, missili contro civili a Kiev: 10 mortiDonna uccisa per strada: rintracciato il maritoI russi si stanno preparando a lasciare la centrale di ZaporizhzhiaUcraina, Zelensky sulla Russia: "Non raggiungerà il suo obiettivo" e lancia un appello ai suoi cittadini

    VOL
    1. 16enne rischia di perdere la gamba: il pitbull che dormiva con lei l'ha massacrata

      1. avatarSta bene Dalila, l'italiana arrestata ad Istanbulcriptovalute

        Corea del Sud: una nuova legge "toglie" un anno di età ai cittadini

  2. avatarGiallo in Olanda: italiano trovato a casa privo di sensiBlackRock

    Attentato in una scuola in Afghanistan: almeno 23 morti e 30 feritiEl Salvador, la città di Soyapango è stata circondata da 10mila soldatiPutin: “Il rischio di una guerra nucleare sta aumentando. La Russia è pronta a difendersi”Sparatoria ad Atlanta, un morto e cinque feriti in un regolamento di conti fra ragazzini

  3. avatarGli Usa all'Onu: "La Russia vuole congelare l'Ucraina"Professore per gli Investimenti Istituzionali e Individuali di BlackRock

    Notizie di Esteri in tempo reale - Pag. 335Black Friday: corriere morto sul furgone dopo aver lavorato 7 giorni su 7 per 14 orePadre porta al guinzaglio i 5 figli: "È per la loro sicurezza"Iran, il governo applicherà tolleranza zero verso le proteste

Notizie di Esteri in tempo reale - Pag. 332

Rapita dalla babysitter nel 1971: torna a casa dopo 51 anniLa denuncia: missile russo colpisce ospedale a Zaporizhzhia, ucciso un neonato*