主要内容gydF4y2Ba

kfoldEdgegydF4y2Ba

用于观察的分类边缘不用于培训gydF4y2Ba

描述gydF4y2Ba

例子gydF4y2Ba

egydF4y2Ba= kfoldEdge (gydF4y2Bacvmdl.gydF4y2Ba)gydF4y2Ba返回旨在gydF4y2Ba分类边gydF4y2Ba由由线性分类模型组成的交叉验证的纠错输出代码(ECOC)模型获得gydF4y2Bacvmdl.gydF4y2Ba.也就是说,对于每一个折叠,gydF4y2BakfoldEdgegydF4y2Ba估计分类边缘,以便在使用所有其他观察时培训它时它坚持下去。gydF4y2Ba

egydF4y2Ba包含的线性分类模型中的每个正则化强度的分类边gydF4y2Bacvmdl.gydF4y2Ba.gydF4y2Ba

例子gydF4y2Ba

egydF4y2Ba= kfoldEdge (gydF4y2Bacvmdl.gydF4y2Ba,gydF4y2Ba名称,值gydF4y2Ba)gydF4y2Ba使用一个或多个指定的其他选项gydF4y2Ba名称,值gydF4y2Ba对参数。例如,指定一个解码方案,用于边缘计算的折叠或冗长级别。gydF4y2Ba

输入参数gydF4y2Ba

展开全部gydF4y2Ba

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

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

  2. 设置名称-值对参数gydF4y2Ba学习者gydF4y2Ba到gydF4y2Ba'线性'gydF4y2Ba或返回的线性分类模型模板gydF4y2BaTemplateLinear.gydF4y2Ba

为了获得估计,kfoldedge应用于交叉验证ecoc模型的相同数据(gydF4y2BaXgydF4y2Ba和gydF4y2BaYgydF4y2Ba).gydF4y2Ba

名称-值对的观点gydF4y2Ba

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

二进制学习者丢失功能,指定为逗号分隔对组成gydF4y2Ba'二元乐'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)] / [2log(2)]gydF4y2Ba
    '指数'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)] / [2log(2)]gydF4y2Ba
    '二次'gydF4y2Ba 二次gydF4y2Ba [0, 1]gydF4y2Ba [1 -gydF4y2BaygydF4y2BajgydF4y2Ba(2gydF4y2Ba年代gydF4y2BajgydF4y2Ba- 1))gydF4y2Ba2gydF4y2Ba/ 2.gydF4y2Ba

    该软件规范化二进制损耗,使得损耗为0.5gydF4y2BaygydF4y2BajgydF4y2Ba= 0.此外,软件计算每个类的平均二进制损耗。gydF4y2Ba

  • 对于自定义二进制损耗函数,例如,gydF4y2BacustomFunctiongydF4y2Ba,指定其功能句柄gydF4y2Ba'binaryloss',@ customfunctiongydF4y2Ba.gydF4y2Ba

    customFunctiongydF4y2Ba应该有这个表格gydF4y2Ba

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

    • 米gydF4y2Ba是个gydF4y2BaKgydF4y2Ba-经过-gydF4y2BalgydF4y2Ba存储在gydF4y2BaMdl。CodingMatrixgydF4y2Ba.gydF4y2Ba

    • 年代gydF4y2Ba是1-by-gydF4y2BalgydF4y2Ba分类得分的行矢量。gydF4y2Ba

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

    • KgydF4y2Ba为类数。gydF4y2Ba

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

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

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

  • 然后,SVMgydF4y2BaBinaryLossgydF4y2Ba是gydF4y2Ba'合页'gydF4y2Ba

  • 逻辑回归,然后gydF4y2BaBinaryLossgydF4y2Ba是gydF4y2Ba'二次'gydF4y2Ba

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

数据类型:gydF4y2BachargydF4y2Ba|gydF4y2Ba细绳gydF4y2Ba|gydF4y2Bafunction_handlegydF4y2Ba

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

例子:gydF4y2Ba'解码','丢失'gydF4y2Ba

用于分类评分预测的折叠指标,指定为包括的逗号分隔对gydF4y2Ba“折叠”gydF4y2Ba和一个正整数的数字向量。的元素gydF4y2Ba折叠gydF4y2Ba必须从gydF4y2Ba1gydF4y2Ba通过gydF4y2Bacvmdl.kfold.gydF4y2Ba.gydF4y2Ba

例子:gydF4y2Ba'折叠',[1 4 10]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'选项',statset('deverypallellel',true)gydF4y2Ba.gydF4y2Ba

详细级别,指定为逗号分隔对组成gydF4y2Ba'verbose'gydF4y2Ba和gydF4y2Ba0gydF4y2Ba要么gydF4y2Ba1gydF4y2Ba.gydF4y2Ba详细的gydF4y2Ba控制软件在命令窗口中显示的诊断消息的数量。gydF4y2Ba

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

例子:gydF4y2Ba'verbose',1gydF4y2Ba

数据类型:gydF4y2Ba单身的gydF4y2Ba|gydF4y2Ba双倍的gydF4y2Ba

输出参数gydF4y2Ba

展开全部gydF4y2Ba

交叉验证gydF4y2Ba分类边gydF4y2Ba,作为数字标量,向量或矩阵返回。gydF4y2Ba

让gydF4y2BalgydF4y2Ba是交叉验证模型中的正则化强度的数量(即,gydF4y2BalgydF4y2Ba是gydF4y2Banumel(cvmdl.tromed {1} .binarylearners {1} .lambda)gydF4y2Ba) 和gydF4y2BaFgydF4y2Ba是折叠的数量(存储在gydF4y2Bacvmdl.kfold.gydF4y2Ba).gydF4y2Ba

  • 如果gydF4y2Ba模式gydF4y2Ba是gydF4y2Ba'平均'gydF4y2Ba,然后gydF4y2BaegydF4y2Ba是1 -gydF4y2BalgydF4y2Ba向量。gydF4y2Bae (gydF4y2BajgydF4y2Ba)gydF4y2Ba是使用正则化强度的交叉验证模型的所有折叠的平均分类边缘gydF4y2BajgydF4y2Ba.gydF4y2Ba

  • 否则,gydF4y2BaegydF4y2Ba是A.gydF4y2BaFgydF4y2Ba-经过-gydF4y2BalgydF4y2Ba矩阵。gydF4y2Bae (gydF4y2Ba我gydF4y2Ba,gydF4y2BajgydF4y2Ba)gydF4y2Ba是折叠的分类边缘gydF4y2Ba我gydF4y2Ba使用正规化强度的交叉验证模型gydF4y2BajgydF4y2Ba.gydF4y2Ba

例子gydF4y2Ba

展开全部gydF4y2Ba

加载NLP数据集。gydF4y2Ba

负载gydF4y2BanlpdatagydF4y2Ba

XgydF4y2Ba是预测器数据的稀疏矩阵,以及gydF4y2BaYgydF4y2Ba是类标签的分类矢量。gydF4y2Ba

为简单起见,在所有的观察中使用“其他”标签gydF4y2BaYgydF4y2Ba那不是gydF4y2Ba'万博1manbetxsimulink'gydF4y2Ba,gydF4y2Ba'DSP'gydF4y2Ba, 要么gydF4y2Ba'comm'gydF4y2Ba.gydF4y2Ba

y(〜(ismember(y,{gydF4y2Ba'万博1manbetxsimulink'gydF4y2Ba,gydF4y2Ba'DSP'gydF4y2Ba,gydF4y2Ba'comm'gydF4y2Ba}))) =gydF4y2Ba'其他'gydF4y2Ba;gydF4y2Ba

交叉验证一个多类线性分类模型。gydF4y2Ba

rng (1);gydF4y2Ba重复性的%gydF4y2Bacvmdl = fitcecoc(x,y,gydF4y2Ba'学习者'gydF4y2Ba,gydF4y2Ba'线性'gydF4y2Ba,gydF4y2Ba“CrossVal”gydF4y2Ba,gydF4y2Ba“上”gydF4y2Ba);gydF4y2Ba

cvmdl.gydF4y2Ba是A.gydF4y2BaClassificationedAdearecoc.gydF4y2Ba模型。默认情况下,软件实现10倍交叉验证。您可以使用使用的折叠数gydF4y2Ba'kfold'gydF4y2Ba名称-值对的论点。gydF4y2Ba

估计出折叠边的平均值。gydF4y2Ba

e = kfoldedge(cvmdl)gydF4y2Ba
E = 0.7232.gydF4y2Ba

或者,您可以通过指定名称值对获取每个折叠边缘gydF4y2Ba“模式”,“个人”gydF4y2Ba在gydF4y2BakfoldEdgegydF4y2Ba.gydF4y2Ba

进行特征选择的一种方法是进行比较gydF4y2BakgydF4y2Ba- 来自多种模型的边缘。仅基于此标准,具有最高边缘的分类器是最佳分类器。gydF4y2Ba

加载NLP数据集。预处理数据,如gydF4y2Ba估计k折交叉验证边gydF4y2Ba,并对预测器数据进行定位,使观察结果与列相对应。gydF4y2Ba

负载gydF4y2BanlpdatagydF4y2Bay(〜(ismember(y,{gydF4y2Ba'万博1manbetxsimulink'gydF4y2Ba,gydF4y2Ba'DSP'gydF4y2Ba,gydF4y2Ba'comm'gydF4y2Ba}))) =gydF4y2Ba'其他'gydF4y2Ba;X = X ';gydF4y2Ba

创建以下两个数据集:gydF4y2Ba

  • ullx.gydF4y2Ba包含所有预测。gydF4y2Ba

  • partXgydF4y2Ba包含随机选择的1/2的预测器。gydF4y2Ba

rng (1);gydF4y2Ba重复性的%gydF4y2Bap =尺寸(x,1);gydF4y2Ba%预测器数量gydF4y2BahalfPredIdx = randsample (p,装天花板(0.5 * p));fullX = X;partX = X (halfPredIdx:);gydF4y2Ba

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

t = templateLinear (gydF4y2Ba'求解'gydF4y2Ba,gydF4y2Ba“sparsa”gydF4y2Ba);gydF4y2Ba

交叉验证由二元线性分类模型组成的两个ECOC模型:一个使用所有预测器,另一个使用一半预测器。表示观察结果对应于列。gydF4y2Ba

cvmdl = fitcecoc(fullx,y,gydF4y2Ba“学习者”gydF4y2Ba,t,gydF4y2Ba“CrossVal”gydF4y2Ba,gydF4y2Ba“上”gydF4y2Ba,gydF4y2Ba......gydF4y2Ba“ObservationsIn”gydF4y2Ba,gydF4y2Ba“列”gydF4y2Ba);pcvmdl = fitcecoc(partx,y,gydF4y2Ba“学习者”gydF4y2Ba,t,gydF4y2Ba“CrossVal”gydF4y2Ba,gydF4y2Ba“上”gydF4y2Ba,gydF4y2Ba......gydF4y2Ba“ObservationsIn”gydF4y2Ba,gydF4y2Ba“列”gydF4y2Ba);gydF4y2Ba

cvmdl.gydF4y2Ba和gydF4y2BaPCVMDL.gydF4y2Ba是gydF4y2BaClassificationedAdearecoc.gydF4y2Ba楷模。gydF4y2Ba

估计gydF4y2BakgydF4y2Ba- 每个分类器的折叠边缘。gydF4y2Ba

FultEdge = KfoldEdge(CVMDL)gydF4y2Ba
fullEdge = 0.3090gydF4y2Ba
partEdge = kfoldEdge (PCVMdl)gydF4y2Ba
partEdge = 0.2617gydF4y2Ba

基于这一点gydF4y2BakgydF4y2Ba-fold edges,使用所有预测器的分类器是更好的模型。gydF4y2Ba

为了确定使用逻辑回归学习者的线性分类模型的良好租赁强度,比较K折边缘。gydF4y2Ba

加载NLP数据集。预处理数据,如gydF4y2Ba使用k折边进行特征选择gydF4y2Ba.gydF4y2Ba

负载gydF4y2BanlpdatagydF4y2Bay(〜(ismember(y,{gydF4y2Ba'万博1manbetxsimulink'gydF4y2Ba,gydF4y2Ba'DSP'gydF4y2Ba,gydF4y2Ba'comm'gydF4y2Ba}))) =gydF4y2Ba'其他'gydF4y2Ba;X = X ';gydF4y2Ba

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

λ= logspace (8 1 8);gydF4y2Ba

创建一个线性分类模型模板,指定使用Lasso惩罚的Logistic回归,使用每个正则化强度,使用Sparsa优化目标函数,并降低目标函数梯度的容差gydF4y2Ba1E-8gydF4y2Ba.gydF4y2Ba

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

交叉验证一个由二元、线性分类模型组成的ECOC模型,使用5倍交叉验证gydF4y2Ba

RNG(10)gydF4y2Ba重复性的%gydF4y2Bacvmdl = fitcecoc(x,y,gydF4y2Ba“学习者”gydF4y2Ba,t,gydF4y2Ba“ObservationsIn”gydF4y2Ba,gydF4y2Ba“列”gydF4y2Ba,gydF4y2Ba'kfold'gydF4y2Ba5)gydF4y2Ba
CVMdl = ClassificationPartitionedLinearECOC CrossValidatedModel: 'LinearECOC' ResponseName: 'Y' NumObservations: 31572 KFold: 5 Partition: [1x1 cvpartition] ClassNames: [comm dsp 万博1manbetxsimulink others] ScoreTransform: 'none'属性,方法gydF4y2Ba

cvmdl.gydF4y2Ba是A.gydF4y2BaClassificationedAdearecoc.gydF4y2Ba模型。gydF4y2Ba

估计每个折叠的边缘和正则化强度。gydF4y2Ba

eFolds = kfoldEdge (CVMdl,gydF4y2Ba“模式”gydF4y2Ba,gydF4y2Ba“个人”gydF4y2Ba)gydF4y2Ba
efolds =gydF4y2Ba5×8gydF4y2Ba0.5553 0.5555 0.5556 0.5544 0.4957 0.2938 0.1044 0.0853 0.5301 0.5306 0.5306 0.5310 0.4826 0.2944 0.1049 0.0868 0.5278 0.5284 0.5293 0.5290 0.4764 0.2906 0.1039 0.0867 0.5387 0.5398 0.5408 0.5377 0.4844 0.2897 0.1016 0.0857 0.5509 0.5569 0.5571 0.5568 0.4951 0.2938 0.1032 0.0850gydF4y2Ba

efolds.gydF4y2Ba是一个5×8的边缘矩阵。行对应于折叠,列对应于正则化强度gydF4y2BaλgydF4y2Ba.您可以使用gydF4y2Baefolds.gydF4y2Ba识别不良折叠,即异常低的边缘。gydF4y2Ba

为每个正则化强度估算所有折叠的平均边缘。gydF4y2Ba

e = kfoldedge(cvmdl)gydF4y2Ba
E =gydF4y2Ba1×8gydF4y2Ba0.5406 0.5422 0.5427 0.5418 0.4868 0.2924 0.1036 0.0859gydF4y2Ba

确定模型通过绘制每个正则化强度的5倍边缘的平均值的概括。确定最大化电网上的5倍边缘的正则化强度。gydF4y2Ba

图绘图(log10(lambda),log10(e),gydF4y2Ba“o”gydF4y2Ba) [~, maxEIdx] = max(e);maxLambda =λ(maxEIdx);持有gydF4y2Ba在gydF4y2Ba情节(log10 (maxLambda) log10 (e (maxEIdx)),gydF4y2Ba“罗”gydF4y2Ba)ylabel(gydF4y2Ba'log_ {10} 5折边缘'gydF4y2Ba)Xlabel(gydF4y2Ba“log_{10}λ的gydF4y2Ba) 传奇(gydF4y2Ba“边缘”gydF4y2Ba,gydF4y2Ba的最大优势gydF4y2Ba) 抓住gydF4y2Ba离开gydF4y2Ba

图中包含一个坐标轴。轴线包含2个线型对象。这些对象表示边,最大边。gydF4y2Ba

数的值gydF4y2BaλgydF4y2Ba产生类似的高边缘。更大的正则化强度值导致预测器可变稀疏性,这是一个良好的分类器质量。gydF4y2Ba

选择正常发生在边缘开始递减之前的正常化强度。gydF4y2Ba

lambdafinal = lambda(4);gydF4y2Ba

使用整个数据集培训由线性分类模型组成的ecoc模型,并指定正则化强度gydF4y2Balambdafinal.gydF4y2Ba.gydF4y2Ba

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

估算新观察的标签,通过gydF4y2Bamdlfinal.gydF4y2Ba和新数据到gydF4y2Ba预测gydF4y2Ba.gydF4y2Ba

更多关于gydF4y2Ba

展开全部gydF4y2Ba

参考文献gydF4y2Ba

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

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

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

扩展能力gydF4y2Ba

介绍了R2016agydF4y2Ba