機器學習中的提升演算法 | 提升和 AdaBoost


介紹

提升是一類整合建模演算法,我們從中構建多個弱模型來構建一個強模型。在提升中,所有分類器都串聯存在。首先,在實際訓練資料上訓練單個模型。然後構建第二個分類器,該分類器在第一個模型產生的錯誤上進行訓練,並嘗試糾正前一個模型產生的錯誤。這個過程持續重複,並不斷新增新模型,直到沒有錯誤並且訓練資料的預測準確,或者我們達到了要新增的模型的最大閾值。

提升技術

提升技術減少了模型中的偏差。提升演算法可能會遇到過擬合問題。為了解決過擬合問題,在提升中超引數調整至關重要。

提升的示例包括 AdaBoost、XGBoost 和 CatBoost。

提升方法有哪些優勢?

  • 提升可以幫助提高準確性,因為許多弱學習器的能力被組合起來以產生更好的模型。在迴歸中,每個弱學習器的準確性取平均值,在分類情況下進行多數投票。

  • 提升可以防止過擬合,因為權重會持續調整以最大程度地減少錯誤。

  • 透過提升可以實現更高的可解釋性,因為該過程被細分為多個決策過程。

在本文中,我們將詳細瞭解 AdaBoost 提升技術。

AdaBoost 整合技術

AdaBoost 整合方法也稱為自適應提升。此方法嘗試糾正前驅模型產生的錯誤。在每個步驟中,它都試圖針對前一個模型中存在的擬合不足的訓練資料點進行更多處理。

一系列弱學習器在差異加權的訓練資料上進行訓練。首先,對初始訓練資料進行預測,並對每個觀察值賦予相同的權重。在第一個學習器擬合後,它會對預測錯誤的觀察值賦予更高的權重。這是一個迭代過程,並繼續新增學習器,直到達到最佳準確性。

AdaBoost 通常與決策樹一起用於分類問題。但它也可以用於迴歸。

如果我們檢視 AdaBoost 演算法的決策樹示例,首先在初始訓練資料上訓練決策樹。在擬合過程中被錯誤分類的點的權重會增加。然後新增第二個決策樹分類器,它採用更新後的權重。這是一個迭代過程,並持續重複。我們可以在這裡看到第二個模型增強了來自先前模型的權重。AdaBoost 按順序新增學習器,以產生更好的結果。

此演算法的缺點是它不能並行化。

AdaBoost 的工作步驟

  • 為每個觀察值分配相等的權重

  • 在資料的初始子集上擬合模型。

  • 現在在整個資料上進行預測。

  • 預測值與實際值的偏差會產生誤差。

  • 在此步驟中,在訓練下一個模型時,會為具有較高誤差的錯誤分類點分配更高的權重。

  • 此過程反覆重複,直到誤差值不再發生變化或達到模型閾值。

如何最好地準備 AdaBoost 的資料?

  • 訓練資料的質量應該很豐富,因為 AdaBoost 會嘗試糾正錯誤分類。

  • 應該從訓練資料中去除異常值,否則演算法可能會嘗試糾正不切實際的錯誤。

  • 訓練資料應沒有不必要的噪聲,這些噪聲可能會影響資料的一般質量。

示例

from sklearn.datasets import make_classification
from sklearn.ensemble import AdaBoostClassifier

train_X, train_y = make_classification(n_samples=2000, n_features=30, n_informative=25, n_redundant=5)
clf = AdaBoostClassifier()
clf.fit(train_X, train_y)
test_rowdata = [[-2.56789,1.9012436,0.0490456,-0.945678,-3.545673,1.945555,-7.746789,-2.4566667,-1.845677896,-1.6778994,2.336788043,-4.305666617,0.466641,-1.2866634,-10.6777077,-0.766663,-3.5556621,2.045456,0.055673,0.94545456,0.5677,-1.4567,4.3333,3.89898,1.56565,-0.56565,-0.45454,4.33535,6.34343,-4.42424]]
y_hat = clf.predict(test_rowdata)
print('Class predicted  %d' % y_hat[0])

輸出

Class predicted  0

結論

提升是一種使用多個弱學習器來提高最終準確性和產生更好結果的方法。提升在一定程度上幫助解決了模型中的偏差,並且還防止了過擬合。AdaBoost 整合是一種提升技術,主要集中在應用於錯誤分類點的加權技術上,然後在迭代過程中進行改進。

更新於: 2023年8月27日

389 次瀏覽

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告