主要内容gydF4y2Ba

resubMargingydF4y2Ba

多类纠错输出码(ECOC)模型的再替换分类裕度gydF4y2Ba

描述gydF4y2Ba

例子gydF4y2Ba

米gydF4y2Ba= resubMargin (gydF4y2BaMdlgydF4y2Ba)gydF4y2Ba返回resubstitutiongydF4y2Ba分类的利润率gydF4y2Ba(gydF4y2Ba米gydF4y2Ba),用于多类纠错输出码(ECOC)模型gydF4y2BaMdlgydF4y2Ba使用存储在gydF4y2BaMdl。XgydF4y2Ba和相应的类标签存储在gydF4y2BaMdl。YgydF4y2Ba.gydF4y2Ba

米gydF4y2Ba作为长度与gydF4y2BaMdl。YgydF4y2Ba.软件估计每个条目gydF4y2Ba米gydF4y2Ba使用训练有素的ECOC模式gydF4y2BaMdlgydF4y2Ba,对应的行gydF4y2BaMdl。XgydF4y2Ba,以及真正的类标签gydF4y2BaMdl。YgydF4y2Ba.gydF4y2Ba

米gydF4y2Ba= resubMargin (gydF4y2BaMdlgydF4y2Ba,gydF4y2Ba名称,值gydF4y2Ba)gydF4y2Ba返回带有由一个或多个名称-值对参数指定的附加选项的分类边距。例如,您可以指定解码方案、二进制学习器丢失函数和详细级别。gydF4y2Ba

例子gydF4y2Ba

全部折叠gydF4y2Ba

用支持向量机二值学习器计算ECOC模型的再替换分类边缘。gydF4y2Ba

载入费雪的虹膜数据集。指定预测器数据gydF4y2BaXgydF4y2Ba以及响应数据gydF4y2BaYgydF4y2Ba.gydF4y2Ba

负载gydF4y2BafisheririsgydF4y2BaX =量;Y =物种;gydF4y2Ba

使用支持向量机二分类器训练ECOC模型。使用SVM模板标准化预测器,并指定类的顺序。gydF4y2Ba

t = templateSVM (gydF4y2Ba“标准化”gydF4y2Ba,真正的);classOrder =独特(Y)gydF4y2Ba
classOrder =gydF4y2Ba3 x1细胞gydF4y2Ba{'setosa'} {'versicolor'} {'virginica'}gydF4y2Ba
Mdl = fitcecoc (X, Y,gydF4y2Ba“学习者”gydF4y2BatgydF4y2Ba“类名”gydF4y2Ba, classOrder);gydF4y2Ba

tgydF4y2Ba是一个支持向量机模板对象。在培训期间,软件使用默认值的空属性gydF4y2BatgydF4y2Ba.gydF4y2BaMdlgydF4y2Ba是一个gydF4y2BaClassificationECOCgydF4y2Ba模型。gydF4y2Ba

计算用于训练的观测值的分类边缘gydF4y2BaMdlgydF4y2Ba.使用箱线图显示页边距的分布。gydF4y2Ba

m = resubMargin (Mdl);箱线图(m)标题(gydF4y2Ba“样本内利润率”gydF4y2Ba)gydF4y2Ba

图中包含一个坐标轴。带有“样例边距”标题的轴包含7个line类型的对象。gydF4y2Ba

观察的分类边际是正类负损失减去最大负类负损失。选择利润相对较大的分类器。gydF4y2Ba

通过比较多个模型的训练样本边缘来进行特征选择。仅从这个比较来看,利润最大的模型是最好的模型。gydF4y2Ba

载入费雪的虹膜数据集。定义两个数据集:gydF4y2Ba

  • fullXgydF4y2Ba包含所有四个预测因子。gydF4y2Ba

  • partXgydF4y2Ba只包含萼片尺寸。gydF4y2Ba

负载gydF4y2BafisheririsgydF4y2BaX =量;fullX = X;partX = X (:, 1:2);Y =物种;gydF4y2Ba

对每个预测器集使用支持向量机二进制学习器训练ECOC模型。使用SVM模板标准化预测器,指定类顺序,并计算后验概率。gydF4y2Ba

t = templateSVM (gydF4y2Ba“标准化”gydF4y2Ba,真正的);classOrder =独特(Y)gydF4y2Ba
classOrder =gydF4y2Ba3 x1细胞gydF4y2Ba{'setosa'} {'versicolor'} {'virginica'}gydF4y2Ba
FullMdl = fitcecoc (fullX YgydF4y2Ba“学习者”gydF4y2BatgydF4y2Ba“类名”gydF4y2BaclassOrder,gydF4y2Ba...gydF4y2Ba“FitPosterior”gydF4y2Ba,真正的);PartMdl = fitcecoc (partX YgydF4y2Ba“学习者”gydF4y2BatgydF4y2Ba“类名”gydF4y2BaclassOrder,gydF4y2Ba...gydF4y2Ba“FitPosterior”gydF4y2Ba,真正的);gydF4y2Ba

计算每个分类器的重新替换边距。对于每个模型,使用箱线图显示边缘的分布。gydF4y2Ba

fullMargins = resubMargin (FullMdl);partMargins = resubMargin (PartMdl);箱线图([fullMargins partMargins),gydF4y2Ba“标签”gydF4y2Ba,{gydF4y2Ba“所有预测”gydF4y2Ba,gydF4y2Ba“两个预测”gydF4y2Ba})标题(gydF4y2Ba“推理利润率”gydF4y2Ba)gydF4y2Ba

图中包含一个坐标轴。标题为Training-Sample Margins的坐标轴包含14个类型为line的对象。gydF4y2Ba

的边际分布gydF4y2BaFullMdlgydF4y2Ba比边缘分布的位置更高且变异性更小gydF4y2BaPartMdlgydF4y2Ba.这一结果表明,使用所有预测因子训练的模型更符合训练数据。gydF4y2Ba

输入参数gydF4y2Ba

全部折叠gydF4y2Ba

完整的,训练过的多级ECOC模型,指定为gydF4y2BaClassificationECOCgydF4y2Ba模型训练gydF4y2BafitcecocgydF4y2Ba.gydF4y2Ba

名称-值对的观点gydF4y2Ba

指定可选的逗号分隔的对gydF4y2Ba名称,值gydF4y2Ba参数。gydF4y2Ba的名字gydF4y2Ba参数名和gydF4y2Ba价值gydF4y2Ba为对应值。gydF4y2Ba的名字gydF4y2Ba必须出现在引号内。可以以任意顺序指定多个名称和值对参数gydF4y2BaName1, Value1,…,的家gydF4y2Ba.gydF4y2Ba

例子:gydF4y2BaresubMargin (Mdl‘详细’,1)gydF4y2Ba指定在命令窗口中显示诊断消息。gydF4y2Ba

二元学习器损失函数,指定为逗号分隔对,由gydF4y2Ba“BinaryLoss”gydF4y2Ba以及内置的损失函数名或函数句柄。gydF4y2Ba

  • 该表描述了内置函数,其中gydF4y2BaygydF4y2BajgydF4y2Ba是一个特定二元学习者的类标签(在集合{- 1,1,0}中),gydF4y2Ba年代gydF4y2BajgydF4y2Ba分数是否供观察gydF4y2BajgydF4y2Ba,gydF4y2BaggydF4y2Ba(gydF4y2BaygydF4y2BajgydF4y2Ba,gydF4y2Ba年代gydF4y2BajgydF4y2Ba)为二进制损耗公式。gydF4y2Ba

    价值gydF4y2Ba 描述gydF4y2Ba 分数域gydF4y2Ba ggydF4y2Ba(gydF4y2BaygydF4y2BajgydF4y2Ba,gydF4y2Ba年代gydF4y2BajgydF4y2Ba)gydF4y2Ba
    “binodeviance”gydF4y2Ba 二项异常gydF4y2Ba (-∞∞)gydF4y2Ba 日志(1 + exp (2gydF4y2BaygydF4y2BajgydF4y2Ba年代gydF4y2BajgydF4y2Ba日志(2)])]/ [2gydF4y2Ba
    “指数”gydF4y2Ba 指数gydF4y2Ba (-∞∞)gydF4y2Ba exp (-gydF4y2BaygydF4y2BajgydF4y2Ba年代gydF4y2BajgydF4y2Ba) / 2gydF4y2Ba
    “汉明”gydF4y2Ba 汉明gydF4y2Ba [0, 1]或(-∞,∞)gydF4y2Ba [1 -符号(gydF4y2BaygydF4y2BajgydF4y2Ba年代gydF4y2BajgydF4y2Ba) / 2gydF4y2Ba
    “枢纽”gydF4y2Ba 铰链gydF4y2Ba (-∞∞)gydF4y2Ba 马克斯(0,1 -gydF4y2BaygydF4y2BajgydF4y2Ba年代gydF4y2BajgydF4y2Ba) / 2gydF4y2Ba
    “线性”gydF4y2Ba 线性gydF4y2Ba (-∞∞)gydF4y2Ba (1 -gydF4y2BaygydF4y2BajgydF4y2Ba年代gydF4y2BajgydF4y2Ba) / 2gydF4y2Ba
    分对数的gydF4y2Ba 物流gydF4y2Ba (-∞∞)gydF4y2Ba 日志[1 + exp (-gydF4y2BaygydF4y2BajgydF4y2Ba年代gydF4y2BajgydF4y2Ba日志(2)])]/ [2gydF4y2Ba
    “二次”gydF4y2Ba 二次gydF4y2Ba [0, 1]gydF4y2Ba (1 -gydF4y2BaygydF4y2BajgydF4y2Ba(2gydF4y2Ba年代gydF4y2BajgydF4y2Ba- 1))gydF4y2Ba2gydF4y2Ba/ 2gydF4y2Ba

    该软件使二进制损失正常化,因此损失是0.5时gydF4y2BaygydF4y2BajgydF4y2Ba= 0.此外,软件计算每个类的平均二进制损失。gydF4y2Ba

  • 例如,对于自定义二进制损耗函数gydF4y2BacustomFunctiongydF4y2Ba,指定其函数句柄gydF4y2BaBinaryLoss, @customFunctiongydF4y2Ba.gydF4y2Ba

    customFunctiongydF4y2Ba这种形式:gydF4y2Ba

    布劳斯= customFunction (M s)gydF4y2Ba
    地点:gydF4y2Ba

    • 米gydF4y2Ba是gydF4y2BaKgydF4y2Ba——- - - - - -gydF4y2BalgydF4y2Ba存储在gydF4y2BaMdl。CodingMatrixgydF4y2Ba.gydF4y2Ba

    • 年代gydF4y2Ba是1 -gydF4y2BalgydF4y2Ba分类分数的行向量。gydF4y2Ba

    • 布劳斯gydF4y2Ba是分类损失。这个标量集合了特定班级中每个学习者的二进制损失。例如,您可以使用平均二进制损失来汇总每个类的学习者的损失。gydF4y2Ba

    • KgydF4y2Ba为类数。gydF4y2Ba

    • lgydF4y2Ba是二元学习者的数量。gydF4y2Ba

    有关传递自定义二进制损耗函数的示例,请参见gydF4y2Ba用自定义二元损耗函数预测ECOC模型的试样标签gydF4y2Ba.gydF4y2Ba

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

假设gydF4y2Ba 默认值gydF4y2Ba
所有的二进制学习器都是支持向量机或支持向量机的线性或核分类模型。gydF4y2Ba “枢纽”gydF4y2Ba
所有的二元学习者都是由gydF4y2BaAdaboostM1gydF4y2Ba或gydF4y2BaGentleBoostgydF4y2Ba.gydF4y2Ba “指数”gydF4y2Ba
所有的二元学习者都是由gydF4y2BaLogitBoostgydF4y2Ba.gydF4y2Ba “binodeviance”gydF4y2Ba
所有二元学习者都是logistic回归学习者的线性或核分类模型。或者,你指定通过设置来预测类的后验概率gydF4y2Ba“FitPosterior”,真的gydF4y2Ba在gydF4y2BafitcecocgydF4y2Ba.gydF4y2Ba “二次”gydF4y2Ba

若要检查默认值,请使用点符号来显示gydF4y2BaBinaryLossgydF4y2Ba属性的训练模型在命令行。gydF4y2Ba

例子:gydF4y2Ba“BinaryLoss”、“binodeviance”gydF4y2Ba

数据类型:gydF4y2Ba字符gydF4y2Ba|gydF4y2Ba字符串gydF4y2Ba|gydF4y2Bafunction_handlegydF4y2Ba

聚合二进制损失的解码方案,指定为由。组成的逗号分隔对gydF4y2Ba“解码”gydF4y2Ba和gydF4y2Ba“lossweighted”gydF4y2Ba或gydF4y2Ba“lossbased”gydF4y2Ba.有关更多信息,请参见gydF4y2Ba二元损失gydF4y2Ba.gydF4y2Ba

例子:gydF4y2Ba“解码”、“lossbased”gydF4y2Ba

估计选项,指定为逗号分隔的对,由gydF4y2Ba“选项”gydF4y2Ba和返回的结构数组gydF4y2BastatsetgydF4y2Ba.gydF4y2Ba

要调用并行计算:gydF4y2Ba

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

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

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

如果gydF4y2Ba详细的gydF4y2Ba是gydF4y2Ba0gydF4y2Ba,则该软件不会显示诊断消息。否则,软件将显示诊断消息。gydF4y2Ba

例子:gydF4y2Ba“详细”,1gydF4y2Ba

数据类型:gydF4y2Ba单gydF4y2Ba|gydF4y2Ba双gydF4y2Ba

更多关于gydF4y2Ba

全部折叠gydF4y2Ba

分类保证金gydF4y2Ba

的gydF4y2Ba分类保证金gydF4y2Ba为每次观察真实类的负损失与假类中最大负损失的差值。如果边际值在同一尺度上,则作为分类置信度的衡量标准。在众多分类公司中,那些利润率更高的公司表现更好。gydF4y2Ba

二元损失gydF4y2Ba

一个gydF4y2Ba二元损失gydF4y2Ba是类和分类分数的函数,它决定二元学习者如何将观察结果分类到类中。gydF4y2Ba

假设如下:gydF4y2Ba

  • 米gydF4y2BakjgydF4y2Ba是元素(gydF4y2BakgydF4y2Ba,gydF4y2BajgydF4y2Ba)的编码设计矩阵gydF4y2Ba米gydF4y2Ba(即与类对应的代码gydF4y2BakgydF4y2Ba二进制的学习者gydF4y2BajgydF4y2Ba).gydF4y2Ba

  • 年代gydF4y2BajgydF4y2Ba二元学习者的分数是多少gydF4y2BajgydF4y2Ba对于一个观察。gydF4y2Ba

  • ggydF4y2Ba为二进制损失函数。gydF4y2Ba

  • kgydF4y2Ba ^gydF4y2Ba 是观测的预测类。gydF4y2Ba

在gydF4y2Ba通过解码gydF4y2Ba(Escalera等。)gydF4y2Ba,对二进制学习者产生最小二进制损失和的类决定了观测的预测类,即,gydF4y2Ba

kgydF4y2Ba ^gydF4y2Ba =gydF4y2Ba argmingydF4y2Ba kgydF4y2Ba ∑gydF4y2Ba jgydF4y2Ba =gydF4y2Ba 1gydF4y2Ba lgydF4y2Ba |gydF4y2Ba 米gydF4y2Ba kgydF4y2Ba jgydF4y2Ba |gydF4y2Ba ggydF4y2Ba (gydF4y2Ba 米gydF4y2Ba kgydF4y2Ba jgydF4y2Ba ,gydF4y2Ba 年代gydF4y2Ba jgydF4y2Ba )gydF4y2Ba .gydF4y2Ba

在gydF4y2Baloss-weighted解码gydF4y2Ba(Escalera等。)gydF4y2Ba,在二进制学习者上产生二进制损失最小平均的班级决定了观测的预测班级,即,gydF4y2Ba

kgydF4y2Ba ^gydF4y2Ba =gydF4y2Ba argmingydF4y2Ba kgydF4y2Ba ∑gydF4y2Ba jgydF4y2Ba =gydF4y2Ba 1gydF4y2Ba lgydF4y2Ba |gydF4y2Ba 米gydF4y2Ba kgydF4y2Ba jgydF4y2Ba |gydF4y2Ba ggydF4y2Ba (gydF4y2Ba 米gydF4y2Ba kgydF4y2Ba jgydF4y2Ba ,gydF4y2Ba 年代gydF4y2Ba jgydF4y2Ba )gydF4y2Ba ∑gydF4y2Ba jgydF4y2Ba =gydF4y2Ba 1gydF4y2Ba lgydF4y2Ba |gydF4y2Ba 米gydF4y2Ba kgydF4y2Ba jgydF4y2Ba |gydF4y2Ba .gydF4y2Ba

Allwein et al。gydF4y2Ba提出损耗加权译码通过将所有类的损耗值保持在相同的动态范围内来提高分类精度。gydF4y2Ba

该表总结了支持的损耗函数,其中金宝appgydF4y2BaygydF4y2BajgydF4y2Ba是一个特定二元学习者的类标签(在集合{- 1,1,0}中),gydF4y2Ba年代gydF4y2BajgydF4y2Ba分数是否供观察gydF4y2BajgydF4y2Ba,gydF4y2BaggydF4y2Ba(gydF4y2BaygydF4y2BajgydF4y2Ba,gydF4y2Ba年代gydF4y2BajgydF4y2Ba).gydF4y2Ba

价值gydF4y2Ba 描述gydF4y2Ba 分数域gydF4y2Ba ggydF4y2Ba(gydF4y2BaygydF4y2BajgydF4y2Ba,gydF4y2Ba年代gydF4y2BajgydF4y2Ba)gydF4y2Ba
“binodeviance”gydF4y2Ba 二项异常gydF4y2Ba (-∞∞)gydF4y2Ba 日志(1 + exp (2gydF4y2BaygydF4y2BajgydF4y2Ba年代gydF4y2BajgydF4y2Ba日志(2)])]/ [2gydF4y2Ba
“指数”gydF4y2Ba 指数gydF4y2Ba (-∞∞)gydF4y2Ba exp (-gydF4y2BaygydF4y2BajgydF4y2Ba年代gydF4y2BajgydF4y2Ba) / 2gydF4y2Ba
“汉明”gydF4y2Ba 汉明gydF4y2Ba [0, 1]或(-∞,∞)gydF4y2Ba [1 -符号(gydF4y2BaygydF4y2BajgydF4y2Ba年代gydF4y2BajgydF4y2Ba) / 2gydF4y2Ba
“枢纽”gydF4y2Ba 铰链gydF4y2Ba (-∞∞)gydF4y2Ba 马克斯(0,1 -gydF4y2BaygydF4y2BajgydF4y2Ba年代gydF4y2BajgydF4y2Ba) / 2gydF4y2Ba
“线性”gydF4y2Ba 线性gydF4y2Ba (-∞∞)gydF4y2Ba (1 -gydF4y2BaygydF4y2BajgydF4y2Ba年代gydF4y2BajgydF4y2Ba) / 2gydF4y2Ba
分对数的gydF4y2Ba 物流gydF4y2Ba (-∞∞)gydF4y2Ba 日志[1 + exp (-gydF4y2BaygydF4y2BajgydF4y2Ba年代gydF4y2BajgydF4y2Ba日志(2)])]/ [2gydF4y2Ba
“二次”gydF4y2Ba 二次gydF4y2Ba [0, 1]gydF4y2Ba (1 -gydF4y2BaygydF4y2BajgydF4y2Ba(2gydF4y2Ba年代gydF4y2BajgydF4y2Ba- 1))gydF4y2Ba2gydF4y2Ba/ 2gydF4y2Ba

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

不要将二进制损失与总体分类损失(由gydF4y2Ba“LossFun”gydF4y2Ba的名称-值对参数gydF4y2Ba损失gydF4y2Ba和gydF4y2Ba预测gydF4y2Ba对象函数),它衡量ECOC分类器作为一个整体的执行情况。gydF4y2Ba

提示gydF4y2Ba

  • 为了比较多个ECOC分类器的边缘或边缘,在训练过程中使用模板对象指定分类器之间的公共分数转换函数。gydF4y2Ba

参考文献gydF4y2Ba

艾尔温,E.夏皮尔,Y.辛格。《将多类减少为二进制:一种统一的保证金分类方法》。gydF4y2Ba机器学习研究杂志gydF4y2Ba.2000年第1卷,113-141页。gydF4y2Ba

Pujol, S. Escalera, S. O. Pujol, P. Radeva。《论三元纠错输出码的译码过程》。gydF4y2Ba模式分析与机器智能学报gydF4y2Ba.2010年第32卷第7期120-134页。gydF4y2Ba

Pujol, S. Escalera, S. O. Pujol, P. Radeva。用于纠错输出码稀疏设计的三元码的可分性。gydF4y2Ba模式RecogngydF4y2Ba.2009年第30卷第3期285-297页。gydF4y2Ba

扩展功能gydF4y2Ba

介绍了R2014bgydF4y2Ba