本主题介绍统计和机器学习工具箱支持的集成学习算法™, 包括bagging、random space和各种boosting算法金宝app“方法”
的名称-值对参数菲特森布尔
,fitrensemble
或模板乐团
. 使用菲特森布尔
或fitrensemble
分别为分类或回归创建学习者集合。使用模板乐团
创建集成学习者模板,并将模板传递给菲切克
为ECOC多类学习指定集成二进制学习器。
对于引导聚合(打包)和随机林,可以使用树人
也
价值“方法” |
算法 | 金宝app支持的问题 | 例子 |
---|---|---|---|
“包” |
引导聚合(装袋)和随机林([1],[2],[3]) | 二元和多类分类、回归 | |
“子” |
随机子空间法([9]) | 二类和多类分类 | 随机子空间分类 |
“AdaBoostM1” |
二值分类的自适应Boosting算法([5],[6],[7],[11]) | 二元分类 | |
“AdaBoostM2” |
多类分类的自适应Boosting算法([5]) | 多类分类 | 利用分类集成预测类标签 |
“绅士之声” |
温和自适应增压([7]) | 二元分类 | |
“LogitBoost” |
自适应Logistic回归([7]) | 二元分类 | |
“LPBoost” |
线性规划([13]) | 二类和多类分类 | LPBoost和TotalBoost适用于小型集成 |
“LSBoost” |
最小二乘助推([2],[8]) | 回归 | |
“RobustBoost” |
强劲助推([4]) | 二元分类 | 调谐稳健性增强 |
“俄罗斯助推” |
随机欠采样增强([12]) | 二类和多类分类 | 不平衡数据分类 |
“TotalBoost” |
完全校正增压([13]) | 二类和多类分类 | LPBoost和TotalBoost适用于小型集成 |
要了解如何选择适当的算法,请参阅选择适用的集成聚合方法.
注意一些算法的使用,例如LPBoost
,全速推进
和稳健性增强
,需要优化工具箱™.
统计和机器学习工具箱为装袋和随机森林提供了三个对象:
回归分析
创建人fitrensemble
回归
如需有关树人
和装袋的合奏(分类BaggedAssemble
和回归分析
),看TreeBagger和Bagged合奏的比较.
引导聚合(装袋)是一种集成学习。要将弱学习者(如数据集上的决策树)打包,请生成数据集的许多引导副本,并在副本上生长决策树。通过随机选择获取每个引导副本N
的N
替换的观察结果,在哪里N
是数据集大小。此外,集成中的每棵树都可以为每个决策分割随机选择预测因子,这是一种称为随机森林的技术[2]已知可提高套袋树木的准确性。默认情况下,为每次分割随机选择的预测数等于分类预测数的平方根和回归预测数的三分之一。训练模型后,可以使用预测
作用预测
对单个树的预测取平均值。
默认情况下,袋装树每片叶子的最小观察次数设置为1.
分类及5.
为了回归。以默认叶大小生长的树通常非常深。这些设置对于集合的预测能力接近最佳。通常,你可以在不丧失预测能力的情况下种植树叶更大的树木。这样做可以减少训练和预测时间,并减少训练集合的内存使用。您可以使用“MinLeafSize”
的名称-值对参数模板树
或树人
. 请注意,您使用模板树
函数指定树学习器在使用创建袋装集合时的选项菲特森布尔
或fitrensemble
.
袋装决策树的若干特性使其成为一种独特的算法。绘画N
的N
对于每个决策树,具有替换省略的观察值,平均为37%。这些省略的观察值称为“现成的”观察值。树人
和装袋的合奏(分类BaggedAssemble
和回归分析
)的属性和对象函数,其名称以oob
,使用外带观察。
使用OOB预测
用于估计预测能力和功能重要性的函数。对于每次观察,OOB预测
通过对集合中所有树的预测进行平均,估计出袋外预测,该集合中的观测是袋外的。
使用奥伯罗
(树人
)或渗出物
(对于袋装集合)。这些函数将袋装外预测响应与用于训练的所有观测值的观测响应进行比较。袋装外平均值是真实集合误差的无偏估计值。
通过使用OOBPermutedPredictorDeltaError
物业(供树人
)或面向对象编程的重要性
属性(用于袋装合奏)。软件一次在一个变量或列上随机排列行李外数据,并估计由于这种排列而导致的行李外误差的增加。增长越大,功能越重要。因此,您不需要为袋装套件提供测试数据,因为您可以在培训过程中获得预测能力和功能重要性的可靠估计。
树人
还提供了中的邻近矩阵接近
属性。每当两个观测值落在树的同一片叶子上时,它们的接近度会增加1。对于标准化,将集合中所有树的这些接近度相加,然后除以树的数量。生成的矩阵是对称的,对角线元素等于1,非对角线元素的范围为0到1。您可以使用此矩阵通过多维标度查找离群观测值并发现数据中的聚类。
有关使用袋装的示例,请参见:
树人
和装袋的合奏树人
和装袋的合奏(分类BaggedAssemble
和回归分析
)共享大部分功能,但不是全部。此外,有些功能具有不同的名称。
树人
功能不在袋套装
特色 | 树人 所有物 |
树人 方法 |
---|---|---|
邻近矩阵的计算 | 接近 |
当您估计邻近矩阵和异常值时 |
异常值的计算 | OutlierMeasure |
不适用 |
使用分类裕度的预测值重要性的现成估计 | oobPermitedDeltameanMargin 和oobPermutedPredictor CountraiseMargin |
不适用 |
合并两个单独训练的团队 | 不适用 | 追加 |
分位数回归 | 不适用 | 定量预测 ,quantileError ,oobQuantilePredict ,oobQuantileError |
生成系综的并行计算 | 不适用 | 设定 对于双核及以上系统, |
用于创建集合的高阵列支金宝app持 | 不适用 | 有关详细信息,请参阅高阵. |
对于双核及以上系统,fitrensemble
和菲特森布尔
还可以使用Intel Threading Building Blocks (TBB)并行化训练。
袋装整体特征不在树人
特色 | 描述 |
---|---|
超参数优化 | 使用“优化超参数” 名称-值对参数。 |
组合数值预测以加速训练 | 使用“麻木” 名称-值对参数。 |
代码生成预测 |
训练模型后,可以生成预测新数据标签的C/C++代码MATLAB编码器™. 有关详细信息,请参阅代码生成简介. |
不同的名字树人
和装袋的合奏
特色 | 树人 | 袋装合唱团 |
---|---|---|
每个预测值的分割标准贡献 | DeltaCriterion决策分裂 所有物 |
第一次输出预测重要性 (分类)或预测重要性 (回归) |
预测关联 | 代孕协会 所有物 |
第二次输出预测重要性 (分类)或预测重要性 (回归) |
预测重要性的现成估计 | OOBPermutedPredictorDeltaError 所有物 |
产量面向对象编程的重要性 (分类)或面向对象编程的重要性 (回归) |
误差(误分类概率或均方误差) | 错误 和奥伯罗 方法 |
丧失 和渗出物 方法(分类)或丧失 和渗出物 方法(回归) |
训练额外的树木,并将它们添加到集合中 | 种树 方法 |
简历 (分类)或方法简历 方法(回归) |
每棵树的平均分类边际 | meanMargin 和oobMeanMargin 方法 |
边 和软泥 方法(分类) |
此外,在训练模型和预测响应时,存在两个重要差异:
如果你传递一个错误分类的代价矩阵树人
,它将矩阵传递给树。如果将错误分类成本矩阵传递给菲特森布尔
,它使用矩阵来调整类的先验概率。菲特森布尔
然后将调整后的先验概率和默认成本矩阵传递给树。默认成本矩阵为一(K)-眼睛(K)
对于K
上课。
不像丧失
和边
方法分类BaggedAssemble
这个树人
错误
和meanMargin
方法不规范化相应类别中先验概率的输入观察权重。
使用随机子空间集合(子空间
)提高判别分析的准确性(分类判别式
)或K-近邻(分类KNN
)分类器。子空间
与包含所有预测器的集成相比,集成还具有使用更少内存的优点,并且可以处理丢失的值(楠
s) 。
基本随机子空间算法使用了这些参数。
M是每个学员中要采样的维度(变量)数。设置M使用NPredToSample
名称-值对。
D是数据中的维度数,是数据矩阵中的列数(预测值)X
.
N是集合中的学习者数量。集合N使用NLearn
输入
基本随机子空间算法执行以下步骤:
无需替换即可随机选择一组M来自D可能的值。
仅使用以下方法培训学习能力较弱的学员M选择预测因子。
重复步骤1和2,直到N弱学习者。
通过取平均值进行预测分数
预测弱学习者,并以最高平均值分类类别分数
.
你可以选择为每一组可能的问题创建一个弱学习者M来自D维度。若要执行此操作,请设置N,学习者的数量,以“所有预测组合”
.在这种情况下,有nchoosek(尺寸(X,2),未指定示例)
乐团中的弱学习者。
菲特森布尔
在为学习者选择预测值后,降低预测值的权重,因此后续学习者使用以前使用过的预测值的机会较低。与均匀权重相比,这种权重倾向于使预测值在学习者中的分布更均匀。
例如,使用子空间
看见随机子空间分类.
自适应增压AdaBoostM1
是一种非常流行的二进制分类增强算法。该算法按顺序训练学习者。对于每一个有索引的学习者T,AdaBoostM1
计算加权分类误差
哪里
xN是用于观察的预测值向量N.
YN是真正的类标签。
HT学习者的预测(假设)是否有指标T.
是指示器功能。
观察的重量是多少N步调一致T.
AdaBoostM1
然后增加学习者错误分类的观察值的权重T并减少由学员正确分类的观察值的权重T.下一个学习者T+ 1然后使用更新的权重对数据进行训练
.
训练结束后,,AdaBoostM1
使用计算新数据的预测
哪里
是集合中弱假设的权重。
培训AdaBoostM1
可以看作是指数损失的分段最小化
哪里
YN∊ {–1,+1}是真正的类标签。
WN观察权重是否标准化为加起来等于1。
F(xN∊(-∞,+∞)为预测的分类评分。
观测权重WN是否传递给原始观察权重菲特森布尔
.
来自预测
方法AdaBoostM1
分类集成是一个N-by-2矩阵的分类得分为两个类和N观察。此矩阵中的第二列始终等于减去第一列。这个预测
方法返回两个分数以与多类模型一致,但这是多余的,因为第二列总是第一列的负数。
经常AdaBoostM1
与决策树桩(默认)或浅树一起使用。如果增强的树桩性能较差,请尝试将最小父节点大小设置为训练数据的四分之一。
默认情况下,boosting算法的学习速率为1.
. 如果将学习速率设置为较低的数字,则集成将以较慢的速率学习,但可以收敛到更好的解决方案。0.1
是一个受欢迎的学习率选择。学习速度低于1.
通常被称为“收缩”。
例如,使用AdaBoostM1
看见对两种分类模型进行成本敏感比较和为ECOC多类学习创建集成模板.
自适应增压AdaBoostM2
是的延伸AdaBoostM1
对于多个类。而不是加权分类误差,AdaBoostM2
将加权伪损失用于N观察和K班级
哪里
HT(xN,K)学习者对预测的信心是多少T上课K范围从0(完全不自信)到1(高度自信)。
观察权重是否同步T为类K.
YN真正的类标签是否采用K价值观
第二个和覆盖除真实类以外的所有类YN.
解释伪损失比解释分类错误更困难,但想法是一样的。伪损失可以用来衡量集合中任何学习者的分类精度。伪损失通常表现出与加权分类错误相同的行为AdaBoostM1
:增强合奏中的前几个学习者给出了较低的伪损失值。在最初的几个训练步骤之后,集合开始以较慢的速度学习,并且伪损失值从下面接近0.5。
举个例子AdaBoostM2
看见利用分类集成预测类标签.
温和自适应增压(温柔的
,也称为温柔的AdaBoost)结合了AdaBoostM1
和后勤推进
. 喜欢AdaBoostM1
,温柔的
使指数损失最小化。但其数值优化设置不同。喜欢后勤推进
,每个弱学习者都会根据响应值拟合回归模型YN∊ {–1,+1}.
菲特森布尔
计算并将均方误差存储在FitInfo
集合对象的属性。均方误差为
哪里
观察权重是否同步T(权重之和为1)。
HT(xN)是回归模型的预测HT拟合响应值YN.
随着个体学习者的力量减弱,加权均方误差接近1。
例如,使用温柔的
看见使用分块和并行计算加速训练ECOC分类器和在分类集合中处理不平衡的数据或不相等的错误分类成本.
自适应logistic回归(后勤推进
)是另一种流行的二进制分类算法。后勤推进
类似于AdaBoostM1
,但它使二项式偏差最小化
哪里
YN∊ {–1,+1}是真正的类标签。
WN观察权重是否标准化为加起来等于1。
F(xN∊(-∞,+∞)为预测的分类评分。
二项式偏差为严重错误分类的观测值(具有较大负值的观测值)分配较少的权重YNF(xN)).后勤推进
可以提供比AdaBoostM1
对于类不可分离的数据。
学习者T在一个后勤推进
集成将回归模型与响应值相匹配
哪里
y*N∊ {0,+1}是重新标记的类(0而不是–1)。
PT(xN)是观测概率的当前集合估计xN属于第一类。
菲特森布尔
计算并将均方误差存储在FitInfo
集合对象的属性。均方误差为
哪里
观察权重是否同步T(权重之和为1)。
HT(xN)是回归模型的预测HT拟合响应值 .
价值观YN范围可以从-∞ 到+∞, 因此,均方误差没有明确的界限。
例如,使用后勤推进
看见列车分类集成和通过组合数值预测值加快训练速度.
线性规划(LPBoost
),像全速推进
,通过尝试最大化最小值来执行多类分类边缘在训练集中。这一尝试使用优化算法,即线性规划LPBoost
. 因此,您需要使用优化工具箱许可证LPBoost
或全速推进
.
分类的界限是预测的软分类之间的差异分数对于真实类,错误类的得分最高。对于树分数叶节点分类的后验概率是该节点分类的后验概率。节点处分类的后验概率是导致该节点具有分类的训练序列的数量除以导致该节点的训练序列的数量。有关详细信息,请参阅更多关于在里面边缘
.
为什么要最大化最小裕度?首先,泛化误差(新数据的误差)是获得负裕度的概率。Schapire和Singer[10]建立关于获得负裕度概率的不等式:
在这里M是边际,,θ是正数,v是分类器空间的Vapnik-Chervonenkis维数,N是训练集的大小,以及δ是一个小的正数。该不等式以概率1成立——δ在许多i.i.d.训练集和测试集上。这个不等式说:为了获得一个较低的泛化误差,将低于裕度的观察数最小化θ在训练集中。
LPBoost
通过一系列线性规划问题迭代地最大化最小余量。等价地,通过对偶性,LPBoost
最小化最大边,其中edge是加权平均边距(见更多关于).在每次迭代中,问题中有更多的约束。因此,对于大型问题,优化问题变得越来越有约束,求解速度也越来越慢。
LPBoost
通常,创建集合时,许多学习者的权重比其他学习者的权重小几个数量级。因此,为了更好地移除不重要的集合成员契约
方法重新排序LPBoost
从最大重量到最小重量。因此,您可以使用脱贫工人
方法
举个例子LPBoost
看见LPBoost和TotalBoost适用于小型集成.
最小二乘助推(LSBoost
)拟合回归系综。在每一步,系综都会根据观察到的反应与之前成长的所有学习者的聚合预测之间的差异来拟合新学习者。系综拟合的目的是最小化均方误差。
你可以用LSBoost
有收缩通过在学习者
参数默认情况下,此参数设置为1.
,集合以最大速度学习。如果你设定学习者
值为0
到1.
,该套装适合每一位新学员YN–ηf(xN)哪里
YN是观察到的反应。
F(xN)到目前为止,所有弱学习者的聚合预测是否都在增长以供观察xN.
η是学习率。
增强算法,例如AdaBoostM1
和后勤推进
在每个增强步骤中增加错误分类观测值的权重。这些权重可能会变得非常大。如果出现这种情况,增强算法有时会集中在少数错误分类观测值上,而忽略大部分训练数据。因此,平均分类精度会受到影响。在这种情况下,您可以尝试使用ro胸围增大(稳健性增强
)。此算法不会将几乎全部数据权重分配给严重错误分类的观测值。它可以产生更好的平均分类精度。您需要使用优化工具箱许可证稳健性增强
.
不像AdaBoostM1
和后勤推进
,稳健性增强
不最小化特定的损失函数。相反,它最大限度地增加了观察的数量,使分类边缘高于某个阈值。
稳健性增强
基于时间演化的训练。算法从T= 0. 每走一步,,稳健性增强
解决一个优化问题,以找到时间上的正步长ΔT以及训练数据Δ的平均裕度的相应正变化M.稳健性增强
如果这三种情况中至少有一种为真,则停止培训并退出:
时间T达到1。
稳健性增强
无法找到具有正向更新Δ的优化问题的解决方案T和ΔM.
稳健性增强
根据您的要求培养尽可能多的学习者。
结果来自稳健性增强
可用于任何终止条件。通过交叉验证或使用独立测试集估计分类精度。
为了从中获得更好的分类精度稳健性增强
,可以在中调整三个参数菲特森布尔
:罗布斯特罗格
,RobustMaxMargin
和罗布斯特马金斯马酒店
. 首先,改变罗布斯特罗格
从0到1。的最大允许值罗布斯特罗格
取决于其他两个参数。如果传递的值太高,菲特森布尔
生成一条错误消息,显示允许的范围罗布斯特罗格
.
举个例子稳健性增强
看见调谐稳健性增强.
随机欠采样增强(罗斯博斯特
)在对不平衡数据进行分类时特别有效,这意味着训练数据中的某个类的成员比另一个类少得多。RUS代表随机抽样不足。该算法需要N,训练数据中人数最少的班级中的人数,作为抽样的基本单位。会员人数较多的班级仅采取以下抽样方式N每班的观察。换句话说,如果有K然后,为乐团中的每个弱者上课,罗斯博斯特
使用N来自每个国家的观察结果K上课。增压程序遵循中的程序多类分类的自适应Boosting算法用于重新称重和构建合奏。
当你构造一个罗斯博斯特
在集合中,有一个可选的名称-值对,名为比率最小
. 给出一个向量K值,每个值表示N为关联的类采样。例如,如果最小的类N=100名成员比率最小
=[2,3,4]
表示每个弱学习者在1班有200名成员,在2班有300名成员,在3班有400名成员。如果比率最小
导致的值大于特定类中的成员数,则罗斯博斯特
用替换件对构件进行取样。否则罗斯博斯特
对构件进行取样,无需更换。
举个例子罗斯博斯特
看见不平衡数据分类.
完全校正增压(全速推进
),就像线性规划(LPBoost
),通过尝试最大化最小值来执行多类分类边缘在训练集中。此尝试使用优化算法,即二次规划全速推进
. 因此,您需要使用优化工具箱许可证LPBoost
或全速推进
.
分类的界限是预测的软分类之间的差异分数对于真实类,错误类的得分最高。对于树分数叶节点分类的后验概率是该节点分类的后验概率。节点处分类的后验概率是导致该节点具有分类的训练序列的数量除以导致该节点的训练序列的数量。有关详细信息,请参阅更多关于在里面边缘
.
为什么要最大化最小裕度?首先,泛化误差(新数据的误差)是获得负裕度的概率。Schapire和Singer[10]建立关于获得负裕度概率的不等式:
在这里M是边际,,θ是正数,v是分类器空间的Vapnik-Chervonenkis维数,N是训练集的大小,以及δ是一个小的正数。该不等式以概率1成立——δ在许多i.i.d.训练集和测试集上。这个不等式说:为了获得一个较低的泛化误差,将低于裕度的观察数最小化θ在训练集中。
全速推进
最小化当前权重分布和初始权重分布之间Kullback-Leibler散度的代理,受边(加权保证金)低于某个值。代理是散度的二次展开:
式中,Δ是两者之间的差值W(N),当前和下一次迭代的权重,以及W0,初始权重分布是均匀的。此优化公式可防止权重变为零。在每次迭代中,问题中有更多的约束。因此,对于大型问题,优化问题变得越来越有约束,求解速度也越来越慢。
全速推进
通常,创建集合时,许多学习者的权重比其他学习者的权重小几个数量级。因此,为了更好地移除不重要的集合成员契约
方法的成员将重新排序全速推进
从最大重量到最小重量。因此,您可以使用脱贫工人
方法
举个例子全速推进
看见LPBoost和TotalBoost适用于小型集成.
[1] 布莱曼,L。装袋预测因子。机器学习26,1996,第123-140页。
[2] 布莱曼,L。随机森林。机器学习452001,第5-32页。
[4] 弗伦德,Y。一个更健壮的boosting算法。arXiv:0905.2138v12009。
[5] Freund,Y.和R.E.Schapire。在线学习的决策论推广及其在Boosting中的应用。《计算机与系统科学杂志》,第55卷,1997年,第119-139页。
[6] 弗里德曼,J。贪心函数逼近:一个梯度提升机。《统计年鉴》,第29卷,第5期,2001年,第1189-1232页。
[7] Friedman,J.,T.Hastine和R.Tibshirani。加性logistic回归:boosting的统计观点。《统计年鉴》,第28卷第2期,2000年,第337-407页。
[8] 黑斯蒂、T、R.蒂布什拉尼和J.弗里德曼。统计学习的要素,第二版。纽约:斯普林格,2008年。
[9] 呵呵。构造决策林的随机子空间方法。IEEE模式分析和机器智能学报,第20卷,第8期,1998年,第832-844页。
[10] 沙皮雷,R.和Y.辛格。使用置信度预测改进的boosting算法。机器学习,第37卷,第3期,1999年,第297-336页。
[11] Schapire,R.E.等人。提高差距:投票方法有效性的新解释。《统计年鉴》,第26卷,第5期,1998年,1651-1686页。
[12] 塞弗特,C.,T.霍什戈夫塔尔,J.赫尔斯和A.纳波利塔诺。RUSBoost:在训练数据倾斜时提高分类性能。第19届模式识别国际会议,2008年,第1-4页。
[13] M.Warmuth、廖建中和G.Ratsch。完全正确的助推算法,最大限度地提高利润。过程。第23国际酒店。《机器学习形态》,ACM,纽约,2006年,第1001-1008页。
分类BaggedAssemble
|分类判别式
|分类符号
|分类KNN
|分类分区集合
|压缩分类插入码
|压缩回归套
|菲特森布尔
|fitrensemble
|回归分析
|回归套
|回归分区集合
|树人