用于提升的基础分类器

机器算法验证 机器学习 助推 集成学习
2022-03-08 12:03:26

Boosting 算法,例如AdaBoost,将多个“弱”分类器组合成一个更强的分类器。尽管理论上任何基分类器都应该可以进行提升,但实际上基于树的分类器似乎是最常见的。

为什么是这样?树分类器的哪些属性使它们最适合这项任务?是否还有其他基础分类器也可以从提升中受益匪浅?我问的是分类问题,但我也对回归应用的答案感兴趣。

2个回答

我很确定您是正确的,并且没有理由一定需要使用决策树而不是其他分类器。也就是说,我认为它们经常被使用有几个原因。速度是一个因素:提升可能需要训练大量分类器。如果每一个都是一个巨大的多层神经网络,整个过程将会非常缓慢。

更重要的是,我认为决策树“足够好”。由于 boosting 背后的整个想法是汇集分类器,因此没有很大的动力去采用可能需要更多调整的重量级解决方案(例如,摆弄 SVM 的超参数和内核)。

最后,提升树和决策树,至少在我看来,在概念上有些相似(例如,添加一个节点/构建一个新分类器)。很多集成学习的东西似乎都使用了树。如果你真的想的话,我认为你可以拥有一个朴素贝叶斯学习者的“随机森林”。

有一些特征可以增加对集成方法的理解的洞察力。

装袋

可能是最简单的集成方法 bagging,它只不过是基于重新采样的训练数据并通过组合方法保持在一起的类似同质分类器的集合,通过平均它们的输出来改善由基分类器的不稳定性引起的方差。集成利用这种不稳定性来解决基分类器误差的方差分量,并在较小程度上解决它们的偏差。

您可以将 bagging 视为为原本非常不稳定的“弱”基分类器提供了显着程度的平滑。除了它们倾向于计算效率之外,为什么选择弱分类器的一个原因是它们表现出更高的多样性,这是合奏的一个有利特征。

如果您将一个装满非常强大的稳定分类器的袋装集成可视化,它们将对呈现给集成的示例分类具有非常高的一致性。实际上,他们都以相同的方式投票。一个所有成员都以类似方式投票的委员会对委员会的任何一个成员几乎没有效用。

因此,为了有效地工作,一个乐团必须在其成员之间接受一定程度的多样性。显然,一个发表几乎随机意见的成员委员会也没有多大用处。所以在这些极端之间寻找一些中间位置。

在实践中,由于不存在关于该主题的完整理论,因此可以使用交叉验证或坚持试验等经验方法找到这种折衷方案。这些用于衡量基础分类器的合适强度。

因为这种对最佳集成的搜索通常会涉及调整基本分类器和集成本身的参数,所以希望这些参数的数量尽可能少。如果不是,参数搜索空间的维数很快意味着找到全局最小值在计算上是难以处理的。决策树是一种流行的选择,因为如前所述,它们可以有效地使用,而无需调整任何参数。

随机森林

随机森林,主要是袋装决策树,通过注入强大的随机分量(树内每个决策节点的少量特征/因素的排列)来利用树的显着不稳定性,在集合中创建多样性。因为一棵树的每个节点都有一个新的随机选择的特征,所以树是高度多样化的。然后,集成具有平均化不同树木集合的方差和偏差的效果。

为了使朴素贝叶斯分类器或任何其他稳定的基础分类器(如 SVM)的“随机森林”有效,需要添加随机元素。对于稳定的分类器,训练数据中相对较小的变化(例如来自 bagging)会导致非常相似的分类器。

为了增加多样性,可以应用其他方法。例如,对每个基本分类器显示的特征进行置换。这有一个限制,即显着的可用多样性被限制在特征集的组合数量上。一旦组合已经用尽,就没有新的分类器可供集成使用,它们会以不同的方式对现有成员进行投票。

对于特征相对较少的问题,这严重限制了可用的分类器池。有可能注入更多的随机性来源,比如通过积极地对训练数据进行二次抽样。证据似乎是,在一般情况下,这种方法不如随机森林提供的偏见和多样性的特定混合。

有可能成功地利用其他不稳定的基分类器,例如具有少量节点和有限训练量的多层感知器(神经网络)或基于点的空间填充方法,例如随机判别,以在集成方法中注入多样性。当然,在 MLP 的情况下,一定程度的参数调整是必不可少的。

提升

与 Bagging 采用的简单凝聚模型相比,Boosting 采用不同的方法来构建集成。我想从概念上讲,如果您将 bagging 视为一个平面集成模型,那么 boosting 会构建一个分层分类器。

根据前一轮的错误分类,每一轮提升从一组由训练数据加权或重采样构建的潜在分类器中选择一个新分类器。选择新的分类器以最小化总集成误差。

这与随机森林集成构建中缺乏选择标准形成鲜明对比。每个新的基分类器都特别需要关注现有集成的弱点,结果是提升积极地降低了训练错误。

在集成构建的早期阶段,boosting 几乎没有弱分类器,每个都专注于训练空间的不同区域,这样做的效果主要是减少偏差。随着集成规模的增长,减少偏差的范围会减小,而方差误差会得到改善。

用于提升的基分类器的不稳定性带来的好处是,随着集成的增长,剩余的错误分类示例的数量会下降。需要更高程度的多样性来生成一个分类器,该分类器对剩余样本采用与其前辈不同的有用视图。

这种方法的强大之处在于,仅使用决策树桩就可以获得可接受的结果,尽管 MLP 通常已被证明非常有效。

由于这种对错误分类示例的持续关注,boosting 的弱点是它可能容易受到噪音的影响,在某种程度上 logitboost 试图解决这个问题。

没有免费的午餐

值得记住的是,不存在机器学习的大统一理论,任何特定分类器的结果都高度依赖于它所使用的数据类型。因此,先验地,没有任何硬性和快速的理由断言一种分类器类型优于另一种分类器类型,除了从先前对类似数据的实验得出的共识以及算法在各种数据集上显示的一般效用。要获得一个好的解决方案,您可能需要尝试一些流行的方法。