主要内容gydF4y2Ba

kfoldLossgydF4y2Ba

未用于训练的观察结果的分类损失gydF4y2Ba

描述gydF4y2Ba

例子gydF4y2Ba

lgydF4y2Ba= kfoldLoss (gydF4y2BaCVMdlgydF4y2Ba)gydF4y2Ba返回交叉验证的gydF4y2Ba分类错误gydF4y2Ba由线性分类模型组成的交叉验证纠错输出码(ECOC)模型估计的概率gydF4y2BaCVMdlgydF4y2Ba.也就是说,对于每一次折叠,gydF4y2BakfoldLossgydF4y2Ba估计它在使用所有其他观测值训练时所提供的观测值的分类错误率。gydF4y2BakfoldLossgydF4y2Ba应用与create相同的数据gydF4y2BaCVMdlgydF4y2Ba(见gydF4y2BafitcecocgydF4y2Ba).gydF4y2Ba

lgydF4y2Ba包含组成的线性分类模型中每个正则化强度的分类损失gydF4y2BaCVMdlgydF4y2Ba.gydF4y2Ba

例子gydF4y2Ba

lgydF4y2Ba= kfoldLoss (gydF4y2BaCVMdlgydF4y2Ba,gydF4y2Ba名称,值gydF4y2Ba)gydF4y2Ba使用一个或多个指定的其他选项gydF4y2Ba名称,值gydF4y2Ba对参数。例如,指定一个解码方案,用于损耗计算或冗长级别的折叠。gydF4y2Ba

输入参数gydF4y2Ba

全部展开gydF4y2Ba

交叉验证,ECOC模型由线性分类模型组成,指定为agydF4y2BaClassificationPartitionedLinearECOCgydF4y2Ba模型对象。您可以创建gydF4y2BaClassificationPartitionedLinearECOCgydF4y2Ba模型使用gydF4y2BafitcecocgydF4y2Ba和:gydF4y2Ba

  1. 指定交叉验证、名值对参数中的任意一个,例如,gydF4y2BaCrossValgydF4y2Ba

  2. 设置名称-值对参数gydF4y2Ba学习者gydF4y2Ba来gydF4y2Ba“线性”gydF4y2Ba或返回的线性分类模型模板gydF4y2BatemplateLineargydF4y2Ba

为了获得估计,kfoldLoss应用用于交叉验证ECOC模型的相同数据(gydF4y2BaXgydF4y2Ba而且gydF4y2BaYgydF4y2Ba).gydF4y2Ba

名称-值参数gydF4y2Ba

指定可选参数对为gydF4y2BaName1 = Value1,…,以=家gydF4y2Ba,在那里gydF4y2Ba的名字gydF4y2Ba参数名称和gydF4y2Ba价值gydF4y2Ba对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。gydF4y2Ba

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来gydF4y2Ba的名字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 Log [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 Log [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

    bLoss = customFunction(M,s)gydF4y2Ba
    地点:gydF4y2Ba

    • 米gydF4y2Ba是gydF4y2BaKgydF4y2Ba——- - - - - -gydF4y2BaBgydF4y2Ba存储在gydF4y2BaMdl。CodingMatrix.gydF4y2Ba

    • 年代gydF4y2Ba是1 × -吗gydF4y2BaBgydF4y2Ba分类分数行向量。gydF4y2Ba

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

    • KgydF4y2Ba是类的数量。gydF4y2Ba

    • BgydF4y2Ba是二元学习器的数目。gydF4y2Ba

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

默认情况下,如果所有二元学习器都是线性分类模型,使用:gydF4y2Ba

  • 支持向量机,然后gydF4y2BaBinaryLossgydF4y2Ba是gydF4y2Ba“枢纽”gydF4y2Ba

  • 那么,逻辑回归gydF4y2BaBinaryLossgydF4y2Ba是gydF4y2Ba“二次”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一个正整数的数字向量。的要素gydF4y2Ba折叠gydF4y2Ba必须从gydF4y2Ba1gydF4y2Ba通过gydF4y2BaCVMdl。KFoldgydF4y2Ba.gydF4y2Ba

例子:gydF4y2Ba“折叠”,[1 4 10]gydF4y2Ba

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

损失函数,指定为gydF4y2Ba“classiferror”gydF4y2Ba,gydF4y2Ba“classifcost”gydF4y2Ba,或函数句柄。gydF4y2Ba

您可以:gydF4y2Ba

  • 指定内置函数gydF4y2Ba“classiferror”gydF4y2Ba,则损失函数为gydF4y2Ba分类错误gydF4y2Ba.gydF4y2Ba

  • 指定内置函数gydF4y2Ba“classifcost”gydF4y2Ba.在这种情况下,损失函数是gydF4y2Ba观察到的错误分类成本gydF4y2Ba.如果使用默认成本矩阵(其元素值为0表示正确分类,1表示错误分类),则损失值为gydF4y2Ba“classifcost”gydF4y2Ba而且gydF4y2Ba“classiferror”gydF4y2Ba都是相同的。gydF4y2Ba

  • 使用函数句柄表示法指定自己的函数。gydF4y2Ba

    接下来,gydF4y2BangydF4y2Ba为训练数据中的观察数(gydF4y2BaCVMdl。NumObservationsgydF4y2Ba),gydF4y2BaKgydF4y2Ba是类的数量(gydF4y2Ba元素个数(CVMdl.ClassNames)gydF4y2Ba).您的函数需要签名gydF4y2Balossvalue =gydF4y2BalossfungydF4y2Ba(C、S、W、成本)gydF4y2Ba,地点:gydF4y2Ba

    • 输出参数gydF4y2BalossvaluegydF4y2Ba是标量。gydF4y2Ba

    • 选择函数名(gydF4y2BalossfungydF4y2Ba).gydF4y2Ba

    • CgydF4y2Ba是一个gydF4y2BangydF4y2Ba——- - - - - -gydF4y2BaKgydF4y2Ba逻辑矩阵,行表示对应的观察属于哪个类。列的顺序对应于类的顺序gydF4y2BaCVMdl。ClassNames.gydF4y2Ba

      构造gydF4y2BaCgydF4y2Ba通过设置gydF4y2BaC(p,q) = 1gydF4y2Ba如果观察gydF4y2BapgydF4y2Ba在课堂上gydF4y2Ba问gydF4y2Ba,为每一行。设置row的每个元素gydF4y2BapgydF4y2Ba来gydF4y2Ba0gydF4y2Ba.gydF4y2Ba

    • 年代gydF4y2Ba是一个gydF4y2BangydF4y2Ba——- - - - - -gydF4y2BaKgydF4y2Ba类的负损失值的数字矩阵。每一行对应一个观察值。列的顺序对应于类的顺序gydF4y2BaCVMdl。ClassNames.gydF4y2Ba年代gydF4y2Ba类似于输出参数gydF4y2BaNegLossgydF4y2Ba的gydF4y2BakfoldPredictgydF4y2Ba.gydF4y2Ba

    • WgydF4y2Ba是一个gydF4y2BangydF4y2Ba-by-1观测权重的数值向量。如果你通过了gydF4y2BaWgydF4y2Ba时,软件将其元素规范化为求和gydF4y2Ba1gydF4y2Ba.gydF4y2Ba

    • 成本gydF4y2Ba是一个gydF4y2BaKgydF4y2Ba——- - - - - -gydF4y2BaKgydF4y2Ba错误分类代价的数字矩阵。例如,gydF4y2Ba成本gydF4y2Ba=gydF4y2Ba(K)的黑眼圈(K)gydF4y2Ba指定正确分类的代价为0,错误分类的代价为1。gydF4y2Ba

    使用以下命令指定函数gydF4y2BaLossFun, @lossfungydF4y2Ba.gydF4y2Ba

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

损失聚合级别,指定为由逗号分隔的对组成gydF4y2Ba“模式”gydF4y2Ba而且gydF4y2Ba“平均”gydF4y2Ba或gydF4y2Ba“个人”gydF4y2Ba.gydF4y2Ba

价值gydF4y2Ba 描述gydF4y2Ba
“平均”gydF4y2Ba 返回所有折叠的平均损失gydF4y2Ba
“个人”gydF4y2Ba 为每一次折叠返回损失gydF4y2Ba

例子:gydF4y2Ba“模式”,“个人”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,作为数字标量、向量或矩阵返回。的解释gydF4y2BalgydF4y2Ba取决于gydF4y2BaLossFungydF4y2Ba.gydF4y2Ba

让gydF4y2BaRgydF4y2Ba正则化强度的数量是交叉验证模型(gydF4y2BaCVMdl.Trained {1} .BinaryLearners {1} .LambdagydF4y2Ba),gydF4y2BaFgydF4y2Ba为折叠数(存储在gydF4y2BaCVMdl。KFoldgydF4y2Ba).gydF4y2Ba

  • 如果gydF4y2Ba模式gydF4y2Ba是gydF4y2Ba“平均”gydF4y2Ba,然后gydF4y2BalgydF4y2Ba是1 × -吗gydF4y2BaRgydF4y2Ba向量。gydF4y2BaL (gydF4y2BajgydF4y2Ba)gydF4y2Ba是否使用正则化强度的交叉验证模型的所有折叠的平均分类损失gydF4y2BajgydF4y2Ba.gydF4y2Ba

  • 否则,gydF4y2BalgydF4y2Ba是一个gydF4y2BaFgydF4y2Ba——- - - - - -gydF4y2BaRgydF4y2Ba矩阵。gydF4y2BaL (gydF4y2Ba我gydF4y2Ba,gydF4y2BajgydF4y2Ba)gydF4y2Ba分类损失是折页吗gydF4y2Ba我gydF4y2Ba使用正则化强度的交叉验证模型gydF4y2BajgydF4y2Ba.gydF4y2Ba

例子gydF4y2Ba

全部展开gydF4y2Ba

加载NLP数据集。gydF4y2Ba

负载gydF4y2BanlpdatagydF4y2Ba

XgydF4y2Ba是一个稀疏矩阵的预测数据,和gydF4y2BaYgydF4y2Ba是类标签的分类向量。gydF4y2Ba

交叉验证线性分类模型的ECOC模型。gydF4y2Ba

rng (1);gydF4y2Ba%用于再现性gydF4y2BaCVMdl = fitcecoc(X,Y,gydF4y2Ba“学习者”gydF4y2Ba,gydF4y2Ba“线性”gydF4y2Ba,gydF4y2Ba“CrossVal”gydF4y2Ba,gydF4y2Ba“上”gydF4y2Ba);gydF4y2Ba

CVMdlgydF4y2Ba是一个gydF4y2BaClassificationPartitionedLinearECOCgydF4y2Ba模型。默认情况下,该软件实现10倍交叉验证。gydF4y2Ba

估计折外分类错误率的平均值。gydF4y2Ba

ce = kfoldLoss(cvdl)gydF4y2Ba
Ce = 0.0958gydF4y2Ba

或者,您可以通过指定名称-值对来获得每折叠分类错误率gydF4y2Ba“模式”,“个人”gydF4y2Ba在gydF4y2BakfoldLossgydF4y2Ba.gydF4y2Ba

加载NLP数据集。转置预测数据。gydF4y2Ba

负载gydF4y2BanlpdatagydF4y2BaX = X';gydF4y2Ba

为简单起见,在所有观察中使用“其他”标签gydF4y2BaYgydF4y2Ba不是这样的gydF4y2Ba“金宝app模型”gydF4y2Ba,gydF4y2Ba“dsp”gydF4y2Ba,或gydF4y2Ba“通讯”gydF4y2Ba.gydF4y2Ba

Y (~ (ismember (Y, {gydF4y2Ba“金宝app模型”gydF4y2Ba,gydF4y2Ba“dsp”gydF4y2Ba,gydF4y2Ba“通讯”gydF4y2Ba}))) =gydF4y2Ba“别人”gydF4y2Ba;gydF4y2Ba

创建一个线性分类模型模板,指定使用SpaRSA优化目标函数。gydF4y2Ba

t = templatlinear (gydF4y2Ba“规划求解”gydF4y2Ba,gydF4y2Ba“sparsa”gydF4y2Ba);gydF4y2Ba

使用5倍交叉验证对线性分类模型的ECOC模型进行交叉验证。利用SpaRSA对目标函数进行优化。指定预测器观测值与列相对应。gydF4y2Ba

rng (1);gydF4y2Ba%用于再现性gydF4y2BaCVMdl = fitcecoc(X,Y,gydF4y2Ba“学习者”gydF4y2BatgydF4y2Ba“KFold”gydF4y2Ba5,gydF4y2Ba“ObservationsIn”gydF4y2Ba,gydF4y2Ba“列”gydF4y2Ba);CMdl1 = CVMdl。训练有素的{1}gydF4y2Ba
CMdl1 = CompactClassificationECOC ResponseName: 'Y' ClassNames: [comm dsp 金宝appsimulink others] ScoreTransform: 'none' BinaryLearners: {6x1 cell} CodingMatrix: [4x6 double]属性,方法gydF4y2Ba

CVMdlgydF4y2Ba是一个gydF4y2BaClassificationPartitionedLinearECOCgydF4y2Ba模型。它包含属性gydF4y2Ba训练有素的gydF4y2Ba,这是一个5 × 1单元格数组,包含一个gydF4y2BaCompactClassificationECOCgydF4y2Ba软件使用每个折叠的训练集训练的模型。gydF4y2Ba

创建一个函数,对每个观测值取最小损失,然后对所有观测值取最小损失的平均值。因为函数没有使用类标识符矩阵(gydF4y2BaCgydF4y2Ba)、观测权重(gydF4y2BaWgydF4y2Ba),以及分类费用(gydF4y2Ba成本gydF4y2Ba),使用gydF4y2Ba~gydF4y2Ba有gydF4y2BakfoldLossgydF4y2Ba忽略其自身的位置。gydF4y2Ba

lossfun = @(~,S,~,~)mean(min(-S,[],2));gydF4y2Ba

使用每个观测函数的最小损失估计交叉验证的平均分类损失。同样,得到每一次折叠的损失。gydF4y2Ba

ce = kfoldLoss(CVMdl,gydF4y2Ba“LossFun”gydF4y2Balossfun)gydF4y2Ba
Ce = 0.0485gydF4y2Ba
ceFold = kfoldLoss(CVMdl,gydF4y2Ba“LossFun”gydF4y2Balossfun,gydF4y2Ba“模式”gydF4y2Ba,gydF4y2Ba“个人”gydF4y2Ba)gydF4y2Ba
ceFold =gydF4y2Ba5×1gydF4y2Ba0.0488 0.0511 0.0496 0.0479 0.0452gydF4y2Ba

为确定由使用逻辑回归学习器的线性分类模型组成的ECOC模型的良好套索惩罚强度,实现5倍交叉验证。gydF4y2Ba

加载NLP数据集。gydF4y2Ba

负载gydF4y2BanlpdatagydF4y2Ba

XgydF4y2Ba是一个稀疏矩阵的预测数据,和gydF4y2BaYgydF4y2Ba是类标签的分类向量。gydF4y2Ba

为简单起见,在所有观察中使用“其他”标签gydF4y2BaYgydF4y2Ba不是这样的gydF4y2Ba“金宝app模型”gydF4y2Ba,gydF4y2Ba“dsp”gydF4y2Ba,或gydF4y2Ba“通讯”gydF4y2Ba.gydF4y2Ba

Y (~ (ismember (Y, {gydF4y2Ba“金宝app模型”gydF4y2Ba,gydF4y2Ba“dsp”gydF4y2Ba,gydF4y2Ba“通讯”gydF4y2Ba}))) =gydF4y2Ba“别人”gydF4y2Ba;gydF4y2Ba

创建一组11个对数间隔的正则化强度gydF4y2Ba 1gydF4y2Ba 0gydF4y2Ba -gydF4y2Ba 7gydF4y2Ba 通过gydF4y2Ba 1gydF4y2Ba 0gydF4y2Ba -gydF4y2Ba 2gydF4y2Ba .gydF4y2Ba

Lambda = logspace(-7,-2,11);gydF4y2Ba

创建一个线性分类模型模板,指定使用逻辑回归学习器,使用具有优势的套索惩罚gydF4y2BaλgydF4y2Ba,使用SpaRSA进行训练,并将目标函数梯度上的容差降低到gydF4y2Ba1 e-8gydF4y2Ba.gydF4y2Ba

t = templatlinear (gydF4y2Ba“学习者”gydF4y2Ba,gydF4y2Ba“物流”gydF4y2Ba,gydF4y2Ba“规划求解”gydF4y2Ba,gydF4y2Ba“sparsa”gydF4y2Ba,gydF4y2Ba...gydF4y2Ba“正规化”gydF4y2Ba,gydF4y2Ba“套索”gydF4y2Ba,gydF4y2Ba“λ”gydF4y2Baλ,gydF4y2Ba“GradientTolerance”gydF4y2Ba1 e-8);gydF4y2Ba

交叉验证模型。要提高执行速度,可以调换预测器数据,并指定观察值为列。gydF4y2Ba

X = X';rng (10);gydF4y2Ba%用于再现性gydF4y2BaCVMdl = fitcecoc(X,Y,gydF4y2Ba“学习者”gydF4y2BatgydF4y2Ba“ObservationsIn”gydF4y2Ba,gydF4y2Ba“列”gydF4y2Ba,gydF4y2Ba“KFold”gydF4y2Ba5);gydF4y2Ba

CVMdlgydF4y2Ba是一个gydF4y2BaClassificationPartitionedLinearECOCgydF4y2Ba模型。gydF4y2Ba

解剖gydF4y2BaCVMdlgydF4y2Ba,以及其中的每个模型。gydF4y2Ba

numECOCModels = nummel (CVMdl.Trained)gydF4y2Ba
numECOCModels = 5gydF4y2Ba
ECOCMdl1 = CVMdl。训练有素的{1}gydF4y2Ba
ECOCMdl1 = CompactClassificationECOC ResponseName: 'Y' ClassNames: [comm dsp 金宝appsimulink others] ScoreTransform: 'none' BinaryLearners: {6×1 cell} CodingMatrix: [4×6 double]属性,方法gydF4y2Ba
numCLModels = nummel (ECOCMdl1.BinaryLearners)gydF4y2Ba
numCLModels = 6gydF4y2Ba
CLMdl1 = ECOCMdl1。BinaryLearners {1}gydF4y2Ba
CLMdl1 = ClassificationLinear ResponseName: 'Y' ClassNames: [-1 1] ScoreTransform: 'logit' Beta: [34023×11 double]偏差:[-0.3169 -0.3169 -0.3168 -0.3168 -0.3168 -0.3167 -0.1725 -0.0805 -0.1762 -0.3450 -0.5174]Lambda: [1.0000e-07 3.1623e-07 1.0000e-06 3.1623e-05 1.0000e-04 3.1623e-04 1.0000e-03 0.0032 0.0100]学习者:'logistic'属性,方法gydF4y2Ba

因为gydF4y2BafitcecocgydF4y2Ba实现5倍交叉验证,gydF4y2BaCVMdlgydF4y2Ba的5 × 1单元格数组gydF4y2BaCompactClassificationECOCgydF4y2Ba软件在每次折叠上训练的模型。的gydF4y2BaBinaryLearnersgydF4y2Ba各属性gydF4y2BaCompactClassificationECOCgydF4y2Ba模型包含gydF4y2BaClassificationLineargydF4y2Ba模型。的数量gydF4y2BaClassificationLineargydF4y2Ba每个紧凑型ECOC模型中的模型取决于不同标签和编码设计的数量。因为gydF4y2BaλgydF4y2Ba是一个正则化强度序列,你能想到吗gydF4y2BaCLMdl1gydF4y2Ba作为11个模型,每个模型中的正则化强度为1gydF4y2BaλgydF4y2Ba.gydF4y2Ba

通过绘制每个正则化强度的5倍分类误差的平均值来确定模型的泛化程度。确定将网格上的泛化误差最小化的正则化强度。gydF4y2Ba

ce = kfoldLoss(CVMdl);图;plot(log10(Lambda),log10(ce)) [~,minCEIdx] = min(ce);minLambda = Lambda(minCEIdx);持有gydF4y2Ba在gydF4y2Ba情节(log10 (minLambda) log10 (ce (minCEIdx)),gydF4y2Ba“罗”gydF4y2Ba);ylabel (gydF4y2Ba'log_{10} 5倍分类错误'gydF4y2Ba)包含(gydF4y2Ba“log_{10}λ的gydF4y2Ba)传说(gydF4y2BaMSE的gydF4y2Ba,gydF4y2Ba“最小分类错误”gydF4y2Ba)举行gydF4y2Ba从gydF4y2Ba

利用整个数据集训练一个由线性分类模型组成的ECOC模型,并指定最小正则化强度。gydF4y2Ba

t = templatlinear (gydF4y2Ba“学习者”gydF4y2Ba,gydF4y2Ba“物流”gydF4y2Ba,gydF4y2Ba“规划求解”gydF4y2Ba,gydF4y2Ba“sparsa”gydF4y2Ba,gydF4y2Ba...gydF4y2Ba“正规化”gydF4y2Ba,gydF4y2Ba“套索”gydF4y2Ba,gydF4y2Ba“λ”gydF4y2BaminLambda,gydF4y2Ba“GradientTolerance”gydF4y2Ba1 e-8);MdlFinal = fitcecoc(X,Y,gydF4y2Ba“学习者”gydF4y2BatgydF4y2Ba“ObservationsIn”gydF4y2Ba,gydF4y2Ba“列”gydF4y2Ba);gydF4y2Ba

要估计新观测值的标签,请通过gydF4y2BaMdlFinalgydF4y2Ba新的数据gydF4y2Ba预测gydF4y2Ba.gydF4y2Ba

更多关于gydF4y2Ba

全部展开gydF4y2Ba

参考文献gydF4y2Ba

[1]奥尔温,E., R. Schapire, Y. Singer。将多类简化为二进制:边距分类器的统一方法。gydF4y2Ba机器学习研究杂志gydF4y2Ba.Vol. 1, 2000, pp. 113-141。gydF4y2Ba

[2] Escalera, S., O. Pujol, P. Radeva。纠错输出码的稀疏设计的三进制码的可分性。gydF4y2BaRecog模式。列托人。gydF4y2Ba, 2009年第3期,第30卷,页285-297。gydF4y2Ba

[3] Escalera, S., O. Pujol, P. Radeva。三进制纠错输出码的解码过程。gydF4y2Ba模式分析与机器智能汇刊gydF4y2Ba.Vol. 32, Issue 7, 2010, pp. 120-134。gydF4y2Ba

扩展功能gydF4y2Ba

版本历史gydF4y2Ba

在R2016a中引入gydF4y2Ba