L'apprendimento automatico è una delle tecnologie più popolari per creare modelli predittivi per varie attività complesse di regressione e classificazione. Macchina per l'aumento del gradiente (GBM) è considerato uno degli algoritmi di potenziamento più potenti.
Sebbene ci siano così tanti algoritmi utilizzati nell'apprendimento automatico, il potenziamento degli algoritmi è diventato mainstream nella comunità dell'apprendimento automatico in tutto il mondo. La tecnica di potenziamento segue il concetto di apprendimento d'insieme e quindi combina più modelli semplici (studenti deboli o stimatori di base) per generare l'output finale. GBM è anche utilizzato come metodo d'insieme nell'apprendimento automatico che converte gli studenti deboli in studenti forti. In questo argomento, 'GBM nell'apprendimento automatico' discuteremo degli algoritmi di machine learning del gradiente, dei vari algoritmi di potenziamento nell'apprendimento automatico, della storia di GBM, di come funziona, delle varie terminologie utilizzate in GBM, ecc. Ma prima di iniziare, comprendere il concetto di potenziamento e i vari algoritmi di potenziamento nell'apprendimento automatico.
Che cos'è il potenziamento nel machine learning?
Il potenziamento è una delle tecniche di modellazione dell'insieme di apprendimento più diffuse utilizzata per costruire classificatori forti da vari classificatori deboli. Inizia con la creazione di un modello primario dai set di dati di addestramento disponibili, quindi identifica gli errori presenti nel modello di base. Dopo aver identificato l'errore, viene creato un modello secondario e successivamente in questo processo viene introdotto un terzo modello. In questo modo, il processo di introduzione di più modelli viene continuato finché non si ottiene un set di dati di addestramento completo in base al quale il modello prevede correttamente.
AdaBoost (boost adattivo) è stato il primo algoritmo di potenziamento a combinare vari classificatori deboli in un unico classificatore forte nella storia dell'apprendimento automatico. Si concentra principalmente sulla risoluzione di compiti di classificazione come la classificazione binaria.
Passaggi per potenziare gli algoritmi:
Ci sono alcuni passaggi importanti per potenziare l'algoritmo come segue:
- Considera un set di dati con punti dati diversi e inizializzalo.
- Ora, dai lo stesso peso a ciascuno dei punti dati.
- Assumere questo peso come input per il modello.
- Identificare i punti dati classificati in modo errato.
- Aumentare il peso per i punti dati nel passaggio 4.
- Se ottieni un output appropriato, termina questo processo altrimenti segui nuovamente i passaggi 2 e 3.
Esempio:
Supponiamo di avere tre modelli diversi con le relative previsioni e che funzionino in modi completamente diversi. Ad esempio, il modello di regressione lineare mostra una relazione lineare nei dati mentre il modello dell'albero decisionale tenta di catturare la non linearità nei dati come mostrato nell'immagine seguente.
Inoltre, invece di utilizzare questi modelli separatamente per prevedere il risultato, se li utilizziamo sotto forma di serie o combinazione, otteniamo un modello risultante con informazioni corrette rispetto a tutti i modelli di base. In altre parole, invece di utilizzare la previsione individuale di ciascun modello, se utilizzassimo la previsione media di questi modelli, saremmo in grado di acquisire più informazioni dai dati. Si chiama apprendimento d'insieme e il potenziamento si basa anche su metodi d'insieme nell'apprendimento automatico.
Potenziare gli algoritmi nell'apprendimento automatico
Esistono principalmente 4 algoritmi di potenziamento nell'apprendimento automatico. Questi sono i seguenti:
Che cos'è il GBM nel machine learning?
Gradient Boosting Machine (GBM) è uno dei metodi di ensemble di forward learning più popolari nell'apprendimento automatico. È una tecnica potente per costruire modelli predittivi per attività di regressione e classificazione.
GBM ci aiuta a ottenere un modello predittivo sotto forma di un insieme di modelli di previsione deboli come gli alberi decisionali. Ogni volta che un albero decisionale funziona come un apprendimento debole, l'algoritmo risultante è chiamato alberi con gradiente potenziato.
Ci consente di combinare le previsioni di vari modelli di apprendimento e costruire un modello predittivo finale con la previsione corretta.
javascript
Ma qui potrebbe sorgere una domanda se stiamo applicando lo stesso algoritmo: come più alberi decisionali possono fornire previsioni migliori rispetto a un singolo albero decisionale? Inoltre, in che modo ciascun albero decisionale acquisisce informazioni diverse dagli stessi dati?
Quindi, la risposta a queste domande è che i nodi di ciascun albero decisionale prendono un diverso sottoinsieme di funzionalità per selezionare la migliore suddivisione. Ciò significa che ogni albero si comporta in modo diverso e quindi cattura segnali diversi dagli stessi dati.
Come funziona GBM?
In generale, la maggior parte degli algoritmi di apprendimento supervisionato si basa su un singolo modello predittivo come la regressione lineare, il modello di regressione penalizzata, gli alberi decisionali, ecc. Ma ci sono alcuni algoritmi supervisionati in ML che dipendono da una combinazione di vari modelli insieme attraverso l'insieme. In altre parole, quando più modelli base contribuiscono con le loro previsioni, una media di tutte le previsioni viene adattata potenziando gli algoritmi.
Le macchine per l'aumento del gradiente sono costituite da 3 elementi come segue:
- Funzione di perdita
- Studenti deboli
- Modello additivo
Comprendiamo questi tre elementi nel dettaglio.
1. Funzione di perdita:
Tuttavia, esiste una grande famiglia di funzioni di perdita nell'apprendimento automatico che possono essere utilizzate a seconda del tipo di attività da risolvere. L'uso della funzione di perdita è stimato dalla richiesta di caratteristiche specifiche della distribuzione condizionale come la robustezza. Quando utilizziamo una funzione di perdita nel nostro compito, dobbiamo specificare la funzione di perdita e la funzione per calcolare il gradiente negativo corrispondente. Una volta ottenute queste due funzioni, possono essere facilmente implementate nelle macchine per l'aumento del gradiente. Tuttavia, sono già state proposte diverse funzioni di perdita per gli algoritmi GBM.
Classificazione della funzione di perdita:
In base al tipo di variabile di risposta y, la funzione di perdita può essere classificata in diversi tipi come segue:
dove trovo le impostazioni del mio browser?
- Funzione di perdita gaussiana di L2
- Funzione di perdita L1 di Laplace
- Funzione di perdita di Huber, δ specificata
- Funzione di perdita quantilica, α specificata
- Funzione di perdita binomiale
- Funzione di perdita Adaboost
- Funzioni di perdita per modelli di sopravvivenza
- Le funzioni di perdita contano i dati
- Funzioni di perdita personalizzate
2. Studente debole:
Gli studenti deboli sono i modelli di apprendimento di base che imparano dagli errori passati e aiutano a costruire un forte modello predittivo per potenziare gli algoritmi nell'apprendimento automatico. In generale, gli alberi decisionali funzionano come studenti deboli nel potenziare gli algoritmi.
Il potenziamento è definito come il quadro che lavora continuamente per migliorare l'output dei modelli di base. Molte applicazioni di potenziamento del gradiente ti consentono di 'collegare' varie classi di studenti deboli a tua disposizione. Pertanto, gli alberi decisionali vengono spesso utilizzati per gli studenti deboli (di base).
Come formare gli studenti deboli:
L'apprendimento automatico utilizza set di dati di addestramento per formare gli studenti di base e, in base alla previsione dello studente precedente, migliora le prestazioni concentrandosi sulle righe dei dati di addestramento in cui l'albero precedente presentava gli errori o i residui maggiori. Per esempio. gli alberi poco profondi sono considerati alberi di apprendimento deboli per le decisioni poiché contengono alcune suddivisioni. Generalmente, negli algoritmi di potenziamento, sono più comuni gli alberi con un massimo di 6 suddivisioni.
Di seguito è riportata una sequenza di formazione per lo studente debole per migliorare le proprie prestazioni in cui ogni albero è nella sequenza con i residui dell'albero precedente. Inoltre, stiamo introducendo ogni nuovo albero in modo che possa imparare dagli errori dell'albero precedente. Questi sono i seguenti:
- Considera un set di dati e inserisci al suo interno un albero decisionale.
F1(x)=y - Adatta il successivo albero decisionale con gli errori maggiori dell'albero precedente.
h1(x)=y?F1(x) - Aggiungi questo nuovo albero all'algoritmo aggiungendo entrambi nei passaggi 1 e 2.
F2(x)=F1(x)+h1(x) - Adatta nuovamente l'albero decisionale successivo con i residui dell'albero precedente.
h2(x)=y?F2(x) - Ripeti lo stesso che abbiamo fatto nel passaggio 3.
F3(x)=F2(x)+h2(x)
Continuare questo processo finché qualche meccanismo (ad esempio la convalida incrociata) non ci dice di fermarci. Il modello finale qui è un modello additivo per fasi di b singoli alberi:
f(x)=B∑b=1fb(x)Pertanto, gli alberi vengono costruiti con avidità, scegliendo i migliori punti di divisione in base ai punteggi di purezza come Gini o minimizzando la perdita.
3. Modello additivo:
Il modello additivo è definito come l'aggiunta di alberi al modello. Anche se non dovremmo aggiungere più alberi alla volta, è necessario aggiungere un solo albero in modo che gli alberi esistenti nel modello non vengano modificati. Inoltre, possiamo anche preferire il metodo della discesa in pendenza aggiungendo alberi per ridurre la perdita.
Negli ultimi anni, il metodo della discesa del gradiente è stato utilizzato per ridurre al minimo l’insieme di parametri come il coefficiente dell’equazione di regressione e il peso in una rete neurale. Dopo aver calcolato l'errore o la perdita, il parametro del peso viene utilizzato per ridurre al minimo l'errore. Ma recentemente, la maggior parte degli esperti di ML preferisce sottomodelli di apprendimento deboli o alberi decisionali come sostituti di questi parametri. In cui dobbiamo aggiungere un albero nel modello per ridurre l'errore e migliorare le prestazioni di quel modello. In questo modo, la previsione dell'albero appena aggiunto viene combinata con la previsione della serie di alberi esistente per ottenere una previsione finale. Questo processo continua finché la perdita non raggiunge un livello accettabile o non è più necessario alcun miglioramento.
Questo metodo è noto anche come discesa del gradiente funzionale o discesa del gradiente con funzioni.
MACCHINA PER L'AUMENTO DEL GRADIENTE ESTREMO (XGBM)
XGBM è l'ultima versione delle macchine per l'incremento del gradiente che funziona in modo molto simile a GBM. In XGBM, gli alberi vengono aggiunti in sequenza (uno alla volta) che imparano dagli errori degli alberi precedenti e li migliorano. Sebbene gli algoritmi XGBM e GBM siano simili nell'aspetto, ci sono comunque alcune differenze tra loro come segue:
- XGBM utilizza varie tecniche di regolarizzazione per ridurre l'under-fitting o l'over-fitting del modello, il che aumenta anche le prestazioni del modello più delle macchine per il potenziamento del gradiente.
- XGBM segue l'elaborazione parallela di ciascun nodo, mentre GBM no, il che lo rende più rapido delle macchine con potenziamento del gradiente.
- XGBM ci aiuta a eliminare l'imputazione dei valori mancanti perché per impostazione predefinita il modello se ne occupa. Apprende da solo se questi valori devono trovarsi nel nodo destro o sinistro.
Macchine per l'incremento del gradiente di luce (Light GBM)
Light GBM è una versione più aggiornata della macchina per l'aumento del gradiente grazie alla sua efficienza e velocità elevata. A differenza di GBM e XGBM, può gestire un'enorme quantità di dati senza alcuna complessità. D'altra parte, non è adatto per quei punti dati che sono in numero inferiore.
Invece della crescita a livello, Light GBM preferisce la crescita dei nodi dell'albero a livello delle foglie. Inoltre, nel GBM leggero, il nodo primario viene diviso in due nodi secondari e successivamente sceglie un nodo secondario da dividere. Questa divisione di un nodo secondario dipende da quale tra due nodi ha una perdita maggiore.
Pertanto, a causa della suddivisione fogliare, l'algoritmo Light Gradient Boosting Machine (LGBM) è sempre preferito rispetto ad altri in cui viene fornita una grande quantità di dati.
CATBOOST
L'algoritmo catboost viene utilizzato principalmente per gestire le caratteristiche categoriche in un set di dati. Sebbene gli algoritmi GBM, XGBM e Light GBM siano adatti per set di dati numerici, Catboost è progettato per gestire variabili categoriali in dati numerici. Pertanto, l'algoritmo catboost consiste in una fase di preelaborazione essenziale per convertire le caratteristiche categoriali in variabili numeriche che non sono presenti in nessun altro algoritmo.
Vantaggi del potenziamento degli algoritmi:
- Gli algoritmi di potenziamento seguono l'apprendimento dell'insieme che consente a un modello di fornire una previsione più accurata che non può essere superata.
- Gli algoritmi di potenziamento sono molto più flessibili rispetto ad altri algoritmi in quanto possono ottimizzare diverse funzioni di perdita e forniscono diverse opzioni di ottimizzazione degli iperparametri.
- Non richiede la pre-elaborazione dei dati perché è adatto sia per variabili numeriche che categoriali.
- Non richiede l'imputazione di valori mancanti nel set di dati, gestisce automaticamente i dati mancanti.
Svantaggi del potenziamento degli algoritmi:
Di seguito sono riportati alcuni svantaggi del potenziamento degli algoritmi:
- Il potenziamento degli algoritmi può causare un adattamento eccessivo e un'enfasi eccessiva sui valori anomali.
- L'algoritmo di potenziamento del gradiente si concentra continuamente per ridurre al minimo gli errori e richiede più alberi, pertanto è computazionalmente costoso.
- È un algoritmo che richiede molto tempo ed esaurisce la memoria.
- Di natura meno interpretativa, sebbene possa essere facilmente affrontata con vari strumenti.
Conclusione:
In questo modo, abbiamo imparato a potenziare gli algoritmi per la modellazione predittiva nell’apprendimento automatico. Inoltre, abbiamo discusso vari importanti algoritmi di potenziamento utilizzati in ML come GBM, XGBM, light GBM e Catboost. Inoltre, abbiamo visto vari componenti (funzione di perdita, studente debole e modello additivo) e come il GBM interagisce con essi. In che modo gli algoritmi di potenziamento sono vantaggiosi per l'implementazione in scenari del mondo reale, ecc.