主要内容

损失

查找支持向量机(SVM)分类器的分类错误金宝app

描述

L=损失(svmmodel.,TBL.,responsevarname.)返回分类错误(请参见分类损失),标量表示训练的支持向量机(SVM)分类器(金宝appsvmmodel.)对表中的预测器数据进行分类TBL.与真正的课程标签相比tbl.responsevarname..

损失标准化类概率tbl.responsevarname.到之前的概率fitcsvm.用于培训,储存在事先的性质svmmodel..

分类损失(L)是一种概括或重新替代的质量度量。其解释取决于损失函数和加权方案,但一般来说,更好的分类器产生更小的分类损失值。

L=损失(svmmodel.,TBL.,Y)返回表中预测器数据的分类错误TBL.和真正的类标签Y.

损失标准化类概率Y到之前的概率fitcsvm.用于培训,储存在事先的性质svmmodel..

例子

L=损失(svmmodel.,X,Y)基于矩阵中的预测器数据返回分类错误X与真正的课程标签相比Y.

例子

L=损失(___,名称、值)除了以前语法中的输入参数之外,使用一个或多个名称值对参数指定选项。例如,您可以指定丢失函数和分类权重。

例子

全部收缩

加载电离层数据集。

负载电离层RNG(1);重复性的%

训练SVM分类器。指定用于测试的15%HoldOut样本,标准化数据并指定'G'是积极类。

cvsvmmodel = fitcsvm(x,y,'坚持',0.15,'classnames',{'B','G'},......'标准化',true);CompactSVMModel=CVSVMModel.Trained{1};%提取训练,紧凑的分类器testinds = test(cvsvmmodel.partition);%提取测试指标xtest = x(testinds,:);ytest = y(testinds,:);

CVSVMModel是A.分类分区模型分类器。它包含该物业训练有素,这是一个1×1个单元阵列,保持aCompactClassificationsVM.软件使用训练集训练的分类器。

通过估计测试样本分类误差来确定算法概括的程度。

l =损耗(CompactSvmModel,XTest,YTEST)
L=0.0787

SVM分类器错误分类约8%的测试样本。

加载电离层数据集。

负载电离层RNG(1);重复性的%

训练SVM分类器。指定用于测试的15%HoldOut样本,标准化数据并指定'G'是积极类。

cvsvmmodel = fitcsvm(x,y,'坚持',0.15,'classnames',{'B','G'},......'标准化',true);CompactSVMModel=CVSVMModel.Trained{1};%提取训练,紧凑的分类器testinds = test(cvsvmmodel.partition);%提取测试指标xtest = x(testinds,:);ytest = y(testinds,:);

CVSVMModel是A.分类分区模型分类器。它包含该物业训练有素,这是一个1×1个单元阵列,保持aCompactClassificationsVM.软件使用训练集训练的分类器。

通过估计测试样品铰链损耗来确定算法概括的程度。

L =损耗(CompactSvmModel,XTest,Yest,'lockfun','合页')
L = 0.2998.

铰链损耗约为0.3。具有接近0的铰链损耗的分类器是优选的。

输入参数

全部收缩

SVM分类模型,指定为a分类VM.模型对象或CompactClassificationsVM.返回的模型对象fitcsvm.或者袖珍的分别地

示例数据,指定为表。每一排TBL.对应于一个观察,并且每列对应于一个预测变量。可选地,TBL.可以包含响应变量和观察权重的附加列。TBL.必须包含用于训练的所有预测器svmmodel..不允许使用字符向量的单元格数组以外的多列变量和单元格数组。

如果TBL.包含用于训练的响应变量svmmodel.,那么你不需要指定responsevarname.或者Y.

如果你训练有素svmmodel.使用表中包含的示例数据,然后损失也必须在桌子上。

如果你设置了“标准化”,没错在里面fitcsvm.训练时svmmodel.,然后软件使用相应的手段标准化预测器数据的列svmmodel.mu.以及SVMModel.Sigma.

数据类型:桌子

响应变量名称,指定为变量的名称TBL..

您必须指定responsevarname.作为字符矢量或字符串标量。例如,如果响应变量Y存储为tbl.y.然后指定responsevarname.作为'是'.否则,该软件将处理所有列TBL., 包含Y,作为训练模型时的预测器。

响应变量必须是分类,字符或字符串阵列,逻辑或数字矢量或字符向量的单元格数组。如果响应变量是字符数组,则每个元素必须对应于数组的一行。

数据类型:char|细绳

预测数据,指定为数字矩阵。

每一排X对应一个观察值(也称为实例或示例),每列对应一个变量(也称为特征)X必须与训练svmmodel.分类器。

长度Y和行的行数X必须平等。

如果你设置了“标准化”,没错在里面fitcsvm.培训svmmodel.,然后该软件标准化列的列X使用相应的手段svmmodel.mu.以及SVMModel.Sigma.

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

类标签,指定为分类,字符或字符串阵列,逻辑或数字矢量或字符向量的单元格数组。Y必须与的数据类型相同svmmodel.classnames..(软件将字符串数组视为字符向量的单元数组。)

长度Y必须等于中的行数TBL.或中的行数X.

名称值对参数

指定可选的逗号分隔的字符对名称、值论点。姓名是参数名和价值是相应的价值。姓名必须出现在引号内。您可以以任何顺序指定多个名称和值对参数name1,value1,...,namen,valuen.

例子:损耗(SVMModel、TBL、Y、‘重量’、W)重量每行的观察TBL.在变量的每一行中使用相应的权重W在里面TBL..

损失函数,指定为逗号分隔对组成'lockfun'和内置丢失函数名称或函数句柄。

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

    价值 描述
    “偏差” 二项式偏差
    'classiferror' 小数点被错误分类
    '指数' 指数损失
    '合页' 铰链损失
    “罗吉特” 物流损失
    “mincost” 最小预期的错误分类成本(用于后验概率的分类分数)
    '二次' 二次损失

    “mincost”适用于后验概率的分类分数。您可以通过设置'fitposterior',真实使用交叉验证模型时fitcsvm..

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

    假设N是中的观察数X, 和K是不同类的数量(numel(svmmodel.classnames))用于创建输入模型(svmmodel.).您的功能必须具有此签名

    lockvalue =损失义务(C,S,W,成本)
    哪里:

    • 输出参数失值是一个标量。

    • 您可以选择函数名(损失义务).

    • C是一个N-经过-K逻辑矩阵,行指示相应观察值所属的类。列顺序与中的类顺序相对应svmmodel.classnames..

      构造C通过设置c(p,q)= 1如果观察P她在上课Q每行。设置行的所有其他元素P0.

    • s是一个N-经过-K分类分数的数字矩阵,类似于输出预测.列顺序对应于类顺序svmmodel.classnames..

    • W是一个N- 1个数字矢量重量的数字矢量。如果你通过了W,软件将权重标准化为总和1..

    • 成本是A.K-经过-K错误分类成本的数字矩阵。例如,成本=(k) - 眼睛(k)指定成本0正确分类和1.错误分类。

    使用'lockfun',@损失义务.

有关损失函数的更多详细信息,请参阅分类损失.

例子:'lockfun','binodeviance'

数据类型:char|细绳|功能手柄

观察权重,指定为逗号分隔的配对组成“重量”和一个数字向量或一个变量的名称TBL..软件对每一行的观测值进行称重X或者TBL.相应的重量在砝码.

如果您指定砝码作为数值向量,则砝码必须等于行数X或者TBL..

如果您指定砝码作为中变量的名称TBL.,您必须这样做作为字符向量或字符串标量。例如,如果重量被存储为TBL.W.然后指定砝码作为“W”.否则,该软件将处理所有列TBL., 包含TBL.W.作为预测因素。

如果您未指定自己的丢失功能,则软件标准化砝码总结相应类中的现有概率的值。

例子:'重量','w'

数据类型:单身的|双倍的|char|细绳

更多关于

全部收缩

分类损失

分类损失功能测量分类模型的预测不准确性。当您在许多模型之间比较相同类型的损耗时,较低的损耗表示更好的预测模型。

考虑以下情景。

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

  • N是样本量。

  • 对于二进制分类:

    • YJ是观察到的类标签。软件将其代码为-1或1,表示负类或正类(或第一个或第二类类名财产分别。

    • F(XJ)是观察的正级分类评分(行)J预测数据X.

    • MJ=YJF(XJ)是分类观察的分类分数J进入对应的类YJMJ表明正确的分类,并没有为平均损失贡献。负值MJ表示不正确的分类,并对平均损失显着贡献。

  • 对于支持多字符分类的算法(即,金宝appK≥3):

    • YJ*是一个矢量K- 1零,1个位置与真实的,观察类相对应YJ.例如,如果第二个观察的真正类是第三个阶级和K= 4那么Y2.*= [0 0 1 0]′.类的顺序对应于订单类名输入模型的属性。

    • F(XJ)是长度K课程的传染媒介观察的J预测数据X.分数的顺序对应于类中的类的顺序类名输入模型的属性。

    • MJ=YJ*F(XJ).所以,MJ标量分类得分是模型预测真实的观察类。

  • 观察权重JWJ.软件将观测权重标准化,使其总和为相应的先验类别概率。软件还将先验概率标准化,使其总和为1。因此,

    σ. J = 1. N W J = 1。

鉴于此方案,下表介绍了通过使用您可以指定的支持损耗功能金宝app'lockfun'名称-值对参数。

损失功能 价值损失义务 方程
二项式偏差 “偏差” L = σ. J = 1. N W J 日志 { 1. + exp. [ - 2. M J ] } .
小数点被错误分类 'classiferror'

L = σ. J = 1. N W J { Y ^ J Y J } .

Y ^ J 是与得分最大的类对应的类标签。{·是指标功能。

交叉熵损失 'forrorentropy'

'forrorentropy'仅适用于神经网络模型。

加权交叉熵损失是

L = - σ. J = 1. N W J 日志 ( M J ) K N ,

哪里重量 W J 将标准化为总和N而不是1。

指数损失 '指数' L = σ. J = 1. N W J exp. ( - M J ) .
铰链损失 '合页' L = σ. J = 1. N W J 最大限度 { 0 , 1. - M J } .
罗吉特损失 “罗吉特” L = σ. J = 1. N W J 日志 ( 1. + exp. ( - M J ) ) .
最小预期错误分类费用 “mincost”

“mincost”仅当分类分数是后验概率时才适当。

该软件使用此过程计算加权最小预期的分类成本进行观察J= 1,......,N.

  1. 估计分类观察的预期错误分类成本XJ进入课堂K:

    γ. J K = ( F ( X J ) C ) K .

    F(XJ)是对观察的二元和多字母分类的类后验概率的柱矢量XJ.C成本矩阵是否存储在成本模型的财产。

  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. .

该图比较了损耗功能(除了'forrorentropy'“mincost”)超过分数M一个观察。某些功能被归一化以通过点(0,1)。

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

分数分数

SVM分类分数用于分类观测x是符合距离的距离x到决策边界范围从-∞到+∞。班级的正得分表示x预计将在那个课程中。负分数否则表示。

正类分类分数 F ( x ) 是经过训练的SVM分类函数。 F ( x ) 也是数值预测的响应x,或预测的分数x进入正班。

F ( x ) = σ. J = 1. N α. J Y J G ( x J , x ) + B ,

在哪里 ( α. 1. , ...... , α. N , B ) 是估计的SVM参数, G ( x J , x ) 是在预测的空间之间的圆点产品x和支持向量,并且金宝app总和包括训练集观察。负类分类分数x,或预测的分数x进入消极课程,是 -F(x).

如果G(xJ,x)=xJx(线性内核),那么得分功能会减少到

F ( x ) = ( x / s ) β + B .

s是内核比例和β是拟合线性系数的向量。

有关更多详细信息,请参阅了解支持向量机金宝app.

参考

[1] Hastie,T.,R. Tibshirani和J. Friedman。统计学习的要素,第二版。斯普林格,纽约,2008年。

扩展能力

在R2014A介绍