Machine-Learning

提陞技術是否像任何其他集成方法一樣使用投票?

  • March 8, 2017

我們可以通過使用投票來概括所有集成方法嗎?提升方法是否也使用投票來讓弱學習者進入最終模型?

我對技術的理解:

  • Boosting:不斷添加弱學習器來提升未正確分類的數據點。
  • 集成技術:使用多個學習器來獲得比單獨一個更好的預測。這在維基百科中有解釋。

Boosting一般可以理解為(加權)投票

在 boosting 的情況下,它的一位發明者在AdaBoost的介紹中給出了肯定的答案(重點是我的):

最終組合假設 計算弱假設的加權組合的符號

這相當於說計算為弱假設的加權多數票 每個都被分配權重. (在本章中,我們交替使用術語“假設”和“分類器”。)

所以是的,返回的最終模型是所有經過該迭代訓練的弱學習者的加權投票。同樣,您可以在Wikipedia上找到有關一般提升的這段代碼:

雖然 boosting 在算法上不受限制,但大多數 boosting 算法都包括迭代地學習關於分佈的弱分類器並將它們添加到最終的強分類器中。當它們被添加時,它們通常以某種方式加權,這通常與弱學習器的準確性有關。

還要注意其中提到的原始提升算法使用“多數”。投票的概念非常牢固地融入到 boosting 中:它的指導原則是在每次迭代中通過添加一個新的投票者來改進一個集成,然後決定給每個投票多少權重。

梯度提升的例子也有同樣的直覺:在每次迭代中我們找到了一個新的學習者擬合偽殘差,然後優化決定給予多少重量的“投票”。

擴展到所有集成方法會遇到反例

事實上,有些人會發現,即使是加權的概念也延伸了投票的隱喻。在考慮是否將這種直覺擴展到所有 集成學習方法時,請考慮以下代碼段:

集合結合了多個假設以形成(希望)更好的假設。集成一詞通常保留給使用相同基礎學習器生成多個假設的方法。

而這個關於堆疊的示例集成方法:

堆疊(有時稱為堆疊泛化)涉及訓練學習算法以結合其他幾種學習算法的預測。首先,使用可用數據訓練所有其他算法,然後訓練組合算法以使用其他算法的所有預測作為附加輸入來進行最終預測。如果使用任意組合器算法,則堆疊理論上可以代表本文中描述的任何集成技術,儘管在實踐中,通常使用單層邏輯回歸模型作為組合器。

如果您正在定義集成方法以包含帶有任意組合器的堆疊方法,那麼您可以構建在我看來將投票概念延伸到其極限之外的方法。很難看出通過決策樹或神經網絡組合的弱學習器集合如何被視為“投票”。(暫且不提這個方法什麼時候可以證明實際有用的難題。)

一些介紹將合奏和投票描述為同義詞;我對最近關於這些方法的文獻不太熟悉,無法說明這些術語最近是如何應用的,但我希望這個答案能說明投票概念的延伸範圍。

引用自:https://stats.stackexchange.com/questions/266249

comments powered by Disqus