主要内容G.ydF4y2Ba

重新提交G.ydF4y2Ba

用于多款纠错输出代码(ECOC)模型的重新提交分类边缘G.ydF4y2Ba

描述G.ydF4y2Ba

示例G.ydF4y2Ba

E.G.ydF4y2Ba= ResubEdge(G.ydF4y2BaMDL.G.ydF4y2Ba)G.ydF4y2Ba返回重新讨论G.ydF4y2Ba分类边缘G.ydF4y2Ba(G.ydF4y2BaE.G.ydF4y2Ba)对于多批分纠错输出代码(ECOC)模型G.ydF4y2BaMDL.G.ydF4y2Ba使用存储在G.ydF4y2Bamdl.x.G.ydF4y2Ba和存储在的相应类标签G.ydF4y2Bamdl.y.G.ydF4y2Ba.G.ydF4y2Ba

分类边是一个标量值,代表的加权平均值G.ydF4y2Ba分类边距G.ydF4y2Ba.G.ydF4y2Ba

示例G.ydF4y2Ba

E.G.ydF4y2Ba= ResubEdge(G.ydF4y2BaMDL.G.ydF4y2Ba那G.ydF4y2Ba名称,价值G.ydF4y2Ba)G.ydF4y2Ba使用由一个或多个名称 - 值对参数指定的其他选项计算重新提交的分类边。例如,您可以指定解码方案,二进制学习者丢失函数和详细级别。G.ydF4y2Ba

例子G.ydF4y2Ba

崩溃G.ydF4y2Ba

使用SVM二进制学习者计算ECOC模型的重新提交边缘。G.ydF4y2Ba

装载Fisher的Iris数据集。指定预测器数据G.ydF4y2BaX.G.ydF4y2Ba和响应数据G.ydF4y2BayG.ydF4y2Ba.G.ydF4y2Ba

加载G.ydF4y2Ba渔民G.ydF4y2BaX =量;y =物种;G.ydF4y2Ba

使用SVM二进制分类器列车ecoc模型。使用SVM模板标准化预测器,并指定类顺序。G.ydF4y2Ba

t = templateSVM (G.ydF4y2Ba“标准化”G.ydF4y2Ba,真的);classOrder =唯一(y)G.ydF4y2Ba
ClassOrder =.G.ydF4y2Ba3x1细胞G.ydF4y2Ba{'setosa'} {'versicolor'} {'virginica'}G.ydF4y2Ba
mdl = fitcecoc(x,y,G.ydF4y2Ba'学习者'G.ydF4y2BatG.ydF4y2Ba“类名”G.ydF4y2Ba,classorder);G.ydF4y2Ba

T.G.ydF4y2Ba是一个支持向量机模板对象。在培训期间,软件使用默认值的空属性G.ydF4y2BaT.G.ydF4y2Ba.G.ydF4y2BaMDL.G.ydF4y2Ba是A.G.ydF4y2BaClassifiedecoc.G.ydF4y2Ba模型。G.ydF4y2Ba

计算再替换边,即训练样本边缘的均值。G.ydF4y2Ba

e = ResubEdge(MDL)G.ydF4y2Ba
E = 0.4961.G.ydF4y2Ba

通过比较来自多个模型的训练样本边缘来执行特征选择。仅基于此比较,具有最佳边缘的分类器是最好的分类器。G.ydF4y2Ba

装载Fisher的Iris数据集。定义两个数据集:G.ydF4y2Ba

  • ullx.G.ydF4y2Ba包含所有四个预测因子。G.ydF4y2Ba

  • partx.G.ydF4y2Ba仅包含Sepal测量。G.ydF4y2Ba

加载G.ydF4y2Ba渔民G.ydF4y2BaX =量;fullx = x;partx = x(:,1:2);y =物种;G.ydF4y2Ba

使用SVM二进制学习者为每个预测器集进行培训ECOC模型。使用SVM模板标准化预测器,指定类顺序,并计算后验概率。G.ydF4y2Ba

t = templateSVM (G.ydF4y2Ba“标准化”G.ydF4y2Ba,真的);classOrder =唯一(y)G.ydF4y2Ba
ClassOrder =.G.ydF4y2Ba3x1细胞G.ydF4y2Ba{'setosa'} {'versicolor'} {'virginica'}G.ydF4y2Ba
fullmdl = fitcecoc(fullx,y,G.ydF4y2Ba'学习者'G.ydF4y2BatG.ydF4y2Ba“类名”G.ydF4y2Ba,classorder,G.ydF4y2Ba......G.ydF4y2Ba'fitposterior'G.ydF4y2Ba,真的);partmdl = fitcecoc(partx,y,G.ydF4y2Ba'学习者'G.ydF4y2BatG.ydF4y2Ba“类名”G.ydF4y2Ba,classorder,G.ydF4y2Ba......G.ydF4y2Ba'fitposterior'G.ydF4y2Ba,真的);G.ydF4y2Ba

默认SVM分数是与决策边界的距离。如果指定要计算后部概率,则软件将使用后部概率作为分数。G.ydF4y2Ba

为每个分类器计算重新提交边沿。二次损耗功能在域中的分数上运行[0,1]。指定在为两种模型聚合二进制学习者时使用二次丢失。G.ydF4y2Ba

FullEdge = ResubEdge(FullMDL,G.ydF4y2Ba“BinaryLoss”G.ydF4y2Ba那G.ydF4y2Ba“二次”G.ydF4y2Ba)G.ydF4y2Ba
FultEdge = 0.9896.G.ydF4y2Ba
partEdge = resubEdge (PartMdl,G.ydF4y2Ba“BinaryLoss”G.ydF4y2Ba那G.ydF4y2Ba“二次”G.ydF4y2Ba)G.ydF4y2Ba
PartEdge = 0.5059.G.ydF4y2Ba

在完整的数据集上培训的分类器的边缘更大,表明,随着所有预测器训练的分类器具有更好的培训样本拟合。G.ydF4y2Ba

输入参数G.ydF4y2Ba

崩溃G.ydF4y2Ba

完整培训的多种多组ecoc模型,指定为aG.ydF4y2BaClassifiedecoc.G.ydF4y2Ba模型训练有素G.ydF4y2BaFitcecoc.G.ydF4y2Ba.G.ydF4y2Ba

名称值对参数G.ydF4y2Ba

指定可选的逗号分离对G.ydF4y2Ba名称,价值G.ydF4y2Ba参数。G.ydF4y2Ba名称G.ydF4y2Ba是参数名称和G.ydF4y2Ba价值G.ydF4y2Ba是相应的价值。G.ydF4y2Ba名称G.ydF4y2Ba必须出现在引号内。您可以以任何顺序指定多个名称和值对参数G.ydF4y2BaName1, Value1,…,的家G.ydF4y2Ba.G.ydF4y2Ba

例子:G.ydF4y2BaResubege(MDL,'Binaryloss','二次')G.ydF4y2Ba指定二进制二进制学习者丢失函数。G.ydF4y2Ba

二进制学习者丢失功能,指定为逗号分隔对组成G.ydF4y2Ba“BinaryLoss”G.ydF4y2Ba和内置丢失函数名称或功能句柄。G.ydF4y2Ba

  • 此表介绍了内置函数,其中G.ydF4y2BayG.ydF4y2BajG.ydF4y2Ba是一个特定二元学习者的类标签(在集合{- 1,1,0}中),G.ydF4y2BaS.G.ydF4y2BajG.ydF4y2Ba分数是否供观察G.ydF4y2BajG.ydF4y2Ba,和G.ydF4y2BaG.G.ydF4y2Ba(G.ydF4y2BayG.ydF4y2BajG.ydF4y2Ba那G.ydF4y2BaS.G.ydF4y2BajG.ydF4y2Ba)为二进制损耗公式。G.ydF4y2Ba

    价值G.ydF4y2Ba 描述G.ydF4y2Ba 得分领域G.ydF4y2Ba G.G.ydF4y2Ba(G.ydF4y2BayG.ydF4y2BajG.ydF4y2Ba那G.ydF4y2BaS.G.ydF4y2BajG.ydF4y2Ba)G.ydF4y2Ba
    'binodeviance'G.ydF4y2Ba 二项式偏差G.ydF4y2Ba ( - ∞,∞)G.ydF4y2Ba 日志[1 + exp(-2G.ydF4y2BayG.ydF4y2BajG.ydF4y2BaS.G.ydF4y2BajG.ydF4y2Ba)] / [2log(2)]G.ydF4y2Ba
    '指数'G.ydF4y2Ba 指数G.ydF4y2Ba ( - ∞,∞)G.ydF4y2Ba exp( -G.ydF4y2BayG.ydF4y2BajG.ydF4y2BaS.G.ydF4y2BajG.ydF4y2Ba) / 2G.ydF4y2Ba
    '汉明'G.ydF4y2Ba 汉字G.ydF4y2Ba [0,1]或( - ∞,∞)G.ydF4y2Ba [1 - 符号(G.ydF4y2BayG.ydF4y2BajG.ydF4y2BaS.G.ydF4y2BajG.ydF4y2Ba)] / 2G.ydF4y2Ba
    '铰链'G.ydF4y2Ba 铰链G.ydF4y2Ba ( - ∞,∞)G.ydF4y2Ba 马克斯(0,1 -G.ydF4y2BayG.ydF4y2BajG.ydF4y2BaS.G.ydF4y2BajG.ydF4y2Ba) / 2G.ydF4y2Ba
    '线性'G.ydF4y2Ba 线性G.ydF4y2Ba ( - ∞,∞)G.ydF4y2Ba (1 -G.ydF4y2BayG.ydF4y2BajG.ydF4y2BaS.G.ydF4y2BajG.ydF4y2Ba) / 2G.ydF4y2Ba
    'logit'G.ydF4y2Ba 物流G.ydF4y2Ba ( - ∞,∞)G.ydF4y2Ba 日志[1 + exp( -G.ydF4y2BayG.ydF4y2BajG.ydF4y2BaS.G.ydF4y2BajG.ydF4y2Ba)] / [2log(2)]G.ydF4y2Ba
    “二次”G.ydF4y2Ba 二次G.ydF4y2Ba [0,1]G.ydF4y2Ba [1 -G.ydF4y2BayG.ydF4y2BajG.ydF4y2Ba(2G.ydF4y2BaS.G.ydF4y2BajG.ydF4y2Ba- 1))G.ydF4y2Ba2G.ydF4y2Ba/ 2.G.ydF4y2Ba

    该软件规范二进制损耗,以便损失为0.5何时G.ydF4y2BayG.ydF4y2BajG.ydF4y2Ba= 0。此外,软件计算每个类的平均二进制损失。G.ydF4y2Ba

  • 例如,对于自定义二进制丢失函数G.ydF4y2BaCustomFunction.G.ydF4y2Ba,指定其功能句柄G.ydF4y2BaBinaryLoss, @customFunctionG.ydF4y2Ba.G.ydF4y2Ba

    CustomFunction.G.ydF4y2Ba有这个形式:G.ydF4y2Ba

    bloss = customfunction(m,s)G.ydF4y2Ba
    在哪里:G.ydF4y2Ba

    • mG.ydF4y2Ba是G.ydF4y2BaK.G.ydF4y2Ba——- - - - - -G.ydF4y2BaL.G.ydF4y2Ba存储在G.ydF4y2Bamdl.codingmatrix.G.ydF4y2Ba.G.ydF4y2Ba

    • S.G.ydF4y2Ba是1-by-G.ydF4y2BaL.G.ydF4y2Ba分类分数的行向量。G.ydF4y2Ba

    • 布劳斯G.ydF4y2Ba是分类损失。此标量将每个学习者的二进制损耗聚集在特定类中的每个学习者。例如,您可以使用平均二进制丢失来聚合每个类的学习者丢失。G.ydF4y2Ba

    • K.G.ydF4y2Ba是课程的数量。G.ydF4y2Ba

    • L.G.ydF4y2Ba是二元学习者的数量。G.ydF4y2Ba

    有关传递自定义二进制损耗函数的示例,请参见G.ydF4y2Ba使用自定义二进制损耗函数预测Ecoc模型的测试样本标签G.ydF4y2Ba.G.ydF4y2Ba

默认值G.ydF4y2Ba二进制数G.ydF4y2Ba值取决于二进制学习者返回的分数范围。该表描述了一些默认值G.ydF4y2Ba二进制数G.ydF4y2Ba基于给定假设的值。G.ydF4y2Ba

假设G.ydF4y2Ba 默认值G.ydF4y2Ba
所有的二进制学习器都是支持向量机或支持向量机的线性或核分类模型。G.ydF4y2Ba '铰链'G.ydF4y2Ba
所有二进制学习者都是培训的乐队G.ydF4y2BaAdaboostM1G.ydF4y2Ba或者G.ydF4y2Ba温博G.ydF4y2Ba.G.ydF4y2Ba '指数'G.ydF4y2Ba
所有二进制学习者都是培训的乐队G.ydF4y2BaLogitboost.G.ydF4y2Ba.G.ydF4y2Ba 'binodeviance'G.ydF4y2Ba
所有二元学习者都是logistic回归学习者的线性或核分类模型。或者,你指定通过设置来预测类的后验概率G.ydF4y2Ba“FitPosterior”,真的G.ydF4y2Bain.G.ydF4y2BaFitcecoc.G.ydF4y2Ba.G.ydF4y2Ba “二次”G.ydF4y2Ba

要检查默认值,请使用点表示法显示G.ydF4y2Ba二进制数G.ydF4y2Ba在命令行的训练模型的属性。G.ydF4y2Ba

例子:G.ydF4y2Ba'binaryloss','binodeviance'G.ydF4y2Ba

数据类型:G.ydF4y2Ba字符G.ydF4y2Ba|G.ydF4y2Ba串G.ydF4y2Ba|G.ydF4y2Bafunction_handle.G.ydF4y2Ba

汇总二进制损耗的解码方案,指定为逗号分隔的对组成G.ydF4y2Ba'解码'G.ydF4y2Ba和G.ydF4y2Ba“失去重量”G.ydF4y2Ba或者G.ydF4y2Ba'失败'G.ydF4y2Ba.有关更多信息,请参阅G.ydF4y2Ba二进制损失G.ydF4y2Ba.G.ydF4y2Ba

例子:G.ydF4y2Ba'解码','丢失'G.ydF4y2Ba

估算选项,指定为逗号分隔对组成G.ydF4y2Ba'选项'G.ydF4y2Ba和返回的结构阵列G.ydF4y2BastatsetG.ydF4y2Ba.G.ydF4y2Ba

要调用并行计算:G.ydF4y2Ba

  • 您需要一个并行计算工具箱™许可证。G.ydF4y2Ba

  • 指定G.ydF4y2Ba“选项”,statset (UseParallel,真的)G.ydF4y2Ba.G.ydF4y2Ba

详细程度,指定为逗号分隔对,由G.ydF4y2Ba“详细”G.ydF4y2Ba和G.ydF4y2Ba0.G.ydF4y2Ba或者G.ydF4y2Ba1G.ydF4y2Ba.G.ydF4y2BaverbG.ydF4y2Ba控制软件在命令窗口中显示的诊断消息的数量。G.ydF4y2Ba

如果G.ydF4y2BaverbG.ydF4y2Ba是G.ydF4y2Ba0.G.ydF4y2Ba,然后软件不显示诊断消息。否则,软件显示诊断消息。G.ydF4y2Ba

例子:G.ydF4y2Ba'verbose',1G.ydF4y2Ba

数据类型:G.ydF4y2Ba单身G.ydF4y2Ba|G.ydF4y2Ba双G.ydF4y2Ba

更多关于G.ydF4y2Ba

崩溃G.ydF4y2Ba

分类边缘G.ydF4y2Ba

当G.ydF4y2Ba分类边缘G.ydF4y2Ba是分类边缘的加权平均值。G.ydF4y2Ba

在多个分类器中进行选择的一种方法是选择产生最大边的分类器,例如执行特征选择。G.ydF4y2Ba

分类保证金G.ydF4y2Ba

当G.ydF4y2Ba分类保证金G.ydF4y2Ba对于每个观察,对于真正类别的负损失和虚假类之间的最大负损失之间的差异。如果利润率在相同的范围内,则它们作为分类信心措施。在多个分类器中,产生更大的边缘的分类器更好。G.ydF4y2Ba

二进制损失G.ydF4y2Ba

A.G.ydF4y2Ba二进制损失G.ydF4y2Ba是类和分类分数的函数,它决定了二进制学习者将观察分类到类中的程度。G.ydF4y2Ba

假设以下内容:G.ydF4y2Ba

  • mG.ydF4y2BaKJ.G.ydF4y2Ba是元素(G.ydF4y2BaK.G.ydF4y2Ba那G.ydF4y2BajG.ydF4y2Ba)编码设计矩阵G.ydF4y2BamG.ydF4y2Ba(即,对应于类的代码G.ydF4y2BaK.G.ydF4y2Ba二进制的学习者G.ydF4y2BajG.ydF4y2Ba)。G.ydF4y2Ba

  • S.G.ydF4y2BajG.ydF4y2Ba是二进制学习者的分数G.ydF4y2BajG.ydF4y2Ba对于一个观察。G.ydF4y2Ba

  • G.G.ydF4y2Ba为二进制损失函数。G.ydF4y2Ba

  • K.G.ydF4y2Ba ^G.ydF4y2Ba 是预测的观察类。G.ydF4y2Ba

in.G.ydF4y2Ba基于损失的解码G.ydF4y2Ba[escalera等。]G.ydF4y2Ba,制作二进制学习者的二进制损失的最小总和的类决定了观察的预测类,即G.ydF4y2Ba

K.G.ydF4y2Ba ^G.ydF4y2Ba =G.ydF4y2Ba argminG.ydF4y2Ba K.G.ydF4y2Ba σ.G.ydF4y2Ba jG.ydF4y2Ba =G.ydF4y2Ba 1G.ydF4y2Ba L.G.ydF4y2Ba |G.ydF4y2Ba mG.ydF4y2Ba K.G.ydF4y2Ba jG.ydF4y2Ba |G.ydF4y2Ba G.G.ydF4y2Ba (G.ydF4y2Ba mG.ydF4y2Ba K.G.ydF4y2Ba jG.ydF4y2Ba 那G.ydF4y2Ba S.G.ydF4y2Ba jG.ydF4y2Ba )G.ydF4y2Ba .G.ydF4y2Ba

in.G.ydF4y2Ba损失加权解码G.ydF4y2Ba[escalera等。]G.ydF4y2Ba,在二进制学习者上产生二进制损失最小平均的班级决定了观测的预测班级,即,G.ydF4y2Ba

K.G.ydF4y2Ba ^G.ydF4y2Ba =G.ydF4y2Ba argminG.ydF4y2Ba K.G.ydF4y2Ba σ.G.ydF4y2Ba jG.ydF4y2Ba =G.ydF4y2Ba 1G.ydF4y2Ba L.G.ydF4y2Ba |G.ydF4y2Ba mG.ydF4y2Ba K.G.ydF4y2Ba jG.ydF4y2Ba |G.ydF4y2Ba G.G.ydF4y2Ba (G.ydF4y2Ba mG.ydF4y2Ba K.G.ydF4y2Ba jG.ydF4y2Ba 那G.ydF4y2Ba S.G.ydF4y2Ba jG.ydF4y2Ba )G.ydF4y2Ba σ.G.ydF4y2Ba jG.ydF4y2Ba =G.ydF4y2Ba 1G.ydF4y2Ba L.G.ydF4y2Ba |G.ydF4y2Ba mG.ydF4y2Ba K.G.ydF4y2Ba jG.ydF4y2Ba |G.ydF4y2Ba .G.ydF4y2Ba

Allwein et al。G.ydF4y2Ba建议丢失加权解码通过在相同动态范围内保持所有类的损耗值来提高分类准确性。G.ydF4y2Ba

此表总结了支持的损耗功能,其中金宝appG.ydF4y2BayG.ydF4y2BajG.ydF4y2Ba是一个特定二元学习者的类标签(在集合{- 1,1,0}中),G.ydF4y2BaS.G.ydF4y2BajG.ydF4y2Ba分数是否供观察G.ydF4y2BajG.ydF4y2Ba,和G.ydF4y2BaG.G.ydF4y2Ba(G.ydF4y2BayG.ydF4y2BajG.ydF4y2Ba那G.ydF4y2BaS.G.ydF4y2BajG.ydF4y2Ba)。G.ydF4y2Ba

价值G.ydF4y2Ba 描述G.ydF4y2Ba 得分领域G.ydF4y2Ba G.G.ydF4y2Ba(G.ydF4y2BayG.ydF4y2BajG.ydF4y2Ba那G.ydF4y2BaS.G.ydF4y2BajG.ydF4y2Ba)G.ydF4y2Ba
'binodeviance'G.ydF4y2Ba 二项式偏差G.ydF4y2Ba ( - ∞,∞)G.ydF4y2Ba 日志[1 + exp(-2G.ydF4y2BayG.ydF4y2BajG.ydF4y2BaS.G.ydF4y2BajG.ydF4y2Ba)] / [2log(2)]G.ydF4y2Ba
'指数'G.ydF4y2Ba 指数G.ydF4y2Ba ( - ∞,∞)G.ydF4y2Ba exp( -G.ydF4y2BayG.ydF4y2BajG.ydF4y2BaS.G.ydF4y2BajG.ydF4y2Ba) / 2G.ydF4y2Ba
'汉明'G.ydF4y2Ba 汉字G.ydF4y2Ba [0,1]或( - ∞,∞)G.ydF4y2Ba [1 - 符号(G.ydF4y2BayG.ydF4y2BajG.ydF4y2BaS.G.ydF4y2BajG.ydF4y2Ba)] / 2G.ydF4y2Ba
'铰链'G.ydF4y2Ba 铰链G.ydF4y2Ba ( - ∞,∞)G.ydF4y2Ba 马克斯(0,1 -G.ydF4y2BayG.ydF4y2BajG.ydF4y2BaS.G.ydF4y2BajG.ydF4y2Ba) / 2G.ydF4y2Ba
'线性'G.ydF4y2Ba 线性G.ydF4y2Ba ( - ∞,∞)G.ydF4y2Ba (1 -G.ydF4y2BayG.ydF4y2BajG.ydF4y2BaS.G.ydF4y2BajG.ydF4y2Ba) / 2G.ydF4y2Ba
'logit'G.ydF4y2Ba 物流G.ydF4y2Ba ( - ∞,∞)G.ydF4y2Ba 日志[1 + exp( -G.ydF4y2BayG.ydF4y2BajG.ydF4y2BaS.G.ydF4y2BajG.ydF4y2Ba)] / [2log(2)]G.ydF4y2Ba
“二次”G.ydF4y2Ba 二次G.ydF4y2Ba [0,1]G.ydF4y2Ba [1 -G.ydF4y2BayG.ydF4y2BajG.ydF4y2Ba(2G.ydF4y2BaS.G.ydF4y2BajG.ydF4y2Ba- 1))G.ydF4y2Ba2G.ydF4y2Ba/ 2.G.ydF4y2Ba

该软件使二进制损失正常化,当损失是0.5G.ydF4y2BayG.ydF4y2BajG.ydF4y2Ba= 0,并使用二进制学习者的平均值聚合G.ydF4y2Ba(Allwein等。)G.ydF4y2Ba.G.ydF4y2Ba

不要将二进制损失与总体分类损失(由G.ydF4y2Ba'lockfun'G.ydF4y2Ba名称 - 值对参数G.ydF4y2Ba损失G.ydF4y2Ba和G.ydF4y2Ba预测G.ydF4y2Ba对象函数),测量Ecoc分类器整体执行的良好。G.ydF4y2Ba

提示G.ydF4y2Ba

  • 要比较几个ECOC分类器的边缘或边缘,请使用模板对象在培训期间指定分类器中的共同变换功能。G.ydF4y2Ba

参考文献G.ydF4y2Ba

[1] Allwein,E.,R. Schapire和Y.歌手。“减少二进制文件的多牌:保证金分类的统一方法。”G.ydF4y2Ba机床学习研究G.ydF4y2Ba.卷。1,2000,pp。113-141。G.ydF4y2Ba

Pujol, S. Escalera, S. O. Pujol, P. Radeva。《论三元纠错输出码的译码过程》。G.ydF4y2Ba图案分析和机器智能的IEEE交易G.ydF4y2Ba.卷。32,第7号,2010年第70页,第120-134页。G.ydF4y2Ba

[3] Escalera,S.,O. Pujol和P. Radeva。“用于纠错输出代码稀疏设计的三元代码的可分离。”G.ydF4y2Ba模式识别G.ydF4y2Ba.2009年第30卷第3期285-297页。G.ydF4y2Ba

扩展能力G.ydF4y2Ba

在R2014B中介绍G.ydF4y2Ba