File not found
Economista Italiano

Medio Oriente, nuova strage a Nuseirat: 14 morti nel raid di Israele

Argentina, quattro calciatori arrestati per violenza sessuale: licenziatiBruxelles, oggi il vertice Ue: "Ambizioni di Putin non si fermano all'Ucraina"La difesa è la prossima frontiera dell'Ue per Von der Leyen

post image

Notizie di Esteri in tempo reale - Pag. 91Lo sviluppo di un algoritmo di machine learning è un processo lungo e articolato,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.

Portogallo, successo del centrodestra con l'Exploit degli estremisti ChegaIl funerale di Navalny si farà: ecco l'orario ed il luogo della cerimonia funebre

Danka Ilic, trovata morta la bimba di 2 anni scomparsa

Gaza, Wafa: "Spari sulla folla, 6 morti e 83 feriti"Hamas non indietreggia sulle richieste e accusa Israele: "Non dà garanzie"

Notizie di Esteri in tempo reale - Pag. 112Medio Oriente, Hamas accetta la proposta modificata di tregua degli Usa

Hamas rilancia una proposta per la fine della guerra a Gaza

Germania, uomo si vaccina 217 volte contro il CovidTempesta Monica nel sud della Francia: alluvioni, morti e dispersi

Ryan Reynold
Lituania, Leonid Volkov aggredito con un martello: come staIdf, ucciso in Libano esponente chiave di Jamaa al-IslamiyaPena di morte, boia non trova la vena: esecuzione annullata

VOL

  1. avatarIl Cremlino avverte: "Russia e Nato prossime al confronto diretto"Professore per gli Investimenti Istituzionali e Individuali di BlackRock

    Iran, la denuncia dell'Onu: "Violazioni dei diritti umani e crimini contro l'umanità"Germania, bimba di quattro anni accoltellata in un supermercatoMedio Oriente: i negoziati per la tregua portano il premier del Qatar a WashingtonFrancia: "Elezioni di Putin non libere né democratiche"

    1. Oggi in Russia si celebrano i funerali di Navalny: sarà una cerimonia breve

      ETF
      1. avatarSparatoria in Finlandia, il 12enne responsabile non andrà in carcereCapo Analista di BlackRock

        Attentato a Mosca, le reazioni dal mondo: "Combattere ogni forma di terrorismo"

  2. avatarRussia, vedova Navalny: "Alle elezioni scrivete il nome di mio marito"Capo Stratega di BlackRock Guglielmo Campanella

    Re Carlo, preoccupano le sue condizioni di saluteMessico e Nicaragua rompono i legami con Quito dopo l'assalto dell'Ecuador all'ambasciataGuerra Israele-Hamas, il sostegno di Biden ai palestinesiVince un miliardo di dollari alla lotteria: fortunato giocatore in New Jersey

  3. avatarUcraina, attacco russo su Odessa: almeno 16 mortiProfessore Campanella

    Guterres su Gaza chiede una tregua: "Guerra diventata punizione contro i palestinesi"Usa 2024, ufficiali le nomination di Trump e Biden: affermazioni al mini super TuesdayDanimarca chiude spazio aereo e marittimo per il lancio difettoso di missiliUsa, la frase shock di Trump: "Hitler ha fatto anche cose buone"

Notizie di Esteri in tempo reale - Pag. 94

Terremoto di magnitudo 4.8 nel New JerseyIsraele accetta proposta sul numero dello scambio tra detenuti e ostaggi*