本主题由统计和机器学习工具箱™支持集成学习算法,包括装袋,随机空间,以及各种增强算法描述。万博1manbetx您可以通过使用指定的算法'方法'
的名称 - 值对参数fitcensemble
,fitrensemble
, 要么templateEnsemble
。采用fitcensemble
要么fitrensemble
创建学习者的集合进行分类或回归,分别。采用templateEnsemble
创建学习合奏模板,该模板传递给fitcecoc
指定合奏二进制学习者ECOC多类学习。
为了引导聚合(套袋)和随机森林,你可以使用TreeBagger
为好。
的价值'方法' |
算法 | 万博1manbetx支持问题 | 例子 |
---|---|---|---|
“包” |
引导聚合(Bagging)和随机森林([1],[2],[3]) | 二元和多元分类,回归 | |
“子” |
随机子空间([9]) | 二进制和多类分类 | 随机子空间分类 |
'AdaBoostM1' |
自适应增强的二元分类([5],[6],[7],[11]) | 二元分类 | |
'AdaBoostM2' |
自适应增强了多类分类([5]) | 多类分类 | 预计使用分类集成类标签 |
'GentleBoost' |
温和的自适应增强([7]) | 二元分类 | |
“LogitBoost” |
自适应Logistic回归([7]) | 二元分类 | |
'LPBoost' |
线性规划推进([13]) | 二进制和多类分类 | LPBoost和TotalBoost用于小型集成电路 |
'LSBoost' |
最小二乘推进([2],[8]) | 回归 | |
“RobustBoost” |
稳健推进([4]) | 二元分类 | 调RobustBoost |
“RUSBoost” |
随机欠推进([12]) | 二进制和多类分类 | 不均衡的数据分类 |
'TotalBoost' |
共纠正推进([13]) | 二进制和多类分类 | LPBoost和TotalBoost用于小型集成电路 |
要了解如何选择合适的算法,见选择一个适用合奏聚合方法。
需要注意的一些算法的使用,如LPBoost
,TotalBoost
和RobustBoost
,需要优化工具箱™。
统计和机器学习工具箱提供了三个对象袋和随机森林:
TreeBagger
由...制作TreeBagger
分类和回归
有关之间差异的详细信息TreeBagger
和袋装合奏(ClassificationBaggedEnsemble
和RegressionBaggedEnsemble
),看TreeBagger和袋装合奏的比较。
引导聚集(装袋)是一种类型的集成学习的。要包弱学习如对数据集决策树,生成数据集的许多引导副本和副本增长决策树。通过随机选择得到各自举复制品ñ
的ñ
与更换,其中观察ñ
是数据集大小。此外,在合奏每棵树可以随机选择预测每个决策分开,一种叫做随机森林[2]已知可以提高装袋树木的准确性。默认情况下,为每个拆分随机选择的预测器数量等于用于分类的预测器数量的平方根和用于回归的预测器数量的三分之一。对模型进行训练后,您可以使用预测
功能。预测
需要从个别树木的平均超额预测。
默认情况下,每片叶子观察袋装树的最小数量设置为1
对分类和五
回归。使用默认叶大小生长树木通常是非常深刻的。这些设置是接近最优的合奏的预测能力。通常你可以成长具有较大的叶子树不失预测能力。这样做减少了训练的合奏训练和预测时间,以及内存的使用情况。您可以通过使用控制每个叶片的观测的最小数量“MinLeafSize”
的名称 - 值对参数templateTree
要么TreeBagger
。请注意,您使用templateTree
功能,当您通过使用创建袋装合奏指定树学习者的选项fitcensemble
要么fitrensemble
。
袋装决策树的几个特点使他们成为一个独特的算法。画画ñ
的ñ
与观测的更换遗漏,平均37%,每个决策树的意见。这些省略的意见被称为“乱袋”的意见。TreeBagger
和袋装合奏(ClassificationBaggedEnsemble
和RegressionBaggedEnsemble
)具有属性和对象函数,其名称以OOB
,使用袋外观察。
使用oobPredict
函数估计预测能力和功能的重要性。对于每一个观察,oobPredict
估计出球袋预测由在该观察袋出来的整体平均从所有树木的预测。
通过使用估算出的袋平均误差oobError
(TreeBagger
) 要么oobLoss
(袋装集合体)。这些函数将“出袋”预测的响应与用于训练的所有观察到的响应进行比较。袋外平均是对真实总体误差的无偏估计。
通过使用OOBPermutedPredictorDeltaError
属性(TreeBagger
) 要么oobPermutedPredictorImportance
属性(用于袋装合集)。该软件每次跨一个变量或列随机分析出袋数据,并估计出袋错误由于这种排列的增加。增长越大,这个特征就越重要。因此,您不需要提供袋装集成系统的测试数据,因为您可以在培训过程中获得可靠的预测能力和特性重要性评估。
TreeBagger
还提供了相似矩阵的接近
属性。每次两个观察在树上的叶子一样的土地,由1正常化他们接近的增加,通过树木的数量总和,这些接近程度超过在合奏和除法的所有树木。将所得的矩阵是对称的对角元素等于1,非对角元素范围从0到1。可以使用该矩阵来找到离群观测和通过多维尺度发现数据中的簇。
对于使用装袋示例,请参阅:
TreeBagger
和袋装集合体TreeBagger
和袋装合奏(ClassificationBaggedEnsemble
和RegressionBaggedEnsemble
)共享大部分的功能,但并不是全部。此外,一些功能有不同的名称。
TreeBagger
特点不是在袋装合集
特征 | TreeBagger 属性 |
TreeBagger 方法 |
---|---|---|
邻近矩阵的计算 | 接近 |
当您估计接近矩阵和异常值 |
异常值的计算 | OutlierMeasure |
N / A |
乱袋的预测重要性估计采用分级利润率 | OOBPermutedPredictorDeltaMeanMargin 和OOBPermutedPredictorCountRaiseMargin |
N / A |
合并单独训练的两名合奏 | N / A | 附加 |
分位数回归 | N / A | quantilePredict ,quantileError ,oobQuantilePredict ,oobQuantileError |
创建合奏并行计算 | N / A | 设置 对于双核及以上系统, |
用于创建合奏高大阵列支万博1manbetx持 | N / A | 有关详细信息,请参阅高大的数组。 |
对于双核及以上系统,fitrensemble
和fitcensemble
还可以使用Intel线程构建块(TBB)并行化培训。
袋装的整体功能不在TreeBagger
特征 | 描述 |
---|---|
超参数优化 | 使用'OptimizeHyperparameters' 名称 - 值对的参数。 |
分档数值预测,以加快培训 | 使用'NumBins' 名称 - 值对的参数。 |
代码生成预测 |
在训练一个模型之后,您可以生成C/ c++代码来预测新数据的标签。生成C/ c++代码需要MATLAB编码器™。有关详细信息,请参阅介绍代码生成。 |
不同的名字TreeBagger
和袋装合奏
特征 | TreeBagger | 袋装合奏 |
---|---|---|
为每个预测器划分标准贡献 | DeltaCriterionDecisionSplit 属性 |
第一输出predictorImportance (分类)或predictorImportance (回归) |
预测协会 | SurrogateAssociation 属性 |
第二输出predictorImportance (分类)或predictorImportance (回归) |
对预测因子重要性的实际估计 | OOBPermutedPredictorDeltaError 属性 |
输出oobPermutedPredictorImportance (分类)或oobPermutedPredictorImportance (回归) |
误差(误分类概率或均方误差) | 错误 和oobError 方法 |
损失 和oobLoss (分类)或方法损失 和oobLoss 方法(回归) |
训练额外的树并将它们添加到集合中 | growTrees 方法 |
恢复 (分类)或方法恢复 方法(回归) |
每棵树平均分类极限 | meanMargin 和oobMeanMargin 方法 |
边缘 和oobEdge 方法(分类) |
此外,当你训练模型和预测的反应中存在两个重要的区别:
如果你传递一个误判成本矩阵TreeBagger
时,它把矩阵沿所述树。如果你传递一个误判成本矩阵fitcensemble
时,它使用矩阵来调节类先验概率。fitcensemble
然后经过调整先验概率和默认成本矩阵的树木。默认的成本矩阵是酮(K)-Eye(K)
对于ķ
类。
不像损失
和边缘
在方法ClassificationBaggedEnsemble
中,TreeBagger
错误
和meanMargin
方法做在相应的类中的先验概率的不归一化输入的观察权重。
使用随机子空间歌舞团(子空间
),以提高判别分析的准确度(ClassificationDiscriminant
) 要么ķ-最近的邻居 (ClassificationKNN
)分类。子空间
与使用所有预测器的集成相比,集成还具有使用更少内存的优点,并且可以处理丢失的值(为NaN
S)。
基本的随机子空间算法使用这些参数。
米是尺寸(变量)的在每个样品学习者数。组米使用NPredToSample
名称-值对。
d是尺寸在数据的数量,这是在数据矩阵中的列(预测)的数量X
。
ñ是学习者在合奏的数量。组ñ使用NLearn
输入。
基本随机空间算法执行以下步骤:
选择不更换随机的一组米从预测d可能的值。
列车仅使用一个弱学习米选择预测。
重复步骤1和2,直到有ñ弱学习。
通过取平均值的预测得分了
对弱学习者进行预测,并以最高平均分类得分了
。
您可以选择每一个组可能创建一个弱学习米从预测d尺寸。要做到这一点,集ñ,学习者的数量,以“AllPredictorCombinations”
。在这种情况下,有nchoosek(大小(X,2),NPredToSample)
弱学习的合奏。
fitcensemble
选择他们为学习后downweights预测,因此后续的学习者使用以前使用的预测的机会较低。这加权趋向做出预测学习者之间更均匀地分布较均匀加权。
对于使用实例子空间
见随机子空间分类。
自适应增强命名AdaBoostM1
是一种非常流行的二进制分类增强算法。该算法按顺序训练学习者。为每一个有索引的学习者Ť,AdaBoostM1
计算的加权分类误差
哪里
Xñ为观察预测值的矢量ñ。
ÿñ是真正的类标签。
HŤ学习者(假设)的预测是否带有指标Ť。
是指示符函数。
是观察的重量ñ在步骤Ť。
AdaBoostM1
然后增加权重由学习者误判观察Ť并减少了由学习者正确分类权重的观测Ť。接下来的学习者Ť+ 1随后接受了有关数据和更新的权重
。
训练结束后,AdaBoostM1
单位计算预测用于使用新的数据
哪里
是集合中弱假设的权重。
通过培训AdaBoostM1
可以被视为指数损失的最小化在舞台
哪里
ÿñε{-1,+ 1}是真类的标签。
w ^ñ是否将观测权归一化,使其加起来等于1。
F(Xñ)∊(-∞,+∞)预测分类得分。
观察权重w ^ñ你传递给原来的观察权重fitcensemble
。
从所述第二输出预测
一个的方法AdaBoostM1
分类系综是一个ñ两个类的分类得分的-乘2矩阵ñ观察结果。在该矩阵中的第二列是始终等于负的第一列。该预测
方法返回与多类模型一致的两个分数,尽管这是多余的,因为第二列总是第一列的负数。
最常AdaBoostM1
使用具有决定树桩(默认)或浅的树木。如果提高树桩给表现不佳,尽量最小父节点大小设置为训练数据的四分之一。
默认情况下,增强算法的学习速度1
。如果您将学习速率设置为一个较低的数字,则集成学习的速率较慢,但可以收敛到更好的解决方案。0.1
是学习率的热门选择。在率学习小于1
通常被称为“收缩”。
对于使用实例AdaBoostM1
见两种分类模型进行成本敏感的比较和创建一个乐团模板ECOC多类学习。
自适应增强命名AdaBoostM2
是对AdaBoostM1
多类。相反,加权分类错误的,AdaBoostM2
使用加权伪损失ñ意见和ķ类
哪里
HŤ(Xñ,ķ)为预测的由学习者在步骤置信Ť成classķ范围从0(完全不确信)到1(高度自信)。
观察权值是否在步长Ť为类ķ。
ÿñ是真正的类标签采取的一个ķ值。
第二求和是在比真正的类之外的所有类ÿñ。
解读伪损失比分类错误更难,但这个想法是一样的。伪损失可以被用作从在合奏任何学习者分类精度的度量。伪损失通常表现出相同的行为,作为加权分类误差AdaBoostM1
:在最初的几个学生boosted整体产生低伪损耗值。经过最初的几个训练步,乐团开始学习速度较慢,和伪损耗值从下方接近0.5。
例如,使用AdaBoostM2
见预计使用分类集成类标签。
温和的自适应增强(GentleBoost
,也被称为温和的AdaBoost)结合的特征AdaBoostM1
和LogitBoost
。喜欢AdaBoostM1
,GentleBoost
最小化指数损失。但其数值优化设置不同。喜欢LogitBoost
,每一个学习能力差的学生都适合一个回归模型来反映他们的价值观ÿñε{-1,+ 1}。
fitcensemble
计算并存储均方误差在FitInfo
合奏对象的属性。均方误差
哪里
观察权值是否在步长Ť(权重加起来为1)。
HŤ(Xñ)是回归模型的预测HŤ装配到响应值ÿñ。
随着个体学习者的力量减弱,加权均方误差趋近于1。
对于使用实例GentleBoost
见加快训练速度ECOC量词使用分档和并行计算和在处理合奏分类不平衡数据或不等误分类损失。
自适应逻辑回归(LogitBoost
)是二元分类另一种流行的算法。LogitBoost
工作方式类似于AdaBoostM1
,除了它最大限度地减少二项式偏差
哪里
ÿñε{-1,+ 1}是真类的标签。
w ^ñ是否将观测权归一化,使其加起来等于1。
F(Xñ)∊(-∞,+∞)预测分类得分。
二项式偏差受让人重量少到严重错误分类观测(具有大的负的值的观测ÿñF(Xñ))。LogitBoost
可以提供更好的平均精度比AdaBoostM1
用于难以分离类的数据。
学习者Ť在一个LogitBoost
集成符合响应值的回归模型
哪里
Y *ñ∊{0,+ 1}重新标记类(0,而不是1)。
pŤ(Xñ)可以观测概率的当前估计合奏Xñ为1类。
fitcensemble
计算并存储均方误差在FitInfo
合奏对象的属性。均方误差
哪里
观察权值是否在步长Ť(权重加起来为1)。
HŤ(Xñ)是回归模型的预测HŤ装配到响应值 。
值ÿñ的范围可以从-∞到+∞,所以均方误差不具有明确定义的边界。
对于使用实例LogitBoost
见火车分类集成和加快训练速度的分档数值预测值。
线性规划提升(LPBoost
), 喜欢TotalBoost
,执行通过试图最大化最小的多类分类余量在训练组。这种尝试采用优化算法,即线性规划的LPBoost
。所以,你需要一个优化工具箱许可使用LPBoost
要么TotalBoost
。
一个分类的余量是预测的软分类之间的差得分了对于真正的类,并为假类最大比分。对于绿树成荫,得分了叶节点的分类的是在该节点分类的后验概率。在节点分类的后验概率是训练序列的数目铅与分类该节点,通过训练序列的铅的数量,以该节点划分。欲了解更多信息,请参阅更多关于在余量
。
为什么最大化最小的保证金?一方面,推广误差(新数据)中的错误是获得阴性切缘的可能性。Schapire和歌手[10]建立在获得阴性切缘的可能性这种不平等:
这里米是保证金,θ是任意正数,V为分类器空间的Vapnik-Chervonenkis维数,ñ是训练集的大小,δ是一个很小的正数。不等式的概率为1 -δ在许多独立同分布训练和测试集。这种不平等说:为了获得较低的泛化误差,最大限度地减少低于保证金的观测次数θ在训练组。
LPBoost
迭代地通过的线性规划问题的序列最大化的最小裕量。换句话讲,对偶,LPBoost
最小化最大边缘,其中边为加权平均保证金(见更多关于)。在每次迭代中,也有这个问题更多的约束。因此,对于大的问题,优化问题变得越来越受限,慢来解决。
LPBoost
通常用具有数量级比其他学习者小几个数量级权重许多学习者创建合奏。因此,为了更好的让你删除不重要集合成员中,紧凑的
方法重新排序的一个成员LPBoost
从最大的重量到最小的整体。因此,你可以用轻松去除合奏的最重要的成员removeLearners
方法。
例如,使用LPBoost
见LPBoost和TotalBoost用于小型集成电路。
最小二乘提升(LSBoost
)符合回归合奏。在每一步中,合奏配合新的学习者所观察到的响应和预先生长所有学习者的聚集预测之间的差。该合唱团配合,以尽量减少均方误差。
您可以使用LSBoost
与通过使在收缩LearnRate
参数。默认情况下,这个参数设置为1
,并在最大速度的合奏获悉。如果设置LearnRate
值从0
至1
,乐团适合所有新学习者ÿñ-ηf(Xñ),在那里
ÿñ是所观察到的响应。
F(Xñ)是所有弱学习汇总预测到目前为止生长观察Xñ。
η是学习率。
增强算法,如AdaBoostM1
和LogitBoost
加大对误判观察权重每提高一步。这些权重可能会变得非常大。如果发生这种情况,提升算法有时会集中在一些分类错误的看法,而忽略了广大的训练数据。因此平均分类准确度受到影响。在这种情况下,你可以尝试使用强大的助推(RobustBoost
)。该算法并没有将几乎全部数据权重分配给严重分类错误的观测。它可以产生更好的平均分类精度。您需要一个优化工具箱许可证才能使用RobustBoost
。
不像AdaBoostM1
和LogitBoost
,RobustBoost
不最小化特定的损失函数。相反,它最大化了观察值的数量,而分类边界高于某个阈值。
RobustBoost
基于时间进化的火车。算法开始于Ť= 0。步步,RobustBoost
解决了优化问题及时发现Δ一个积极的步骤Ť并在训练数据中的平均裕度对应正变化Δ米。RobustBoost
停止训练并退出,如果这三个条件中至少有一个为真:
时间Ť达到1。
RobustBoost
不能找到一个解决优化问题,积极更新ΔŤ和Δ米。
RobustBoost
成长,如你要求很多学习者。
结果RobustBoost
可以是用于任何终止条件可用。估计由交叉验证或通过使用独立的测试组的分类精度。
来获得更好的分类精度RobustBoost
,你可以调整三个参数fitcensemble
:RobustErrorGoal
,RobustMaxMargin
和RobustMarginSigma
。利用改变值开始RobustErrorGoal
从0到1的最大允许值RobustErrorGoal
取决于两个其他参数。如果传递的值过高,fitcensemble
生成错误消息,显示允许的范围RobustErrorGoal
。
例如,使用RobustBoost
见调RobustBoost。
随机欠促进(RUSBoost
)在对不平衡数据进行分类时尤其有效,这意味着训练数据中的某些类的成员比其他类少得多。RUS表示随机抽样。该算法需要ñ在与最少成员在训练数据中的类的成员的数量,作为用于采样的基本单元。更多的成员类是在仅考虑采样ñ每个班级的意见。换句话说,如果有ķ类,然后,在合奏的每个弱学习器,RUSBoost
取与所述数据的一个子集ñ从每个观察ķ类。升压程序按程序进行自适应增强了多类分类用于调整权重和构建集成。
当你构建一个RUSBoost
合奏,还有一个可选的名称 - 值对称为RatioToSmallest
。给出的矢量ķ值,表示所述多个值的每个ñ到样品相关联的类。例如,如果最小类有ñ= 100个成员,然后RatioToSmallest
=[2,3,4]
装置,每个弱学习器具有1类200组的成员,在2类300和400类3.如果RatioToSmallest
导致的值大于特定类中的成员数,则RUSBoost
样品用更换部件。除此以外,RUSBoost
样品不用更换部件。
例如,使用RUSBoost
见不均衡的数据分类。
共纠正提升(TotalBoost
),如线性规划升压(LPBoost
),执行通过试图最大化最小多类分类余量在训练组。这种尝试采用优化算法,即二次规划TotalBoost
。所以,你需要一个优化工具箱许可使用LPBoost
要么TotalBoost
。
一个分类的余量是预测的软分类之间的差得分了对于真正的类,并为假类最大比分。对于绿树成荫,得分了叶节点的分类的是在该节点分类的后验概率。在节点分类的后验概率是训练序列的数目铅与分类该节点,通过训练序列的铅的数量,以该节点划分。欲了解更多信息,请参阅更多关于在余量
。
为什么最大化最小的保证金?一方面,推广误差(新数据)中的错误是获得阴性切缘的可能性。Schapire和歌手[10]建立在获得阴性切缘的可能性这种不平等:
这里米是保证金,θ是任意正数,V为分类器空间的Vapnik-Chervonenkis维数,ñ是训练集的大小,δ是一个很小的正数。不等式的概率为1 -δ在许多独立同分布训练和测试集。这种不平等说:为了获得较低的泛化误差,最大限度地减少低于保证金的观测次数θ在训练组。
TotalBoost
当前重量分布和初始权重分布,主体之间的相对熵的代理最小化约束,该边缘(加权余量)低于一定值。代理是发散的二次扩张:
其中Δ为之间的差w ^(ñ),当前和下一个迭代的权重,以及w ^0时,初始重量分布,这是均匀的。这种优化配方保持权重成为零。在每次迭代中,也有这个问题更多的约束。因此,对于大的问题,优化问题变得越来越受限,慢来解决。
TotalBoost
通常用具有数量级比其他学习者小几个数量级权重许多学习者创建合奏。因此,为了更好的让你删除不重要集合成员中,紧凑的
方法对a的成员重新排序TotalBoost
从最大的重量到最小的整体。因此,可以使用。轻松地删除集合中最不重要的成员removeLearners
方法。
例如,使用TotalBoost
见LPBoost和TotalBoost用于小型集成电路。
[1] Breiman,L.套袋预测因子。机器学习26,1996年,第123-140。
[2] Breiman,L.随机森林。机器学习45,2001年,第5-32。
[3] Breiman,L.https://www.stat.berkeley.edu/~breiman/RandomForests/
[4]弗氏,Y.更健壮的提升算法。arXiv: 0905.2138 v1, 2009。
[5]弗氏,Y。和R. E. Schapire。决策论的在线学习的推广和提升在应用程序。《计算机与系统科学》,第55卷,1997年,第119-139页。
[6]弗里德曼,J.贪婪函数逼近:一个梯度推进的机器。统计,卷年鉴。29,第5号,2001年,第1189至1232年。
[7]弗里德曼,J.,T.黑斯蒂和R. Tibshirani。添加剂Logistic回归:提升的统计视图。《统计年鉴》,第28卷,第2期,2000年,第337-407页。
[8] Hastie的,T.,R. Tibshirani,和J.弗里德曼。统计学习的要素, 第二版。纽约:施普林格,2008年。
[9] Ho, T. K。构建决策森林随机子空间方法。IEEE交易模式分析与机器智能,卷。20,第8期,1998年,第832-844。
[10] Schapire,R。和Y.歌手。改进提高使用信心评级预测的算法。机器学习,卷。37,第3期,1999,第297-336。
[11] Schapire,R.E。等人。提高保证金:为投票方法有效性的新的解释。统计,卷年鉴。26,第5号,1998年,第1651至1686年。
[12]塞弗特,C.,T. Khoshgoftaar,J.赫尔斯和A.纳波利塔诺。RUSBoost:提高clasification性能时,训练数据歪斜。第19届国际会议上模式识别,2008年,第1-4页。
[13] Warmuth,M.,J.辽,和G. Ratsch。共纠正增强算法,最大限度地提高保证金。PROC。第23届国际。CONF。机器学习,ACM,纽约,2006年,第1001-1008。
ClassificationBaggedEnsemble
|ClassificationDiscriminant
|ClassificationEnsemble
|ClassificationKNN
|ClassificationPartitionedEnsemble
|CompactClassificationEnsemble
|CompactRegressionEnsemble
|RegressionBaggedEnsemble
|RegressionEnsemble
|RegressionPartitionedEnsemble
|TreeBagger
|fitcensemble
|fitrensemble