CompactClassificationECOCgydF4y2Ba
支持向量机(svm)和其他分类器的紧凑多类模型gydF4y2Ba
描述gydF4y2Ba
CompactClassificationECOCgydF4y2Ba
是多类纠错输出码(ECOC)模型的精简版。紧凑分类器不包括用于训练多类ECOC模型的数据。因此,您不能使用紧凑分类器执行某些任务,例如交叉验证。使用紧凑的多类ECOC模型进行任务,例如对新数据进行分类(gydF4y2Ba预测gydF4y2Ba
).gydF4y2Ba
创建gydF4y2Ba
您可以创建gydF4y2BaCompactClassificationECOCgydF4y2Ba
用两种方法建模:gydF4y2Ba
创建一个紧凑的ECOC模型gydF4y2Ba
ClassificationECOCgydF4y2Ba
的模型gydF4y2Ba紧凑的gydF4y2Ba
对象的功能。gydF4y2Ba创建一个紧凑的ECOC模型gydF4y2Ba
fitcecocgydF4y2Ba
函数并指定gydF4y2Ba“学习者”gydF4y2Ba
名称-值对参数asgydF4y2Ba“线性”gydF4y2Ba
,gydF4y2Ba“内核”gydF4y2Ba
,一个gydF4y2BatemplateLineargydF4y2Ba
或gydF4y2BatemplateKernelgydF4y2Ba
对象或此类对象的单元格数组。gydF4y2Ba
属性gydF4y2Ba
创建一个gydF4y2BaCompactClassificationECOCgydF4y2Ba
模型对象,您可以使用点表示法来访问它的属性。示例请参见gydF4y2Ba训练和交叉验证ECOC分类器gydF4y2Ba.gydF4y2Ba
ECOC属性gydF4y2Ba
BinaryLearnersgydF4y2Ba
- - - - - -gydF4y2Ba训练有素的二进制学习者gydF4y2Ba
模型对象的单元格向量gydF4y2Ba
训练过的二元学习者,指定为模型对象的单元向量。二元学习者的数量取决于课程的数量gydF4y2BaYgydF4y2Ba
以及编码设计。gydF4y2Ba
软件培训gydF4y2BaBinaryLearner {j}gydF4y2Ba
根据所指定的二进制问题gydF4y2BaCodingMatrixgydF4y2Ba
(:, j)gydF4y2Ba
.例如,对于多类学习使用支持向量机学习者,每个元素gydF4y2BaBinaryLearnersgydF4y2Ba
是一个gydF4y2BaCompactClassificationSVMgydF4y2Ba
分类器。gydF4y2Ba
数据类型:gydF4y2Ba细胞gydF4y2Ba
BinaryLossgydF4y2Ba
- - - - - -gydF4y2Ba二元学习者损失函数gydF4y2Ba
“binodeviance”gydF4y2Ba
|gydF4y2Ba“指数”gydF4y2Ba
|gydF4y2Ba“汉明”gydF4y2Ba
|gydF4y2Ba“枢纽”gydF4y2Ba
|gydF4y2Ba“线性”gydF4y2Ba
|gydF4y2Ba分对数的gydF4y2Ba
|gydF4y2Ba“二次”gydF4y2Ba
二元学习者损失函数,指定为表示损失函数名称的字符向量。gydF4y2Ba
默认的gydF4y2BaBinaryLossgydF4y2Ba
值取决于二元学习者返回的分数范围。该表标识了某些默认值gydF4y2BaBinaryLossgydF4y2Ba
值是在使用默认得分转换(gydF4y2BaScoreTransformgydF4y2Ba
模型的属性为gydF4y2Ba“没有”gydF4y2Ba
).gydF4y2Ba
假设gydF4y2Ba | 默认值gydF4y2Ba |
---|---|
所有的二元学习者都是以下任何一种:gydF4y2Ba
|
“二次”gydF4y2Ba |
所有的二元学习者都是支持向量机或支持向量机学习者的线性或核分类模型。gydF4y2Ba | “枢纽”gydF4y2Ba |
所有的二元学习者都是由gydF4y2BaAdaboostM1gydF4y2Ba 或gydF4y2BaGentleBoostgydF4y2Ba .gydF4y2Ba |
“指数”gydF4y2Ba |
所有的二元学习者都是由gydF4y2BaLogitBoostgydF4y2Ba .gydF4y2Ba |
“binodeviance”gydF4y2Ba |
你指定通过设置来预测类的后验概率gydF4y2Ba“FitPosterior”,真的gydF4y2Ba 在gydF4y2BafitcecocgydF4y2Ba .gydF4y2Ba |
“二次”gydF4y2Ba |
二元学习者是异构的,使用不同的损失函数。gydF4y2Ba | “汉明”gydF4y2Ba |
要检查默认值,请使用点表示法来显示gydF4y2BaBinaryLossgydF4y2Ba
在命令行中训练的模型的属性。gydF4y2Ba
方法来指定一个二进制损失函数,而不是在预测或损失计算期间指定默认值gydF4y2BaBinaryLossgydF4y2Ba
名称-值参数gydF4y2Ba预测gydF4y2Ba
或gydF4y2Ba损失gydF4y2Ba
.有关更多信息,请参见gydF4y2Ba二元损失gydF4y2Ba.gydF4y2Ba
数据类型:gydF4y2Ba字符gydF4y2Ba
CodingMatrixgydF4y2Ba
- - - - - -gydF4y2Ba类赋值代码gydF4y2Ba
数字矩阵gydF4y2Ba
二进制学习者的类赋值代码,指定为数值矩阵。gydF4y2BaCodingMatrixgydF4y2Ba
是一个gydF4y2BaKgydF4y2Ba——- - - - - -gydF4y2BalgydF4y2Ba矩阵,gydF4y2BaKgydF4y2Ba是多少班和gydF4y2BalgydF4y2Ba是二元学习者的数量。gydF4y2Ba
的元素gydF4y2BaCodingMatrixgydF4y2Ba
是gydF4y2Ba1gydF4y2Ba
,gydF4y2Ba0gydF4y2Ba
,gydF4y2Ba1gydF4y2Ba
,其值对应于二分类作业。这个表格描述了学习者如何学习gydF4y2BajgydF4y2Ba
在课堂上布置观察gydF4y2Ba我gydF4y2Ba
的值对应的二分类gydF4y2BaCodingMatrix (i, j)gydF4y2Ba
.gydF4y2Ba
价值gydF4y2Ba | 两个类的任务gydF4y2Ba |
---|---|
1gydF4y2Ba |
学习者gydF4y2BajgydF4y2Ba 在课堂上布置观察gydF4y2Ba我gydF4y2Ba 到一个消极的班级。gydF4y2Ba |
0gydF4y2Ba |
在培训之前,学习者gydF4y2BajgydF4y2Ba 删除课堂上的观察gydF4y2Ba我gydF4y2Ba 从数据集中。gydF4y2Ba |
1gydF4y2Ba |
学习者gydF4y2BajgydF4y2Ba 在课堂上布置观察gydF4y2Ba我gydF4y2Ba 到一个积极的班级。gydF4y2Ba |
数据类型:gydF4y2Ba双gydF4y2Ba
|gydF4y2Ba单gydF4y2Ba
|gydF4y2Baint8gydF4y2Ba
|gydF4y2Baint16gydF4y2Ba
|gydF4y2Baint32gydF4y2Ba
|gydF4y2Baint64gydF4y2Ba
LearnerWeightsgydF4y2Ba
- - - - - -gydF4y2Ba二进制学习者权重gydF4y2Ba
数字行向量gydF4y2Ba
二元学习权值,指定为数字行向量。的长度gydF4y2BaLearnerWeightsgydF4y2Ba
等于二进制学习者的数量(gydF4y2Ba长度(Mdl.BinaryLearners)gydF4y2Ba
).gydF4y2Ba
LearnerWeights (j)gydF4y2Ba
观察权的和是二元学习者吗gydF4y2BajgydF4y2Ba
用于训练其分类器。gydF4y2Ba
软件使用gydF4y2BaLearnerWeightsgydF4y2Ba
通过最小化Kullback-Leibler散度来拟合后验概率。软件忽略了gydF4y2BaLearnerWeightsgydF4y2Ba
当它使用估计后验概率的二次规划方法时。gydF4y2Ba
数据类型:gydF4y2Ba双gydF4y2Ba
|gydF4y2Ba单gydF4y2Ba
其他分类属性gydF4y2Ba
CategoricalPredictorsgydF4y2Ba
- - - - - -gydF4y2Ba分类预测指标gydF4y2Ba
正整数向量gydF4y2Ba|gydF4y2Ba[]gydF4y2Ba
分类预测指标,指定为正整数的向量。gydF4y2BaCategoricalPredictorsgydF4y2Ba
包含指示相应的预测器是分类的索引值。索引值在1和之间gydF4y2BapgydF4y2Ba
,在那里gydF4y2BapgydF4y2Ba
用于训练模型的预测器的数量。如果没有一个预测器是绝对的,则此属性为空(gydF4y2Ba[]gydF4y2Ba
).gydF4y2Ba
数据类型:gydF4y2Ba单gydF4y2Ba
|gydF4y2Ba双gydF4y2Ba
一会gydF4y2Ba
- - - - - -gydF4y2Ba独特的类标签gydF4y2Ba
分类数组gydF4y2Ba|gydF4y2Ba字符数组gydF4y2Ba|gydF4y2Ba逻辑向量gydF4y2Ba|gydF4y2Ba数值向量gydF4y2Ba|gydF4y2Ba字符向量的单元格数组gydF4y2Ba
训练中使用的惟一类标签,指定为类别或字符数组、逻辑或数字向量或字符向量的单元格数组。gydF4y2Ba一会gydF4y2Ba
是否与类标签的数据类型相同gydF4y2BaYgydF4y2Ba
.gydF4y2Ba(该软件将字符串数组视为字符向量的单元格数组。)gydF4y2Ba一会gydF4y2Ba
还决定了类的顺序。gydF4y2Ba
数据类型:gydF4y2Ba分类gydF4y2Ba
|gydF4y2Ba字符gydF4y2Ba
|gydF4y2Ba逻辑gydF4y2Ba
|gydF4y2Ba单gydF4y2Ba
|gydF4y2Ba双gydF4y2Ba
|gydF4y2Ba细胞gydF4y2Ba
成本gydF4y2Ba
- - - - - -gydF4y2Ba误分类代价gydF4y2Ba
广场数字矩阵gydF4y2Ba
此属性是只读的。gydF4y2Ba
错误分类成本,指定为方阵数字矩阵。gydF4y2Ba成本gydF4y2Ba
有gydF4y2BaKgydF4y2Ba行和列,其中gydF4y2BaKgydF4y2Ba是类的数量。gydF4y2Ba
成本(i, j)gydF4y2Ba
将一个点分类到类的成本是多少gydF4y2BajgydF4y2Ba
如果它真正的阶级是gydF4y2Ba我gydF4y2Ba
.的行和列的顺序gydF4y2Ba成本gydF4y2Ba
中的类的顺序gydF4y2Ba一会gydF4y2Ba
.gydF4y2Ba
数据类型:gydF4y2Ba双gydF4y2Ba
PredictorNamesgydF4y2Ba
- - - - - -gydF4y2Ba预测的名字gydF4y2Ba
字符向量的单元格数组gydF4y2Ba
预测器名称按照它们在预测器数据中出现的顺序,指定为字符向量的单元格数组。的长度gydF4y2BaPredictorNamesgydF4y2Ba
等于训练数据中变量的数量gydF4y2BaXgydF4y2Ba
或gydF4y2Ba资源描述gydF4y2Ba
用作预测变量。gydF4y2Ba
数据类型:gydF4y2Ba细胞gydF4y2Ba
ExpandedPredictorNamesgydF4y2Ba
- - - - - -gydF4y2Ba扩大了预测的名字gydF4y2Ba
字符向量的单元格数组gydF4y2Ba
扩展的预测器名称,指定为字符向量的单元格数组。gydF4y2Ba
如果模型对分类变量使用编码,则gydF4y2BaExpandedPredictorNamesgydF4y2Ba
包括描述展开变量的名称。否则,gydF4y2BaExpandedPredictorNamesgydF4y2Ba
和gydF4y2BaPredictorNamesgydF4y2Ba
.gydF4y2Ba
数据类型:gydF4y2Ba细胞gydF4y2Ba
之前gydF4y2Ba
- - - - - -gydF4y2Ba前类概率gydF4y2Ba
数值向量gydF4y2Ba
此属性是只读的。gydF4y2Ba
先验类概率,指定为数值向量。gydF4y2Ba之前gydF4y2Ba
元素的数量与类的数量一样多gydF4y2Ba一会gydF4y2Ba
,元素的顺序对应于中的类的顺序gydF4y2Ba一会gydF4y2Ba
.gydF4y2Ba
fitcecocgydF4y2Ba
在不同类型的二元学习者中,错误分类的代价是不同的。gydF4y2Ba
数据类型:gydF4y2Ba双gydF4y2Ba
ResponseNamegydF4y2Ba
- - - - - -gydF4y2Ba响应变量名gydF4y2Ba
特征向量gydF4y2Ba
响应变量名,指定为字符向量。gydF4y2Ba
数据类型:gydF4y2Ba字符gydF4y2Ba
ScoreTransformgydF4y2Ba
- - - - - -gydF4y2Ba分数转换函数应用于预测分数gydF4y2Ba
“doublelogit”gydF4y2Ba
|gydF4y2Ba“invlogit”gydF4y2Ba
|gydF4y2Ba“ismax”gydF4y2Ba
|gydF4y2Ba分对数的gydF4y2Ba
|gydF4y2Ba“没有”gydF4y2Ba
|gydF4y2Ba函数处理gydF4y2Ba|……gydF4y2Ba
分数转换函数应用于预测分数,指定为函数名或函数句柄。gydF4y2Ba
更改分数转换函数为gydF4y2Ba函数gydF4y2Ba
例如,使用点表示法。gydF4y2Ba
对于内置函数,输入此代码并替换gydF4y2Ba
函数gydF4y2Ba
使用表中的值。gydF4y2BaMdl。ScoreTransform = 'gydF4y2Ba函数gydF4y2Ba”;gydF4y2Ba
价值gydF4y2Ba 描述gydF4y2Ba “doublelogit”gydF4y2Ba
1 / (1 +gydF4y2BaegydF4y2Ba2gydF4y2BaxgydF4y2Ba)gydF4y2Ba “invlogit”gydF4y2Ba
日志(gydF4y2BaxgydF4y2Ba/ (1 -gydF4y2BaxgydF4y2Ba))gydF4y2Ba “ismax”gydF4y2Ba
将分数最大的类的分数设置为1,并将所有其他类的分数设置为0gydF4y2Ba “分对数”gydF4y2Ba
1 / (1 +gydF4y2BaegydF4y2Ba- - - - - -gydF4y2BaxgydF4y2Ba)gydF4y2Ba “没有”gydF4y2Ba
或gydF4y2Ba“身份”gydF4y2Ba
xgydF4y2Ba(转换)gydF4y2Ba “标志”gydF4y2Ba
1gydF4y2BaxgydF4y2Ba< 0gydF4y2Ba
为0gydF4y2BaxgydF4y2Ba= 0gydF4y2Ba
1gydF4y2BaxgydF4y2Ba> 0gydF4y2Ba“对称”gydF4y2Ba
2gydF4y2BaxgydF4y2Ba- 1gydF4y2Ba “symmetricismax”gydF4y2Ba
将分数最大的类的分数设置为1,并将所有其他类的分数设置为-1gydF4y2Ba “symmetriclogit”gydF4y2Ba
2 / (1 +gydF4y2BaegydF4y2Ba- - - - - -gydF4y2BaxgydF4y2Ba) - 1gydF4y2Ba 对于一个MATLABgydF4y2Ba®gydF4y2Ba函数或您定义的函数,请输入其函数句柄。gydF4y2Ba
Mdl。ScoreTransform = @gydF4y2Ba函数gydF4y2Ba;gydF4y2Ba
函数gydF4y2Ba
必须接受一个矩阵(原始分数)并返回一个相同大小的矩阵(转换后的分数)。gydF4y2Ba
数据类型:gydF4y2Ba字符gydF4y2Ba
|gydF4y2Bafunction_handlegydF4y2Ba
对象的功能gydF4y2Ba
compareHoldoutgydF4y2Ba |
使用新数据比较两种分类模型的准确性gydF4y2Ba |
discardSupportVectorsgydF4y2Ba |
抛弃ECOC模型中线性支持向量机二元学习者的支持向量gydF4y2Ba |
边缘gydF4y2Ba |
多类纠错输出码(ECOC)模型的分类边缘gydF4y2Ba |
收集gydF4y2Ba |
收集的属性gydF4y2Ba统计和机器学习工具箱gydF4y2Ba对象从GPUgydF4y2Ba |
incrementalLearnergydF4y2Ba |
将多类纠错输出码(ECOC)模型转换为增量学习器gydF4y2Ba |
石灰gydF4y2Ba |
局部可解释模型不可知解释(LIME)gydF4y2Ba |
损失gydF4y2Ba |
多类纠错输出码(ECOC)模型的分类损失gydF4y2Ba |
保证金gydF4y2Ba |
多类纠错输出码(ECOC)模型的分类裕度gydF4y2Ba |
partialDependencegydF4y2Ba |
计算部分依赖gydF4y2Ba |
plotPartialDependencegydF4y2Ba |
创建偏依赖图(PDP)和个体条件期望图(ICE)gydF4y2Ba |
预测gydF4y2Ba |
利用多类纠错输出码(ECOC)模型对观测数据进行分类gydF4y2Ba |
沙普利gydF4y2Ba |
沙普利值gydF4y2Ba |
selectModelsgydF4y2Ba |
选择由二进制组成的多类ECOC模型子集gydF4y2BaClassificationLineargydF4y2Ba 学习者gydF4y2Ba |
更新gydF4y2Ba |
更新模型参数以生成代码gydF4y2Ba |
例子gydF4y2Ba
减小完整ECOC模型的尺寸gydF4y2Ba
通过删除训练数据来减小完整ECOC模型的大小。完整的ECOC型号(gydF4y2BaClassificationECOCgydF4y2Ba
模型)保存训练数据。为了提高效率,请使用更小的分类器。gydF4y2Ba
载入费雪的虹膜数据集。指定预测数据gydF4y2BaXgydF4y2Ba
,响应数据gydF4y2BaYgydF4y2Ba
中的类的顺序gydF4y2BaYgydF4y2Ba
.gydF4y2Ba
负载gydF4y2BafisheririsgydF4y2BaX =量;Y =分类(物种);classOrder =独特(Y);gydF4y2Ba
使用支持向量机二分类器训练ECOC模型。使用支持向量机模板对预测器数据进行标准化gydF4y2BatgydF4y2Ba
,并指定类的顺序。在训练过程中,软件对空选项使用默认值gydF4y2BatgydF4y2Ba
.gydF4y2Ba
t = templateSVM (gydF4y2Ba“标准化”gydF4y2Ba,真正的);Mdl = fitcecoc (X, Y,gydF4y2Ba“学习者”gydF4y2BatgydF4y2Ba“类名”gydF4y2Ba, classOrder);gydF4y2Ba
MdlgydF4y2Ba
是一个gydF4y2BaClassificationECOCgydF4y2Ba
模型。gydF4y2Ba
减小ECOC模型的大小。gydF4y2Ba
CompactMdl =紧凑(Mdl)gydF4y2Ba
CompactMdl = CompactClassificationECOC ResponseName: 'Y' CategoricalPredictors: [] ClassNames: [setosa versicolor virginica] ScoreTransform: 'none' binary学习者:{3x1 cell} CodingMatrix: [3x3 double]属性,方法gydF4y2Ba
CompactMdlgydF4y2Ba
是一个gydF4y2BaCompactClassificationECOCgydF4y2Ba
模型。gydF4y2BaCompactMdlgydF4y2Ba
不存储所有的属性吗gydF4y2BaMdlgydF4y2Ba
商店。特别是,它不存储训练数据。gydF4y2Ba
显示每个分类器使用的内存量。gydF4y2Ba
谁(gydF4y2Ba“CompactMdl”gydF4y2Ba,gydF4y2Ba“Mdl”gydF4y2Ba)gydF4y2Ba
名称大小字节类属性CompactMdl 1x1 15116 classreg.learning.classif.CompactClassificationECOC Mdl 1x1 28357 ClassificationECOCgydF4y2Ba
完整的ECOC模型(gydF4y2BaMdlgydF4y2Ba
)的尺寸约为紧凑型ECOC (gydF4y2BaCompactMdlgydF4y2Ba
).gydF4y2Ba
为了有效地标记新的观察结果,您可以删除gydF4y2BaMdlgydF4y2Ba
从MATLAB®工作区,然后通过gydF4y2BaCompactMdlgydF4y2Ba
和新的预测值gydF4y2Ba预测gydF4y2Ba
.gydF4y2Ba
训练和交叉验证ECOC分类器gydF4y2Ba
使用不同的二进制学习器和一对所有的编码设计来训练和交叉验证ECOC分类器。gydF4y2Ba
载入费雪的虹膜数据集。指定预测数据gydF4y2BaXgydF4y2Ba
和响应数据gydF4y2BaYgydF4y2Ba
.确定类名和类的数量。gydF4y2Ba
负载gydF4y2BafisheririsgydF4y2BaX =量;Y =物种;一会=独特(物种(~ strcmp(物种,gydF4y2Ba”gydF4y2Ba)))gydF4y2Ba%删除空类gydF4y2Ba
一会=gydF4y2Ba3 x1细胞gydF4y2Ba{'setosa'} {'versicolor'} {'virginica'}gydF4y2Ba
K =元素个数(类名)gydF4y2Ba类数%gydF4y2Ba
K = 3gydF4y2Ba
您可以使用gydF4y2Ba一会gydF4y2Ba
在训练过程中指定类的顺序。gydF4y2Ba
对于一个对所有的编码设计,这个示例具有gydF4y2BaKgydF4y2Ba
= 3个二元学习者。为二进制学习器指定模板:gydF4y2Ba
二元学习器1和2是朴素贝叶斯分类器。默认情况下,每个预测器都是有条件的正态分布。gydF4y2Ba
二元学习器3是一个支持向量机分类器。指定使用高斯核。gydF4y2Ba
rng (1);gydF4y2Ba%的再现性gydF4y2BatNB = templateNaiveBayes ();tSVM = templateSVM (gydF4y2Ba“KernelFunction”gydF4y2Ba,gydF4y2Ba“高斯”gydF4y2Ba);tlearner = {tNB tNB tSVM};gydF4y2Ba
tNBgydF4y2Ba
而且gydF4y2BatSVMgydF4y2Ba
分别为朴素贝叶斯和支持向量机学习的模板对象。对象指示在训练期间使用哪些选项。除了由名称-值对参数指定的属性外,它们的大多数属性都是空的。在训练过程中,软件用默认值填充空属性。gydF4y2Ba
使用二进制学习器模板和单对全编码设计训练和交叉验证ECOC分类器。指定类的顺序。默认情况下,朴素贝叶斯分类器使用后验概率作为分数,而支持向量机分类器使用到决策边界的距离。因此,要聚合二元学习器,必须指定适合后验概率。gydF4y2Ba
CVMdl = fitcecoc (X, Y,gydF4y2Ba“类名”gydF4y2Ba一会,gydF4y2Ba“CrossVal”gydF4y2Ba,gydF4y2Ba“上”gydF4y2Ba,gydF4y2Ba...gydF4y2Ba“学习者”gydF4y2BatLearners,gydF4y2Ba“FitPosterior”gydF4y2Ba,真正的);gydF4y2Ba
CVMdlgydF4y2Ba
是一个gydF4y2BaClassificationPartitionedECOCgydF4y2Ba
旨在模型。默认情况下,该软件实现了10次交叉验证。二元学习者的分数具有相同的形式(即它们是后验概率),因此该软件可以正确地聚合二元分类的结果。gydF4y2Ba
使用点表示法检查训练过的其中一个折叠。gydF4y2Ba
CVMdl。训练有素的{1}gydF4y2Ba
ans = CompactClassificationECOC ResponseName: 'Y' CategoricalPredictors: [] ClassNames: {'setosa' 'versicolor' 'virginica'} ScoreTransform: 'none' binarylanguages: {3x1 cell} CodingMatrix: [3x3 double]属性,方法gydF4y2Ba
每条折线都是gydF4y2BaCompactClassificationECOCgydF4y2Ba
模型训练了90%的数据。gydF4y2Ba
您可以使用点表示法和单元格索引访问二元学习器的结果。在第一次折叠中显示训练过的SVM分类器(第三个二进制学习器)。gydF4y2Ba
CVMdl.Trained {1} .BinaryLearners {3}gydF4y2Ba
ans = CompactClassificationSVM ResponseName: 'Y' CategoricalPredictors: [] ClassNames: [-1 1] ScoreTransform: '@(S)sigmoid(S,-4.016619e+00,-3.243499e-01)' Alpha: [33x1 double] Bias: -0.1345 KernelParameters: [1x1 struct] SupportVectors: [33x4 double] SupportVectorLabels: [33x1 double] Properties, MethodsgydF4y2Ba
估计泛化误差。gydF4y2Ba
genError = kfoldLoss (CVMdl)gydF4y2Ba
genError = 0.0333gydF4y2Ba
平均而言,泛化误差约为3%。gydF4y2Ba
更多关于gydF4y2Ba
纠错输出码模型gydF4y2Ba
一个gydF4y2Ba纠错输出码(ECOC)模型gydF4y2Ba将三个或多个类的分类问题简化为一组二进制分类问题。gydF4y2Ba
ECOC分类需要一个编码设计,它决定了二进制学习者训练的类,以及一个解码方案,它决定了二进制分类器的结果(预测)如何聚合。gydF4y2Ba
假设如下:gydF4y2Ba
分类问题有三类。gydF4y2Ba
编码设计是一对一的。对于三个类,本编码设计为gydF4y2Ba
方法可以指定不同的编码设计gydF4y2Ba
编码gydF4y2Ba
创建分类模型时的名称-值参数。gydF4y2Ba该模型采用带二进制损失函数的损失加权译码方案确定预测类gydF4y2BaggydF4y2Ba.该软件还支持基于损耗的解码方案。方法可以指定解码方案和二进制损耗函数gydF4y2Ba
解码gydF4y2Ba
而且gydF4y2BaBinaryLossgydF4y2Ba
当调用对象函数时,例如gydF4y2Ba预测gydF4y2Ba
,gydF4y2Ba损失gydF4y2Ba
,gydF4y2Ba保证金gydF4y2Ba
,gydF4y2Ba边缘gydF4y2Ba
,等等。gydF4y2Ba
ECOC算法遵循这些步骤。gydF4y2Ba
学习者1在1班或2班进行观察训练,将1班视为积极班,将2班视为消极班。其他的学习者也接受类似的训练。gydF4y2Ba
让gydF4y2Ba米gydF4y2Ba是带有元素的编码设计矩阵gydF4y2Ba米gydF4y2Ba吉隆坡gydF4y2Ba,gydF4y2Ba年代gydF4y2BalgydF4y2Ba为积极学习者班级的预测分类分数gydF4y2BalgydF4y2Ba.算法将一个新的观察值赋给类(gydF4y2Ba ),将损失的总和减至最低gydF4y2BaBgydF4y2Ba二进制的学习者。gydF4y2Ba
与其他多类模型相比,ECOC模型可以提高分类精度gydF4y2Ba[1]gydF4y2Ba.gydF4y2Ba
编码设计gydF4y2Ba
的gydF4y2Ba编码设计gydF4y2Ba是一个矩阵,其元素指导每个二元学习者训练哪些类,即如何将多类问题简化为一系列二元问题。gydF4y2Ba
编码设计的每一行对应一个不同的类,每一列对应一个二进制学习者。在三元编码设计中,对于特定列(或二元学习器):gydF4y2Ba
包含1的行指示二元学习者将对应类中的所有观察结果归为正类。gydF4y2Ba
包含-1的行指示二元学习者将对应类中的所有观察结果分组为负类。gydF4y2Ba
包含0的行指示二元学习者忽略对应类中的所有观察结果。gydF4y2Ba
编码设计矩阵具有大的,最小的,基于汉明测度的成对行距离是最优的。有关成对行距离的详细信息,请参见gydF4y2Ba随机编码设计矩阵gydF4y2Ba而且gydF4y2Ba[2]gydF4y2Ba.gydF4y2Ba
下表描述了流行的编码设计。gydF4y2Ba
编码设计gydF4y2Ba | 描述gydF4y2Ba | 许多学习者gydF4y2Ba | 最小成对行距离gydF4y2Ba |
---|---|---|---|
one-versus-all(卵子)gydF4y2Ba | 对于每一个二元学习者,一类是积极的,其余的是消极的。这种设计用尽了所有积极的课堂作业的组合。gydF4y2Ba | KgydF4y2Ba | 2gydF4y2Ba |
one-versus-one(蛋)gydF4y2Ba | 对于每一个二元学习者,一类是积极的,一类是消极的,其余的被忽略。这种设计用尽了类对分配的所有组合。gydF4y2Ba | KgydF4y2Ba(gydF4y2BaKgydF4y2Ba- 1) / 2gydF4y2Ba |
1gydF4y2Ba |
二进制文件完成gydF4y2Ba | 这种设计将类划分为所有的二进制组合,并且不忽略任何类。也就是说,所有的课堂作业都是gydF4y2Ba |
2gydF4y2BaKgydF4y2Ba- 1gydF4y2Ba- 1gydF4y2Ba | 2gydF4y2BaKgydF4y2Ba- 2gydF4y2Ba |
三元完成gydF4y2Ba | 这种设计将类划分为所有三元组合。也就是说,所有的课堂作业都是gydF4y2Ba |
(3gydF4y2BaKgydF4y2Ba- 2gydF4y2BaKgydF4y2Ba+ 1gydF4y2Ba+ 1) / 2gydF4y2Ba |
3.gydF4y2BaKgydF4y2Ba- 2gydF4y2Ba |
序数gydF4y2Ba | 对于第一个二元学习者来说,第一节课是消极的,其余的都是积极的。对于第二个二元学习者来说,前两个类别是消极的,其余的是积极的,以此类推。gydF4y2Ba | KgydF4y2Ba- 1gydF4y2Ba | 1gydF4y2Ba |
密集的随机gydF4y2Ba | 对于每一个二元学习者,软件随机地将类分为正类和负类,每种类型至少有一个。有关更多细节,请参见gydF4y2Ba随机编码设计矩阵gydF4y2Ba.gydF4y2Ba | 随机,但大约10个日志gydF4y2Ba2gydF4y2BaKgydF4y2Ba |
变量gydF4y2Ba |
稀疏随机gydF4y2Ba | 对于每一个二元学习者,软件随机分配正或负的类别,每个类别的概率为0.25,忽略概率为0.5的类别。有关更多细节,请参见gydF4y2Ba随机编码设计矩阵gydF4y2Ba.gydF4y2Ba | 随机,但大约15个日志gydF4y2Ba2gydF4y2BaKgydF4y2Ba |
变量gydF4y2Ba |
该图比较了编码设计中二进制学习者的数量随时间的增加而增加的情况gydF4y2BaKgydF4y2Ba.gydF4y2Ba
算法gydF4y2Ba
随机编码设计矩阵gydF4y2Ba
对于给定数量的类gydF4y2BaKgydF4y2Ba,该软件生成如下随机编码设计矩阵。gydF4y2Ba
该软件生成以下矩阵之一:gydF4y2Ba
密集随机-软件以相等的概率分配1或- 1给的每个元素gydF4y2BaKgydF4y2Ba——- - - - - -gydF4y2BalgydF4y2BadgydF4y2Ba编码设计矩阵,其中gydF4y2Ba .gydF4y2Ba
稀疏随机-软件分配1的每个元素gydF4y2BaKgydF4y2Ba——- - - - - -gydF4y2BalgydF4y2Ba年代gydF4y2Ba概率为0.25的编码设计矩阵,概率为0.25的-1,概率为0.5的0gydF4y2Ba .gydF4y2Ba
如果一列不包含至少一个1和一个-1,那么软件将删除该列。gydF4y2Ba
对于不同的列gydF4y2BaugydF4y2Ba而且gydF4y2BavgydF4y2Ba,如果gydF4y2BaugydF4y2Ba=gydF4y2BavgydF4y2Ba或gydF4y2BaugydF4y2Ba= -gydF4y2BavgydF4y2Ba,然后软件就会删除gydF4y2BavgydF4y2Ba从编码设计矩阵。gydF4y2Ba
软件默认随机生成10,000个矩阵,并保留基于Hamming测度的最大最小成对行距离矩阵(gydF4y2Ba[2]gydF4y2Ba)由gydF4y2Ba
在哪里gydF4y2Ba米gydF4y2BakgydF4y2BajgydF4y2BalgydF4y2Ba编码是设计矩阵的一个元素吗gydF4y2BajgydF4y2Ba.gydF4y2Ba
支持向量存储gydF4y2Ba
默认情况下,为了提高效率,gydF4y2BafitcecocgydF4y2Ba
清空了gydF4y2BaαgydF4y2Ba
,gydF4y2BaSupportVectorLabelsgydF4y2Ba
,gydF4y2BaSupportVectorsgydF4y2Ba
所有线性支持向量机二元学习器的性质。gydF4y2BafitcecocgydF4y2Ba
列表gydF4y2BaβgydF4y2Ba
,而不是gydF4y2BaαgydF4y2Ba
,在模型显示。gydF4y2Ba
来存储gydF4y2BaαgydF4y2Ba
,gydF4y2BaSupportVectorLabelsgydF4y2Ba
,gydF4y2BaSupportVectorsgydF4y2Ba
,传递一个指定存储支持向量的线性SVM模板gydF4y2BafitcecocgydF4y2Ba
.例如,输入:gydF4y2Ba
t = templateSVM (gydF4y2Ba“SaveSupportVectors”gydF4y2BaMdl = fitcecoc(X,Y,gydF4y2Ba“学习者”gydF4y2Bat);gydF4y2Ba
您可以通过传递结果来删除支持向量和相关值gydF4y2BaClassificationECOCgydF4y2Ba
模型gydF4y2BadiscardSupportVectorsgydF4y2Ba
.gydF4y2Ba
参考文献gydF4y2Ba
[1] Furnkranz,约翰。“循环赛分类”。gydF4y2Baj·马赫。学习。Res。gydF4y2Ba2002年,第2卷,第721-747页。gydF4y2Ba
[2] Escalera, S., O. Pujol和P. Radeva。用于纠错输出码稀疏设计的三元码的可分离性。gydF4y2BaRecog模式。列托人。gydF4y2Ba2009年第3期,第285-297页。gydF4y2Ba
扩展功能gydF4y2Ba
C / c++代码生成gydF4y2Ba
使用MATLAB®Coder™生成C和c++代码。gydF4y2Ba
使用注意事项和限制:gydF4y2Ba
的gydF4y2Ba
预测gydF4y2Ba
而且gydF4y2Ba更新gydF4y2Ba
函数支持代码生成。gydF4y2Ba当你训练ECOC模型时使用gydF4y2Ba
fitcecocgydF4y2Ba
,适用以下限制。gydF4y2Ba所有的二元学习器必须是支持向量机分类器或线性分类模型。为gydF4y2Ba
学习者gydF4y2Ba
参数,你可以指定:gydF4y2Ba“支持向量机”gydF4y2Ba
或gydF4y2Ba“线性”gydF4y2Ba
SVM模板对象或此类对象的单元格数组(参见gydF4y2Ba
templateSVMgydF4y2Ba
)gydF4y2Ba线性分类模型模板对象或此类对象的单元格数组(参见gydF4y2Ba
templateLineargydF4y2Ba
)gydF4y2Ba
的编码器配置程序生成代码时gydF4y2Ba
预测gydF4y2Ba
而且gydF4y2Ba更新gydF4y2Ba
,以下附加限制适用于二元学习者。gydF4y2Ba如果使用SVM模板对象的单元格数组,则gydF4y2Ba
标准化gydF4y2Ba
支持向量机学习者必须是一致的。例如,如果您指定gydF4y2Ba“标准化”,真的gydF4y2Ba
对于一个SVM学习器,必须为所有SVM学习器指定相同的值。gydF4y2Ba如果使用支持向量机模板对象的单元阵列,并且使用一个具有线性核(gydF4y2Ba
“KernelFunction”、“线性”gydF4y2Ba
)和另一个具有不同类型的核函数,则必须指定gydF4y2Ba
对于线性核的学习者。gydF4y2Ba“SaveSupportVectors”gydF4y2Ba
,真正的gydF4y2Ba
有关详细信息,请参见gydF4y2Ba
ClassificationECOCCoderConfigurergydF4y2Ba
.有关在重新训练模型时不能修改的名称-值参数的信息,请参见gydF4y2Ba提示gydF4y2Ba.gydF4y2Ba支持向量机分类器和线性分类模型的代码生成限制也适用于ECOC分类器,这取决于二进制学习者的选择。有关更多细节,请参见gydF4y2Ba代码生成gydF4y2Ba的gydF4y2Ba
CompactClassificationSVMgydF4y2Ba
类和gydF4y2Ba代码生成gydF4y2Ba的gydF4y2BaClassificationLineargydF4y2Ba
类。gydF4y2Ba
有关更多信息,请参见gydF4y2Ba代码生成简介gydF4y2Ba.gydF4y2Ba
GPU数组gydF4y2Ba
通过使用并行计算工具箱™在图形处理单元(GPU)上运行来加速代码。gydF4y2Ba
使用注意事项和限制:gydF4y2Ba
以下对象函数完全支持GPU阵列:gydF4y2Ba
以下对象函数为GPU阵列提供了有限的支持:gydF4y2Ba
如果适用以下任何一种情况,对象函数将在GPU上执行:gydF4y2Ba
模型采用GPU阵列进行拟合。gydF4y2Ba
传递给对象函数的预测器数据是一个GPU数组。gydF4y2Ba
有关更多信息,请参见gydF4y2Ba在图形处理器上运行MATLAB函数gydF4y2Ba(并行计算工具箱)gydF4y2Ba.gydF4y2Ba
版本历史gydF4y2Ba
介绍了R2014bgydF4y2Ba
另请参阅gydF4y2Ba
ClassificationECOCgydF4y2Ba
|gydF4y2BafitcecocgydF4y2Ba
|gydF4y2Ba紧凑的gydF4y2Ba
|gydF4y2BaClassificationPartitionedLinearECOCgydF4y2Ba
|gydF4y2BaClassificationPartitionedKernelECOCgydF4y2Ba
|gydF4y2BaClassificationPartitionedECOCgydF4y2Ba
MATLAB命令gydF4y2Ba
你点击了一个对应于这个MATLAB命令的链接:gydF4y2Ba
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。gydF4y2Ba
选择一个网站gydF4y2Ba
选择一个网站,在可用的地方获得翻译的内容,并查看当地的活动和优惠。根据您的地理位置,我们建议您选择:gydF4y2Ba.gydF4y2Ba
您也可以从以下列表中选择网站:gydF4y2Ba
如何获得最佳的网站性能gydF4y2Ba
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。gydF4y2Ba
美洲gydF4y2Ba
- 美国拉丁gydF4y2Ba(西班牙语)gydF4y2Ba
- 加拿大gydF4y2Ba(英语)gydF4y2Ba
- 美国gydF4y2Ba(英语)gydF4y2Ba
欧洲gydF4y2Ba
- 比利时gydF4y2Ba(英语)gydF4y2Ba
- 丹麦gydF4y2Ba(英语)gydF4y2Ba
- 德国gydF4y2Ba(德语)gydF4y2Ba
- 西班牙gydF4y2Ba(西班牙语)gydF4y2Ba
- 芬兰gydF4y2Ba(英语)gydF4y2Ba
- 法国gydF4y2Ba(法语)gydF4y2Ba
- 爱尔兰gydF4y2Ba(英语)gydF4y2Ba
- 意大利gydF4y2Ba(意大利语)gydF4y2Ba
- 卢森堡gydF4y2Ba(英语)gydF4y2Ba
- 荷兰gydF4y2Ba(英语)gydF4y2Ba
- 挪威gydF4y2Ba(英语)gydF4y2Ba
- 奥地利gydF4y2Ba(德语)gydF4y2Ba
- 葡萄牙gydF4y2Ba(英语)gydF4y2Ba
- 瑞典gydF4y2Ba(英语)gydF4y2Ba
- 瑞士gydF4y2Ba
- 联合王国gydF4y2Ba(英语)gydF4y2Ba
亚太地区gydF4y2Ba
- 澳大利亚gydF4y2Ba(英语)gydF4y2Ba
- 印度gydF4y2Ba(英语)gydF4y2Ba
- 新西兰gydF4y2Ba(英语)gydF4y2Ba
- 中国gydF4y2Ba
- 日本gydF4y2Ba(日本語)gydF4y2Ba
- 한국gydF4y2Ba(한국어)gydF4y2Ba