主要内容

resubloss.

重新提交分类损失

    描述

    例子

    L.= resubLoss (Mdl返回分类损失通过重新提出(L),或样本分类损失,用于培训的分类模型Mdl使用存储在Mdl。X和相应的类标签存储在Mdl。y

    解释L.取决于损失功能(“LossFun”)和加权方案(Mdl。W.).一般来说,更好的分类器产生更小的分类损失值。默认的“LossFun”值因模型对象而异Mdl

    例子

    L.= resubLoss (Mdl名称,价值使用一个或多个名称-值参数指定其他选项。例如,“LossFun”、“binodeviance”将丢失函数设置为二项式偏差功能。

    例子

    全部收缩

    确定朴素贝叶斯分类器的样本内分类误差(再替换损失)。一般来说,损耗越小,分类器越好。

    加载fisheriris数据集。创建X作为一个数字矩阵,包含四个测量150个虹膜。创建y作为包含相应的IRIS物种的字符向量的单元阵列。

    加载fisheririsX =量;Y =物种;

    使用预测器训练朴素贝叶斯分类器X和类标签y.推荐的做法是指定类名。fitcnb假设每个预测器是有条件地和通常分布的。

    Mdl = fitcnb (X, Y,“类名”,{“setosa”“多色的”“virginica”})
    Mdl = ClassificationNaiveBayes ResponseName: 'Y' CategoricalPredictors: [] ClassNames: {'setosa' 'versicolor' 'virginica'} ScoreTransform: 'none' NumObservations: 150 DistributionNames: {'normal' ' 'normal' ' 'normal'} DistributionParameters: {3x4 cell}属性,方法

    Mdl是一个培训ClassificationNaiveBayes分类器。

    估计样本内分类误差。

    L = resubLoss (Mdl)
    L = 0.0400.

    Naive Bayes Classifier错了4%的培训观察。

    加载电离层数据集。该数据集有34个预测器和351个雷达返回的二进制响应,或坏(“b”)或好(‘g’).

    加载电离层

    列车支持向量机(万博1manbetxSVM)分类器。标准化数据并指定该数据‘g’是积极的课程。

    svmmodel = fitcsvm(x,y,“类名”,{“b”‘g’},“标准化”,真正的);

    SVMModel是一个培训ClassificationSVM分类器。

    估算样品内铰链损耗。

    L = resubLoss (SVMModel,“LossFun”“枢纽”
    L = 0.1603.

    铰链损失是0.1603.铰链损耗接近0的分类器是首选。

    培训包含预测器的线性和交互术语的广义添加剂模型(GAM),并估计具有互动条款的分类损失。在估计培训和测试数据的分类损失时,是否指定是否包括交互术语。

    加载电离层数据集。该数据集有34个预测器和351个雷达返回的二进制响应,或坏(“b”)或好(‘g’).

    加载电离层

    将数据分组到两组:一个包含培训数据,另一组包含新的未观察到的测试数据。保留用于新测试数据集的50个观察。

    rng (“默认”%的再现性n =大小(X, 1);newInds = randsample (n, 50);第1 = ~ ismember (1: n, newInds);XNew = X (newInds:);YNew = Y (newInds);

    使用预测器训练GAMX和类标签y.推荐的做法是指定类名。指定包含10个最重要的交互条款。

    mdl = fitcgam(x(inds,:),y(inds),“类名”,{“b”‘g’},'互动', 10)
    Mdl = classificationongam ResponseName: 'Y' CategoricalPredictors: [] ClassNames: {'b' ' 'g'} ScoreTransform: 'logit' Intercept: 2.0026 Interactions: [10x2 double] NumObservations: 301属性,方法

    Mdl是一个ClassificationGAM模型对象。

    计算有和无交互项时的再替换分类损失Mdl.要排除交互项,请指定“IncludeInteractions”,假的

    RESUBL = RERUBLOS(MDL)
    resubl = 0.
    resubl_nointeraction = resubLoss (Mdl,'internalideraction'假)
    RERUBL_NOINTERACTION = 0.

    估计有和无交互项时的分类损失Mdl

    l =损失(MDL,Xnew,Ynew)
    l = 0.0615
    l_nointeraction =损失(Mdl XNew YNew,'internalideraction'假)
    l_nointeraction = 0.0615

    包括交互项不改变的分类损失Mdl.培训的模型正确对所有培训样本进行了分类,并错误分类约6%的测试样本。

    输入参数

    全部收缩

    分类机器学习模型,指定为完整的分类模型对象,所支持的模型如下表所示。万博1manbetx

    模型 分类模型对象
    广义添加剂模型 ClassificationGAM
    K.最近的邻居模型 ClassificationKNN
    朴素贝叶斯模型 ClassificationNaiveBayes
    神经网络模型 ClassificationneuralKetwork.
    万博1manbetx支持向量机的一类和二值分类 ClassificationSVM

    名称值对参数

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

    例子:RERUBLOS(MDL,“LOADFUN”,“LOGIT”)估计logit再替换损失。

    标记以包含模型的交互术语,指定为真正的错误的.此论证仅对广义可加模型(GAM)有效。也就是说,您只能指定此参数MdlClassificationGAM

    默认值为真正的如果Mdl包含交互术语。价值必须是错误的如果模型不包含交互项。

    数据类型:逻辑

    丢失函数,指定为内置丢失函数名称或函数句柄。

    • 该表列出了可用的损耗函数。使用其对应的字符向量或字符串标量指定一个。

      价值 描述
      'binodeviance' 二项异常
      “classiferror” 十进制错误分类率
      “crossentropy” 交叉熵损失(仅用于神经网络)
      “指数” 指数损失
      “枢纽” 铰链的损失
      'logit' 物流损失
      'Mincost' 最小的预期误分类成本(用于后验概率的分类分数)
      “二次” 二次损失

      默认值取决于培训的模型(Mdl).

      • 默认值为“classiferror”如果Mdl是一个ClassificationGAMClassificationneuralKetwork.,或ClassificationSVM对象。

      • 默认值为'Mincost'如果Mdl是一个ClassificationKNNClassificationNaiveBayes对象。

      有关丢失功能的更多详细信息,请参阅分类损失

    • 要指定自定义丢失功能,请使用函数句柄表示法。该函数必须具有此表单:

      lossvalue =lossfun(C、S、W、成本)

      • 输出参数lossvalue是一个标量。

      • 您指定函数名称(lossfun).

      • C是一个N——- - - - - -K.逻辑矩阵,其行表示相应的观测所属的类。N是观察人数资源描述X,K.是不同类的数量(元素个数(Mdl.ClassNames).列顺序对应于类顺序Mdl。ClassNames.创建C通过设置C (p, q) = 1,如果观察P.是在课堂上问:,每一行。设置行中的所有其他元素P.0.

      • S.是一个N——- - - - - -K.分类分数的数字矩阵。列顺序对应于类顺序Mdl。ClassNamesS.是一个分类评分的矩阵,类似于输出预测

      • W.是一个N-乘1数值向量的观测权值。

      • 成本是一个K.——- - - - - -K.误分类代价的数值矩阵。例如,Cost = ones(K) - eye(K)指定0.正确分类及1误分类。

    例子:“LossFun”、“binodeviance”

    数据类型:字符|字符串|function_handle.

    更多关于

    全部收缩

    分类损失

    分类损失函数测量分类模型的预测不准确性。当你在许多模型中比较同一类型的损失时,损失越低表明预测模型越好。

    考虑以下场景。

    • L.是加权平均分类损失。

    • N是样本大小。

    • 二进制分类:

      • yj是被观察的类标签。软件将其编码为-1或1,表示负类或正类(或中第一类或第二类)Classnames.分别属性)。

      • FXj)为观察(行)的阳性分类评分j预测数据的X

      • mj=yjFXj)为分类观察的分类评分j进入对应的课程yj.正值mj表明正确的分类,对平均损失贡献不大。负的mj指出错误的分类,并对平均损失有很大的贡献。

    • 对于支持多类分类的算法(即,万博1manbetxK.≥3):

      • yj*是向量K.- 1个零,1在对应于真实的,观察类的位置yj.例如,如果第二个观察的真正类是第三类和K.= 4, 然后y2*= [0 0 1 0]'.类的顺序对应于Classnames.输入模型的属性。

      • FXj)为长度K.用于观察的班级分数向量j预测数据的X.分数的顺序与表中班级的顺序相对应Classnames.输入模型的属性。

      • mj=yj*'FXj).因此,mj是模型对真实的、观察到的类所预测的标量分类分数。

    • 观察的重量jW.j.该软件将观察权重标准化,使得它们总和到相应的先前类概率。该软件还规范化了现有概率,因此它们总和为1.因此,

      j = 1 N W. j = 1.

    给定此场景,下表描述了支持的损失函数,可以使用万博1manbetx“LossFun”名称值对参数。

    损失函数 的价值LossFun 方程
    二项异常 'binodeviance' L. = j = 1 N W. j 日志 { 1 + 经验值 [ 2 m j ] }
    十进制错误分类率 “classiferror”

    L. = j = 1 N W. j 一世 { y ^ j y j }

    y ^ j 是与具有最大分数的类对应的类标签。一世{·}是指示函数。

    叉损失 “crossentropy”

    “crossentropy”仅适用于神经网络模型。

    加权交叉熵损失是

    L. = j = 1 N W. ˜ j 日志 m j K. N

    的权重 W. ˜ j 被标准化为总和N而不是1。

    指数损失 “指数” L. = j = 1 N W. j 经验值 m j
    铰链的损失 “枢纽” L. = j = 1 N W. j 马克斯 { 0. 1 m j }
    Logit损失 'logit' L. = j = 1 N W. j 日志 1 + 经验值 m j
    最小的误分类成本 'Mincost'

    'Mincost'只有当分类分数是后验概率时才合适。

    该软件计算加权最小期望分类成本使用这一程序的观察j= 1,…,N

    1. 估计对观测数据进行分类的预期误分类成本Xj到类K.

      γ j K. = F X j ' C K.

      FXj)为观测的二值和多类分类的类后验概率列向量XjC是存储在的成本矩阵成本模型的属性。

    2. 为观察j,预测对应于最小预期错误分类成本的类标签:

      y ^ j = argmin K. = 1 ... K. γ j K.

    3. 使用C,确认已发生的成本(Cj用于制作预测。

    最小期望误分类代价损失的加权平均值为

    L. = j = 1 N W. j C j

    如果使用默认成本矩阵(其元素值为0对于正确分类和1个不正确的分类),则'Mincost'损失相当于“classiferror”的损失。

    二次损失 “二次” L. = j = 1 N W. j 1 m j 2

    这个数字比较的损失函数(除了“crossentropy”'Mincost'超过分数m一个观察。一些函数被归一化通过点(0,1)。

    不同损失函数分类损失的比较

    算法

    resubloss.根据对应的值计算分类损失损失对象的功能(Mdl).对于特定于模型的描述,请参阅损失函数参考页下表。

    模型 分类模型对象(Mdl 损失目标函数
    广义添加剂模型 ClassificationGAM 损失
    K.最近的邻居模型 ClassificationKNN 损失
    朴素贝叶斯模型 ClassificationNaiveBayes 损失
    神经网络模型 ClassificationneuralKetwork. 损失
    万博1manbetx支持向量机的一类和二值分类 ClassificationSVM 损失

    扩展功能

    介绍了R2012a