機器學習中的 Bagging 與 Boosting:Bagging 和 Boosting 的區別

已發表: 2020-11-12

由於機器學習應用程序的普及和計算能力的提高,數據科學家已經固有地對數據集實施了算法。 實現算法的關鍵是產生偏差和方差的方式。 通常首選具有低偏差的模型。

組織使用有監督的機器學習技術(例如決策樹)來做出更好的決策並產生更多利潤。 不同的決策樹組合在一起時,可以形成集成方法並提供預測結果。

使用集成模型的主要目的是將一組弱學習器分組,形成一個強學習器。 它的完成方式在兩種技術中定義:Bagging 和 Boosting,它們的工作方式不同,並且可以互換使用,以獲得具有高精度和準確度以及更少錯誤的更好結果。 使用集成方法,將多個模型組合在一起以產生強大的模型。

這篇博文將介紹集成學習的各種概念。 首先,理解集成方法將為學習相關方法和設計適應解決方案開闢道路。 此外,我們將討論 Bagging 和 Boosting 的擴展概念,以便讀者清楚地了解這兩種方法的不同之處、它們的基本應用以及從兩者中獲得的預測結果。

加入來自世界頂級大學的機器學習在線課程——機器學習和人工智能領域的碩士、高級管理人員研究生課程和高級證書課程,以加快您的職業生涯。

目錄

什麼是集成方法?

集成是機器學習算法中使用的一種方法。 在這種方法中,多個模型或“弱學習者”被訓練以糾正相同的問題並整合以獲得預期的結果。 弱模型組合正確地給出了準確的模型。

首先,需要基礎模型來建立一個集成學習方法,然後進行聚類。 在 Bagging 和 Boosting 算法中,使用了單一的基礎學習算法。 這背後的原因是我們手頭會有同質的弱學習器,它們將以不同的方式進行訓練。

以這種方式製作的集成模型最終將被稱為同質模型。 但故事並沒有到此結束。 在某些方法中,不同類型的基礎學習算法也隱含在異構弱學習器中,從而形成“異構集成模型”。 但是在這篇博客中,我們將只處理前一個集成模型,並討論兩種最流行的集成方法。

  1. Bagging是一種同質弱學習器模型,它並行地相互獨立學習,並將它們組合起來確定模型平均值。
  2. Boosting也是一種同質弱學習器模型,但與 Bagging 的工作方式不同。 在這個模型中,學習者順序和自適應地學習,以改進學習算法的模型預測。

這就是 Bagging 和 Boosting。 讓我們詳細看看它們。 導致學習錯誤的一些因素是噪聲、偏差和方差。 使用集成方法來減少這些因素,從而導致結果的穩定性和準確性。

另請閱讀:機器學習項目理念

裝袋

Bagging 是“Bootstrap Aggregation”的首字母縮寫詞,用於減少預測模型中的方差。 Bagging 是一種並行方法,它適合不同的、被認為相互獨立的學習者,從而可以同時訓練他們。

Bagging 從數據集中生成用於訓練的額外數據。 這是通過從原始數據集中進行替換的隨機抽樣來實現的。 替換抽樣可能會在每個新的訓練數據集中重複一些觀察。 Bagging 中的每個元素都同樣有可能出現在新數據集中。

這些多數據集用於並行訓練多個模型。 計算來自不同集成模型的所有預測的平均值。 在進行分類時會考慮從投票機制中獲得的多數票。 Bagging 降低了方差並將預測調整為預期結果。

Bagging 示例:

隨機森林模型使用 Bagging,其中存在具有較高方差的決策樹模型。 它進行隨機特徵選擇來種植樹木。 幾棵隨機樹組成一個隨機森林。

提升

Boosting 是一種順序集成方法,它根據最後一個分類迭代地調整觀察權重。 如果一個觀察被錯誤地分類,它會增加該觀察的權重。 外行語言中的“Boosting”一詞是指將弱學習器轉換為更強學習器的算法。 它減少了偏差誤差並建立了強大的預測模型。

發現每次迭代中錯誤預測的數據點,並增加它們的權重。 Boosting 算法在訓練期間為每個結果模型分配權重。 具有良好訓練數據預測結果的學習器將被分配更高的權重。 在評估新學習者時,Boosting 會跟踪學習者的錯誤。

提升示例:

AdaBoost 使用 Boosting 技術,維護模型所需的誤差減少了 50%。 在這裡,Boosting 可以保留或丟棄單個學習器。 否則,重複迭代直到獲得更好的學習器。

Bagging 和 Boosting 的異同

Bagging 和 Boosting 都是常用的方法,具有普遍的相似性,被歸類為集成方法。 在這裡,我們將強調它們之間的更多相似之處,然後是它們彼此之間的差異。 讓我們首先從相似之處開始,因為理解這些將使理解差異更容易。

Bagging 和 Boosting:相似之處

  1. Bagging 和 Boosting 是專注於從單個學習器中獲取 N 個學習器的集成方法。
  2. Bagging 和 Boosting 進行隨機抽樣並生成多個訓練數據集
  3. Bagging 和 Boosting 通過平均 N 個學習者或接受其中大多數人的投票排名來做出最終決定。
  4. Bagging 和 Boosting 可減少方差並提供更高的穩定性,同時最大限度地減少錯誤。

閱讀:機器學習模型解釋

Bagging 和 Boosting:差異

正如我們已經說過的,

Bagging 是一種合併相同類型預測的方法。 Boosting是一種合併不同類型預測的方法。

Bagging 減少了方差,而不是偏差,並解決了模型中的過度擬合問題。 提升會減少偏差,而不是方差。

在 Bagging 中,每個模型都獲得相同的權重。 在 Boosting 中,模型根據其性能進行加權。

模型是在 Bagging 中獨立構建的。 新模型會受到先前構建的模型在 Boosting 中的性能的影響。

在 Bagging 中,訓練數據子集是隨機抽取的,並替換為訓練數據集。 在 Boosting 中,每個新子集都包含被先前模型錯誤分類的元素。

Bagging 通常應用於分類器不穩定且方差較大的情況。 Boosting 通常應用於分類器穩定、簡單且具有高偏差的情況。

Bagging 和 Boosting:結論性總結

既然我們已經徹底描述了 Bagging 和 Boosting 的概念,我們已經到了文章的結尾,並且可以得出結論,兩者在數據科學中是同等重要的,以及在模型中應用的位置取決於給定的數據集,它們的模擬和給定的情況。 因此,一方面,在隨機森林模型中,使用了 Bagging,而 AdaBoost 模型隱含了 Boosting 算法。

機器學習模型的性能是通過比較其訓練準確度和驗證準確度來計算的,這是通過將數據分成兩組來實現的:訓練集和驗證集。 訓練集用於訓練模型,驗證集用於評估。

您可以與upGrad一起查看IIT 德里的機器學習執行 PG 計劃IIT德里是印度最負盛名的機構之一。 擁有超過 500 多名在主題方面最優秀的內部教職員工。

為什麼 bagging 比 boosting 更好?

Bagging 從數據集中創建額外的訓練數據。 使用來自原始數據集的隨機抽樣和替換來實現這一點。 在每個新的訓練數據集中,替換抽樣可能會重複某些觀察。 每個 Bagging 元素都有相同的機會出現在新的數據集中。 使用這些多數據集並行訓練多個模型。 它是來自多個集成模型的所有預測的平均值。 在確定分類時,會考慮通過投票過程獲得的多數票。 Bagging 減少了變化並將預測微調到所需的結果。

bagging 和 boosting 的主要區別是什麼?

Bagging 是一種通過將重複與組合相結合以創建原始數據的多組來從數據集中生成用於訓練的額外數據來減少預測方差的技術。 Boosting 是一種迭代策略,用於根據之前的分類調整觀察值的權重。 如果它被錯誤地分類,它會嘗試增加觀察的權重。 Boosting 通常會創建良好的預測模型。

bagging 和 boosting 有什麼相似之處?

Bagging 和 boosting 是旨在從單個學習器中產生 N 個學習器的集成策略。 他們隨機抽樣並創建許多訓練數據集。 他們通過平均 N 個學習者的投票或選擇其中大多數人的投票等級來做出最終決定。 它們減少了差異並增加了穩定性,同時減少了錯誤。