什么是弱学习者?

时间:2013-12-06 23:58:21

标签: machine-learning ensemble-learning

我想比较不同分类器的不同错误率与弱学习者的错误率(优于随机猜测)。所以,我的问题是,对于一个简单,易于处理的弱学习者,有哪些选择?或者,我是否错误地理解了这个概念,并且我选择的任何基准测试都是一个弱学习者(例如,线性回归)?

2 个答案:

答案 0 :(得分:36)

  

比随机猜测更好

这基本上是弱学习者的唯一要求。只要你能始终击败随机猜测,任何真正的提升算法都能够提高最终整体的准确性。你应该选择什么弱学习者,然后在3个因素之间进行权衡:

  1. 模型的偏见。较低的偏见几乎总是更好,但你不想挑选一些会过度适应的东西(是的,提升可以并且过度适应)
  2. 弱学习者的训练时间。一般来说,我们希望能够快速学习弱学习者,因为我们将要构建几百(或几千)个学习者。
  3. 我们弱学习者的预测时间。如果我们使用预测速度慢的模型,我们的合奏会慢几百倍!
  4. 经典的弱学习者是决策树。通过更改树的最大深度,您可以控制所有3个因子。这使他们非常受欢迎。你应该使用什么取决于你的个人问题,但决策树是一个很好的起点。

    注意:只要算法支持加权数据实例,任何算法都可用于提升。我大学的一位演讲嘉宾为他在计算生物学方面的工作提升了5层深度神经网络。

答案 1 :(得分:8)

弱学习者基本上是每个功能的阈值。一个简单的例子是一个名为decision stump的1级​​决策树,用于装袋或提升。它只选择一个特征的阈值并在该阈值上分割数据(例如,根据petal width确定虹膜花是虹鸢花还是虹膜鸢尾花)。然后通过装袋或AdaBoost对此特定功能进行培训。