集成学习模板
NLearn
从几十个到几千个不等。通常,一个具有良好预测能力的集成需要几百到几千个较弱的学习者。然而,您不需要一次训练那么多周期的合奏。你可以从培养几十个学习者开始,检查合奏表演,然后,如果有必要的话,用它来训练更多的弱学习者的简历
对于分类问题,或者的简历
回归问题。
合奏表现取决于合奏设置和弱学习者的设置。也就是说,如果您使用默认参数指定弱学习器,则集成可以执行。因此,与集成设置一样,使用模板调整弱学习器的参数,并选择最小化泛化误差的值,是一种良好的实践。
在分类问题中(即,类型
是“分类”
):
如果集合聚合方法(方法
)是“包”
和:
错误分类成本是高度不平衡的,因此,对于袋装样本,软件抽样从类的独特观察,有很大的惩罚。
类的先验概率是高度倾斜的,软件对具有较大先验概率的类的唯一观测值进行过采样。
对于较小的样本量,这些组合可能会导致具有较大惩罚或先验概率的类别的带外观测的相对频率非常低。因此,估计的带外误差是高度可变的,可能难以解释。为了避免较大的估计带外误差方差,特别是f或小样本量,使用成本
拟合函数的名称-值对参数,或使用偏度较小的先验概率向量之前
拟合函数的名称-值对参数。
由于某些输入和输出参数的顺序对应于训练数据中的不同类,因此使用一会
拟合函数的名称-值对参数。
为了快速确定类顺序,从训练数据中删除所有未分类的观察(即缺少标签),获取并显示所有不同类的数组,然后指定数组一会
。例如,假设响应变量(Y
)是标签单元格数组。这段代码指定了变量中的类顺序一会
.
Ycat =分类(Y);一会=类别(Ycat)
绝对的
分配<定义>
对非机密的观察和类别
不包括<定义>
从它的输出。因此,如果将此代码用于包含标签的单元格数组或类似的代码用于类别数组,则不必删除缺少标签的观察结果以获得不同类的列表。要指定顺序,应该从最低表示的标签到最高表示的标签,然后快速确定类顺序(如前面的项目符号所示),但在将列表传递给之前,按频率排列列表中的类一会
.在前面的例子中,这段代码指定了类从最低到最多的顺序classNamesLH
.
Ycat =分类(Y);一会=类别(Ycat);频率= countcats (Ycat);[~, idx] =(频率)进行排序;classNamesLH =一会(idx);
集成聚合算法的详细信息请参见集成算法.
如果您指定方法
作为一个boosting算法和学习者
成为决策树,然后软件就会成长树桩默认情况下。一个决策桩是一个根节点连接到两个终端,叶节点。属性可以调整树的深度MaxNumSplits
,MinLeafSize
,MinParentSize
名称-值对参数使用templateTree
.
该软件通过对误分类代价大的过抽样类和误分类代价小的欠抽样类进行抽样,生成袋装样本。因此,out- bag样本来自误分类代价大的类别的观察较少,而来自误分类代价小的类别的观察较多。如果您使用一个小数据集和一个高度倾斜的代价矩阵来训练一个分类集成,那么每个类的包外观察的数量可能会非常低。因此,估计的包外误差可能有很大的方差,可能很难解释。对于具有较大先验概率的类,也会出现同样的现象。
对于RUSBoost集成聚合方法(方法
),名称-值对参数RatioToSmallest
指定每个类相对于最低表示类的采样比例。例如,假设训练数据中有2个类,一个和B.一个有100个观察结果B有10个观察。同样,假设最低代表的类具有米
对训练数据的观察。
如果你设置“RatioToSmallest”,2
,然后
=年代
*米
2 * 10
=20.
.因此,该软件使用课堂上的20个观察结果来训练每一个学习者一个以及20个课堂观察B.如果你‘RatioToSmallest’,(2 - 2)
,你会得到相同的结果。
如果你设置‘RatioToSmallest’,(2,1)
,然后
=s1
*米
2 * 10
=20.
和
=s2
*米
1 * 10
=10
.因此,该软件使用课堂上的20个观察结果来训练每一个学习者一个以及10个课堂观察B.
对于决策树集合和双核系统及以上,fitcensemble
和fitrensemble
使用英特尔并行训练®线程构建块(TBB)。关于Intel TBB的详细介绍请参见https://software.intel.com/en-us/intel-tbb.