top of page

Come valutare algoritmi di Machine Learning o Apprendimento Automatico


Una volta definito il problema e preparato i dati , è necessario applicare algoritmi di apprendimento automatico ai dati per risolvere il problema.


Puoi dedicare molto tempo alla scelta, all'esecuzione e all'ottimizzazione degli algoritmi. Vuoi assicurarti di utilizzare il tuo tempo in modo efficace per avvicinarti al tuo obiettivo.

In questo post analizzerai un processo per testare rapidamente gli algoritmi e scoprire se c'è o meno una struttura nel tuo problema per gli algoritmi da apprendere e quali algoritmi sono efficaci.



Come valutare algoritmi di Machine Learning o Apprendimento Automatico
Come valutare algoritmi di Machine Learning o Apprendimento Automatico


Test harness o in italiano Collaudare l'imbragatura

L'imbracatura di prova sono i dati su cui allenerai e testerai un algoritmo e la misura delle prestazioni che utilizzerai per valutarne le prestazioni. È importante definire bene l'imbracatura del test in modo da poterti concentrare sulla valutazione di diversi algoritmi e pensare in profondità al problema.


L'obiettivo del test harness è di essere in grado di testare in modo rapido e coerente gli algoritmi rispetto a una rappresentazione equa del problema da risolvere. Il risultato del test di più algoritmi rispetto all'imbracatura sarà una stima delle prestazioni di una varietà di algoritmi sul problema rispetto a una misura delle prestazioni scelta. Saprai quali algoritmi potrebbero valere la pena mettere a punto il problema e quali non dovrebbero essere considerati ulteriormente.


I risultati ti daranno anche un'indicazione di quanto sia apprendibile il problema. Se una varietà di algoritmi di apprendimento diversi si comportano universalmente in modo scarso sul problema, potrebbe essere un'indicazione di una mancanza di struttura a disposizione degli algoritmi da apprendere. Ciò può essere dovuto al fatto che manca effettivamente una struttura apprendibile nei dati selezionati o potrebbe essere un'opportunità per provare diverse trasformazioni per esporre la struttura agli algoritmi di apprendimento.


Misurazioni di prestazione

La misura delle prestazioni è il modo in cui si desidera valutare una soluzione al problema. È la misurazione che farai delle previsioni fatte da un modello addestrato sul set di dati del test.


Le misure delle prestazioni sono in genere specializzate per la classe di problemi con cui si lavora, ad esempio classificazione, regressione e raggruppamento. Molte misure standard delle prestazioni ti daranno un punteggio significativo per il tuo dominio problematico. Ad esempio, l'accuratezza della classificazione per la classificazione (correzione corretta totale divisa per le previsioni totali moltiplicate per 100 per trasformarla in percentuale).


Potresti anche voler un'analisi più dettagliata delle prestazioni, ad esempio, potresti voler conoscere i falsi positivi su un problema di classificazione dello spam perché una buona email verrà contrassegnata come spam e non può essere letta.


Ci sono molte misure di prestazioni standard tra cui scegliere. Raramente è necessario escogitare da soli una nuova misura delle prestazioni poiché generalmente è possibile trovarne o adattarne una che catturi al meglio i requisiti del problema da risolvere. Osserva i problemi simili che hai scoperto e le misure di performance utilizzate per vedere se è possibile adottarne una.


Testare e addestrare set di dati

Dai dati trasformati, dovrai selezionare un set di test e un set di allenamento. Un algoritmo verrà addestrato sul set di dati di addestramento e verrà valutato rispetto al set di test. Questo può essere semplice come selezionare una suddivisione casuale dei dati (66% per l'addestramento, 34% per i test) o può comportare metodi di campionamento più complicati.


Un modello addestrato non è esposto al set di dati di test durante l'addestramento e qualsiasi previsione effettuata su tale set di dati è progettata per essere indicativa delle prestazioni del modello in generale. Pertanto, vuoi assicurarti che la selezione dei tuoi set di dati sia rappresentativa del problema che stai risolvendo.


Convalida incrociata

Un approccio più sofisticato rispetto all'utilizzo di un set di dati di test e training consiste nell'utilizzare l'intero set di dati trasformato per addestrare e testare un determinato algoritmo. Un metodo che potresti utilizzare nel tuo cablaggio di test per farlo è chiamato convalida incrociata.


In primo luogo, consiste nel separare il set di dati in un numero di gruppi di istanze di dimensioni uguali (chiamati fold). Il modello viene quindi addestrato su tutte le pieghe tranne una che è stata tralasciata e il modello preparato viene testato su quella piega lasciata. Il processo viene ripetuto in modo che ogni piega abbia l'opportunità di essere esclusa e fungere da set di dati di test. Infine, le misure delle prestazioni vengono mediate in tutte le pieghe per stimare la capacità dell'algoritmo sul problema.


Ad esempio, una convalida incrociata 3 volte comporterebbe la formazione e il test di un modello 3 volte:

  • #1: Train on folds 1+2, test on fold 3

  • #2: Train on folds 1+3, test on fold 2

  • #3: Train on folds 2+3, test on fold 1


Il numero di fold può variare in base alle dimensioni del set di dati, ma i numeri comuni sono 3, 5, 7 e 10 pieghe. L'obiettivo è avere un buon equilibrio tra le dimensioni e la rappresentazione dei dati nel treno e nei set di test.


Quando hai appena iniziato, mantieni una semplice suddivisione dei dati del treno e dei test (come 66%/34%) e passa alla convalida incrociata una volta che avrai più fiducia.


Algoritmi di prova

Quando si inizia con un problema e si è definito un cablaggio di test di cui si è soddisfatti, è il momento di controllare a campione una varietà di algoritmi di apprendimento automatico. Il controllo a campione è utile perché consente di vedere molto rapidamente se ci sono strutture apprendibili nei dati e stimare quali algoritmi potrebbero essere efficaci sul problema.


Il controllo a campione ti aiuta anche a risolvere eventuali problemi nell'imbracatura di prova e ad assicurarti che la misura delle prestazioni scelta sia appropriata.


Il miglior primo algoritmo per il controllo a campione è un random. Collega un generatore di numeri casuali per generare previsioni nell'intervallo appropriato. Questo dovrebbe essere il peggior "risultato dell'algoritmo" che si ottiene e sarà la misura con cui tutti i miglioramenti possono essere valutati.


Seleziona 5-10 algoritmi standard appropriati per il tuo problema ed eseguili attraverso il tuo cablaggio di prova. Per algoritmi standard, intendo metodi popolari senza configurazioni speciali. Appropriato per il tuo problema significa che gli algoritmi possono gestire la regressione se hai un problema di regressione.


Scegli i metodi dai raggruppamenti di algoritmi che abbiamo già esaminato. Mi piace includere un mix diversificato e avere 10-20 algoritmi diversi tratti da una vasta gamma di tipi di algoritmi. A seconda della libreria che sto utilizzando, posso controllare fino a oltre 50 metodi popolari per scovare rapidamente metodi promettenti.


Se desideri eseguire molti metodi, potrebbe essere necessario rivedere la preparazione dei dati e ridurre le dimensioni del set di dati selezionato. Ciò potrebbe ridurre la tua fiducia nei risultati, quindi testa con varie dimensioni di set di dati. Potrebbe essere utile utilizzare un set di dati di dimensioni inferiori per il controllo a campione dell'algoritmo e un set di dati più completo per la messa a punto dell'algoritmo.


Riepilogo su Come valutare algoritmi di Machine Learning

In questo post hai appreso l'importanza di impostare un'imbracatura di test affidabile che implichi la selezione di set di dati di test e addestramento e una misura delle prestazioni significativa per il tuo problema.


Hai anche appreso la strategia di controllare a campione una vasta gamma di algoritmi di apprendimento automatico sul tuo problema utilizzando il tuo cablaggio di prova. Hai scoperto che questa strategia può evidenziare rapidamente se esiste una struttura apprendibile nel tuo set di dati (e in caso contrario puoi rivisitare la preparazione dei dati) e quali algoritmi funzionano generalmente bene sul problema (che potrebbero essere candidati per ulteriori indagini e ottimizzazione).


Vuoi mettere in pratica quello che hai letto ?

Oppure segui i tutorial correlati :



PCR (5).gif
PCR (4).gif
PCR.gif
PCR.gif
PCR.gif
PCR.gif
PCR (5).gif
3.gif
Vediamo se riesci a cliccarmi ! Nascondo una Sorpresa... (2).png

Ciao 

🤗 Articoli consigliati dalla nostra
Intelligenza Artificiale in base ai tuoi interessi

Correlazione Alta

Correlazione Media

Correlazione Bassa

Iscriviti

VUOI DIVENTARE UN MEMBRO DI INTELLIGENZA ARTIFICIALE ITALIA GRATUITAMENTE E TRARNE I SEGUENTI BENEFICI?

Corsi Gratis

più di 150 lezioni online

Dataset Gratis

più di 150o dataset

Ebook Gratis

più di 10 libri da leggere

Editor Gratis

un editor python online

Progetti Gratis

più di 25 progetti python

App Gratis

4 servizi web con I.A.

Unisciti Ora a oltre
1.000.000
di lettori e appassionanti d'I.A.

Tutto ciò che riguarda l'intelligenza Artificiale, in unico posto, in italiano e gratis.

MEGLIO DI COSI' NON SI PUO' FARE

Dopo l'iscrizione riceverai diversi Regali

VUOI SCRIVERE ARTICOLI INSIEME A NOI.

Grazie

bottom of page