Introduzione all'algoritmo AdaBoost

L'algoritmo AdaBoost può essere utilizzato per migliorare le prestazioni di qualsiasi algoritmo di apprendimento automatico. L'apprendimento automatico è diventato uno strumento potente che può fare previsioni basate su una grande quantità di dati. Negli ultimi tempi è diventato così popolare che l'applicazione dell'apprendimento automatico si trova nelle nostre attività quotidiane. Un esempio comune è quello di ottenere suggerimenti per i prodotti durante lo shopping online in base agli articoli passati acquistati dal cliente. L'apprendimento automatico, spesso indicato come analisi predittiva o modellazione predittiva, può essere definito come la capacità dei computer di apprendere senza essere programmati esplicitamente. Utilizza algoritmi programmati per analizzare i dati di input per prevedere l'output in un intervallo accettabile.

Che cos'è l'algoritmo AdaBoost?

Nell'apprendimento automatico, il potenziamento ha avuto origine dalla domanda se un insieme di classificatori deboli potesse essere convertito in un classificatore forte. Uno studente debole o un classificatore è uno studente che è meglio delle ipotesi casuali e questo sarà robusto nel sovra-adattamento come in un ampio set di classificatori deboli, ogni classificatore debole è migliore di quello casuale. Come classificatore debole, viene generalmente utilizzata una semplice soglia su una singola funzione. Se la funzione è superiore alla soglia di quanto previsto, appartiene a positivo altrimenti appartiene a negativo.

AdaBoost è l'acronimo di "Adaptive Boosting" che trasforma gli studenti deboli o predittori in predittori forti al fine di risolvere i problemi di classificazione.

Per la classificazione, l'equazione finale può essere messa come di seguito:

Qui f m indica il classificatore debole e m rappresenta il suo peso corrispondente.

Come funziona l'algoritmo di AdaBoost?

AdaBoost può essere utilizzato per migliorare le prestazioni degli algoritmi di apprendimento automatico. È usato al meglio con discenti deboli e questi modelli raggiungono un'elevata precisione al di sopra della possibilità casuale su un problema di classificazione. Gli algoritmi comuni con AdaBoost utilizzati sono alberi decisionali di livello uno. Uno studente debole è un classificatore o un predittore che ha prestazioni relativamente scarse in termini di precisione. Inoltre, si può dire che gli studenti deboli sono semplici da calcolare e che molti esempi di algoritmi sono combinati per creare un forte classificatore attraverso il potenziamento.

Se prendiamo un set di dati contenente n numero di punti e consideriamo quanto segue

-1 rappresenta la classe negativa e 1 indica positivo. Viene inizializzato come di seguito, il peso per ciascun punto dati come:

Se consideriamo l'iterazione da 1 a M per m, otterremo l'espressione seguente:

Innanzitutto, dobbiamo selezionare il classificatore debole con l'errore di classificazione più basso ponderato adattando i classificatori deboli al set di dati.

Quindi calcolando il peso per il classificatore debole come di seguito:

Il peso è positivo per qualsiasi classificatore con una precisione superiore al 50%. Il peso aumenta se il classificatore è più preciso e diventa negativo se il classificatore ha una precisione inferiore al 50%. La previsione può essere combinata invertendo il segno. Invertendo il segno della previsione, un classificatore con una precisione del 40% può essere convertito in una precisione del 60%. Quindi il classificatore contribuisce alla previsione finale, anche se ha prestazioni peggiori rispetto all'ipotesi casuale. Tuttavia, la previsione finale non fornirà alcun contributo o otterrà informazioni dal classificatore con precisione del 50%. Il termine esponenziale nel numeratore è sempre maggiore di 1 per un caso classificato erroneamente dal classificatore ponderato positivo. Dopo l'iterazione, i casi classificati male vengono aggiornati con pesi maggiori. I classificatori ponderati negativi si comportano allo stesso modo. Ma c'è una differenza che dopo che il segno è invertito; le classificazioni corrette originariamente si convertiranno in errata classificazione. La previsione finale può essere calcolata prendendo in considerazione ciascun classificatore e quindi eseguendo la somma della loro previsione ponderata.

Aggiornamento del peso per ciascun punto dati come di seguito:

Z m è qui il fattore di normalizzazione. Si assicura che la somma totale di tutti i pesi di istanza diventi uguale a 1.

A cosa serve l'algoritmo di AdaBoost?

AdaBoost può essere utilizzato per il rilevamento di volti in quanto sembra essere l'algoritmo standard per il rilevamento di volti nelle immagini. Utilizza una cascata di rifiuto composta da molti strati di classificatori. Quando la finestra di rilevamento non viene riconosciuta in alcun livello come volto, viene rifiutata. Il primo classificatore nella finestra scarta la finestra negativa mantenendo il costo computazionale al minimo. Sebbene AdaBoost combini i classificatori deboli, i principi di AdaBoost vengono utilizzati anche per trovare le migliori caratteristiche da utilizzare in ogni livello della cascata.

Pro e contro dell'algoritmo di AdaBoost

Uno dei molti vantaggi dell'algoritmo AdaBoost è che è veloce, semplice e facile da programmare. Inoltre, ha la flessibilità di essere combinato con qualsiasi algoritmo di apprendimento automatico e non è necessario ottimizzare i parametri ad eccezione di T. È stato esteso a problemi di apprendimento oltre la classificazione binaria ed è versatile in quanto può essere utilizzato con testo o numeri dati.

AdaBoost presenta anche alcuni svantaggi, come risulta da prove empiriche e particolarmente vulnerabile al rumore uniforme. Classificatori deboli essendo troppo deboli possono portare a margini bassi e sovra-adattamento.

Esempio di algoritmo AdaBoost

Possiamo prendere in considerazione un esempio di ammissione di studenti a un'università in cui saranno ammessi o negati. Qui i dati quantitativi e qualitativi possono essere trovati da diversi aspetti. Ad esempio, il risultato dell'ammissione che potrebbe essere sì / no può essere quantitativo mentre qualsiasi altra area come abilità o hobby degli studenti può essere qualitativa. Possiamo trovare facilmente la corretta classificazione dei dati di allenamento meglio della possibilità di condizioni come se lo studente è bravo in una determinata materia, quindi è ammesso. Ma è difficile trovare previsioni estremamente accurate e quindi entrano in gioco gli studenti deboli.

Conclusione

AdaBoost aiuta a scegliere il set di formazione per ogni nuovo classificatore che viene addestrato in base ai risultati del classificatore precedente. Anche combinando i risultati; determina quanto peso dovrebbe essere dato alla risposta proposta di ciascun classificatore. Combina gli studenti deboli per crearne uno forte per correggere gli errori di classificazione, che è anche il primo algoritmo di potenziamento riuscito per problemi di classificazione binaria.

Articoli consigliati

Questa è stata una guida per l'algoritmo AdaBoost. Qui abbiamo discusso il concetto, gli usi, il funzionamento, i pro e i contro con l'esempio. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più -

  1. Algoritmo Naive Bayes
  2. Domande di intervista di marketing sui social media
  3. Strategie di link building
  4. Piattaforma di social media marketing

Categoria: