【问题标题】:What is a weak learner?什么是弱学习者?
【发布时间】:2013-12-24 12:02:45
【问题描述】:

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

【问题讨论】:

    标签: machine-learning ensemble-learning


    【解决方案1】:

    弱学习器基本上是每个特征的阈值。一个简单的例子是一个名为decision stump 的一级决策树,它应用于bagging 或boosting。它只是为一个特征选择一个阈值,并在该阈值上拆分数据(例如,根据petal width 确定鸢尾花是鸢尾花还是维吉尼亚鸢尾)。然后通过 bagging 或 AdaBoost 对这个特定功能进行训练。

    【讨论】:

    • 其实一个问题可能不存在一个弱学习器的树桩学习器:设x_1 = (-1,-1), x_2 = (1,1), x_3 = (-1, 1), x_4 = (1,-1) 是我们的数据点,分类是:y_1 = -1, y_2 = 1, y_3 = 1, y_4 = -1。那么没有一个单特征阈值学习器的误差可以小于 1/2(画出 4 个象限)。有时很难证明弱学习者的存在,但从业者几乎总是忽略这一点(我经常感到内疚)。
    • 谢谢查尔斯。我猜你的意思是 y_1=y_2=-1,在你的例子中 y_3=y_4=1?
    【解决方案2】:

    比随机猜测要好

    这基本上是弱学习器的唯一要求。只要您能够始终击败随机猜测,任何真正的提升算法都能够提高最终集成的准确性。那么你应该选择的弱学习器是 3 个因素之间的权衡:

    1. 模型的偏差。较低的偏差几乎总是更好,但您不想选择会过拟合的东西(是的,boosting 可以而且确实会过拟合)
    2. 弱学习器的训练时间。一般来说,我们希望能够快速学习弱学习器,因为我们将构建数百(或数千)个。
    3. 弱学习器的预测时间。如果我们使用预测速度较慢的模型,我们的集成会慢几百倍!

    经典的弱学习器是决策树。通过更改树的最大深度,您可以控制所有 3 个因素。这使得它们在提升方面非常受欢迎。您应该使用什么取决于您的个人问题,但决策树是一个很好的起点。

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

    【讨论】:

      猜你喜欢
      • 2012-08-20
      • 2013-09-27
      • 1970-01-01
      • 2013-05-21
      • 2011-06-04
      • 1970-01-01
      • 1970-01-01
      • 2011-02-06
      • 2017-05-29
      相关资源
      最近更新 更多