论弱学习者的“实力”

机器算法验证 机器学习 助推 集成学习
2022-01-27 19:56:37

我有几个与集成学习中的弱学习者密切相关的问题(例如提升)。

  1. 这听起来可能很愚蠢,但是使用弱学习器而不是强学习器有什么好处?(例如,为什么不使用“强”的学习方法来提升?)
  2. 弱学习器是否有某种“最佳”强度(例如,同时保持所有其他集成参数固定)?当谈到他们的实力时,是否有一个“甜蜜点”?
  3. 我们如何衡量弱学习器相对于所得集成方法的强度。我们如何定量测量使用集成的边际收益?
  4. 我们如何比较几种弱学习算法来决定将哪一种用于给定的集成方法?
  5. 如果给定的集成方法对弱分类器的帮助大于对强分类器的帮助,我们如何判断给定的分类器已经“太强”而无法在使用它进行提升时产生任何显着收益?
2个回答

这可能更具装袋精神,但尽管如此:

  • 如果你真的有一个很强的学习者,没有必要通过任何合奏的东西来改进它。
  • 我会说......无关紧要。在简单的混合和装袋中,在提升中制作一个太强的分类器可能会导致收敛的一些突破(即,幸运的预测可能会使下一次迭代预测纯噪声,从而降低性能),但这通常在进行的迭代中得到修复。
  • 同样,这不是真正的问题。这些方法的核心是

    1. 强制部分分类器更深入地研究问题。
    2. 加入他们的预测以衰减噪声并放大信号。

    1) 在 boosting 中需要一些注意(即良好的 boosting 方案,表现良好的部分学习器——但这主要是通过对整个 boost 的实验来判断),2) 在 bagging 和 blending 中(主要是如何确保学习器之间缺乏相关性并且不要过度干扰合奏)。只要这个没问题,偏分类器的准确率就是三阶问题。

首先,“弱”和“强”的概念只是定义较弱。从我的角度来看,它们必须相对于最佳贝叶斯分类器进行定义,这是任何训练算法的目标。考虑到这一点,我对其中三点的答复如下。

  1. 在我看来是计算的。我所知道的大多数弱学习者的计算速度都很快(否则不值得考虑)。集成学习的一个重点正是我们可以结合简单快速但不太好的学习器并提高错误率。如果我们使用更强大(计算要求更高)的学习器,改进的空间会变得更小,但计算成本会变得更大,这使得使用集成方法变得不那么有趣。此外,单个强学习器可能更容易解释。然而,什么是弱什么是强取决于问题和我们试图达到的最佳贝叶斯率。因此,如果一个经常被认为很强的学习器在提升它时仍然有改进的空间并且提升在计算上是可行的,那么做提升......
  2. 这将取决于您用来衡量“最佳”的标准。就错误率而言,我会说不(如果其他人有不同的经历,我欢迎任何更正)。就速度而言,也许,但我想这是高度依赖问题的。我不知道有任何文献解决这个问题,抱歉。
  3. ?
  4. 交叉验证,交叉验证,交叉验证。与任何其他以进行预测为目标的训练方法进行比较一样,我们需要对泛化误差进行无偏估计以进行比较,这可以通过搁置测试数据集或通过交叉验证来近似来实现。