主要内容

损失

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

描述

l=损失(SVMModel,资源描述,ResponseVarName)返回分类错误(见分类损失),一个标量代表如何训练支持向量机(SVM)分类器(金宝appSVMModel)分类预测的数据表资源描述而真正的类标签Tbl.ResponseVarName

分类损失(l)是一个泛化或resubstitution质量措施。它的解释取决于损失函数和加权方案,但是,总的来说,更好的分类器产生较小的分类损失值。

l=损失(SVMModel,资源描述,Y)返回分类错误的预测数据表资源描述而真正的类标签Y

例子

l=损失(SVMModel,X,Y)返回错误分类的基础上,预测数据矩阵X而真正的类标签Y

例子

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

请注意

如果预测数据X资源描述包含任何缺失的值LossFun没有设置为“classifcost”,“classiferror”,或“mincost”,损失函数可以返回NaN。更多细节,请参阅损失可以返回NaN预测数据缺失值

例子

全部折叠

加载电离层数据集。

负载电离层rng (1);%的再现性

一个支持向量机分类器训练。指定一个抵抗15%样品用于测试,规范数据,并指定‘g’是积极的类。

CVSVMModel = fitcsvm (X, Y,“坚持”,0.15,“类名”,{“b”,‘g’},“标准化”,真正的);CompactSVMModel = CVSVMModel.Trained {1};%提取训练,紧凑的分类器testInds =测试(CVSVMModel.Partition);%提取测试指标XTest = X (testInds:);欧美= Y (testInds:);

CVSVMModel是一个ClassificationPartitionedModel分类器。它包含属性训练有素的,这是一个1×1单元阵列举行CompactClassificationSVM软件使用训练集训练分类器。

了解算法概括估计测试样本分类错误。

L =损失(CompactSVMModel XTest、欧美)
L = 0.0787

支持向量机分类器分类大约8%的测试样本。

加载电离层数据集。

负载电离层rng (1);%的再现性

一个支持向量机分类器训练。指定一个抵抗15%样品用于测试,规范数据,并指定‘g’是积极的类。

CVSVMModel = fitcsvm (X, Y,“坚持”,0.15,“类名”,{“b”,‘g’},“标准化”,真正的);CompactSVMModel = CVSVMModel.Trained {1};%提取训练,紧凑的分类器testInds =测试(CVSVMModel.Partition);%提取测试指标XTest = X (testInds:);欧美= Y (testInds:);

CVSVMModel是一个ClassificationPartitionedModel分类器。它包含属性训练有素的,这是一个1×1单元阵列举行CompactClassificationSVM软件使用训练集训练分类器。

了解测试样本估计的算法概括铰链的损失。

L =损失(CompactSVMModel XTest,欧美,“LossFun”,“枢纽”)
L = 0.2998

铰链损失大约是0.3。分类器与铰链损失接近0是首选。

输入参数

全部折叠

支持向量机分类模型,指定为一个ClassificationSVM模型对象或CompactClassificationSVM模型对象返回的fitcsvm紧凑的,分别。

样本数据用于训练模型,指定为一个表。每一行的资源描述对应于一个观察,每一列对应一个预测变量。可选地,资源描述响应变量可以包含额外的列和观察权重。资源描述必须包含所有的预测用于火车SVMModel。多列变量和细胞数组以外的细胞阵列的特征向量是不允许的。

如果资源描述包含响应变量用于火车SVMModel,那么你不需要指定ResponseVarNameY

如果你训练SVMModel使用样本数据包含在一个表中,然后输入数据损失也必须在一个表中。

如果你设置“标准化”,真的fitcsvm当训练SVMModel,那么软件标准化预测的列数据使用中相应的方法SVMModel.Mu和标准偏差SVMModel.Sigma

数据类型:

响应变量名称,指定为一个变量的名字资源描述。如果资源描述包含响应变量用于火车SVMModel,那么你不需要指定ResponseVarName

您必须指定ResponseVarName作为一个特征向量或字符串标量。例如,如果响应变量Y存储为Tbl.Y,然后指定ResponseVarName作为“Y”。否则,软件将所有列资源描述,包括Y训练时,预测模型。

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

数据类型:字符|字符串

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

每一行的X对应于一个观察(也称为一个实例或例子),和每一列对应一个变量(也称为一个特性)。变量的列X必须与变量相同训练吗SVMModel分类器。

的长度Y的行数X必须是相等的。

如果你设置“标准化”,真的fitcsvm训练SVMModel,那么软件标准化的列X使用相应的手段SVMModel.Mu和标准偏差SVMModel.Sigma

数据类型:|

指定的类标签,分类,特点,或字符串数组,逻辑或数值向量,或单元阵列的特征向量。Y的数据类型必须相同吗SVMModel.ClassNames(软件对字符串数组作为细胞阵列特征向量)。

的长度Y必须等于中的行数资源描述的行数X

名称-值参数

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

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:损失(SVMModel台,Y,“权重”,W)重每一行的观察资源描述使用相应的重量每一行的变量W资源描述

损失函数,指定为一个内置的损失函数名或一个函数处理。

  • 此表列出了可用的损失函数。指定一个使用其相应的特征向量或字符串标量。

    价值 描述
    “binodeviance” 二项异常
    “classifcost” 观察到的误分类代价
    “classiferror” 被误诊率小数
    “指数” 指数损失
    “枢纽” 铰链的损失
    分对数的 物流损失
    “mincost” 最小的预期的误分类代价(后验概率的分类评分)
    “二次” 二次损失

    “mincost”适合分类后验概率的分数。您可以指定使用后验概率作为SVM模型通过设置分类得分“FitPosterior”,真的当你旨在模型使用fitcsvm

  • 指定你自己的函数通过函数处理符号。

    假设n观察的数量吗X,K不同的类的数目(元素个数(SVMModel.ClassNames))用于创建输入模型(SVMModel)。你的函数必须有这个签名

    lossvalue =lossfun(C、S、W、成本)
    地点:

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

    • 你选择函数名(lossfun)。

    • C是一个n——- - - - - -K逻辑矩阵行指示相应的观察所属的类。列顺序对应于类顺序SVMModel.ClassNames

      构造C通过设置C (p, q) = 1如果观察p是在课堂上,为每一行。设置所有其他元素的行p0

    • 年代是一个n——- - - - - -K数字矩阵分类分数,类似的输出预测。列顺序对应于类顺序SVMModel.ClassNames

    • W是一个n1数字的观察向量权重。如果你通过W,该软件可实现权重总和1

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

    指定你的函数使用“LossFun”@lossfun

损失函数的更多细节,请参阅分类损失

例子:“LossFun”、“binodeviance”

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

观察体重、指定为一个数值向量或一个变量的名字资源描述。软件重每一行的观察X资源描述与相应的重量权重

如果您指定权重作为一个数字矢量,然后的大小权重必须等于中的行数X资源描述

如果您指定权重作为一个变量的名字资源描述作为一个角色,你必须这样做向量或字符串标量。例如,如果存储为权重Tbl.W,然后指定权重作为' W '。否则,软件将所有列资源描述,包括Tbl.W预测因子。

如果你不指定自己的损失函数,然后软件规范化权重总结先验概率的值在相应的类中。

例子:“重量”、“W”

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

更多关于

全部折叠

分类损失

分类损失函数度量分类模型的预测误差。当你在考虑对比许多相同类型的损失模型,较低的损失表示一个更好的预测模型。

考虑以下场景。

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

  • n是样本容量。

  • yj是观察到的类标签。软件代码为1或1,表明消极或积极类(或第一或第二课一会分别属性)。

  • f(Xj观察)是positive-class分类评分(行)j预测的数据X

  • j=yjf(Xj)是分类的分类评分观察j相对应的类yj。积极的价值观j显示正确的分类,不为平均损失作出多少贡献。负的j显示不正确的分类和对平均损失作出了重大贡献。

  • 观察的重量jwj。软件可实现观察权重,这样他们和前到相应的类存储在概率之前财产。因此,

    j = 1 n w j = 1。

鉴于这种情况,下表描述了支持损失函数,您可以指定使用金宝appLossFun名称-值参数。

损失函数 的价值LossFun 方程
二项异常 “binodeviance” l = j = 1 n w j 日志 { 1 + 经验值 ( 2 j ] }
观察到的误分类代价 “classifcost”

l = j = 1 n w j c y j y ^ j ,

在哪里 y ^ j 是最大的类标签对应类分数,然后呢 c y j y ^ j 分类的用户指定的成本是一个观察到课吗 y ^ j 当它真正的类yj

被误诊率小数 “classiferror”

l = j = 1 n w j { y ^ j y j } ,

在哪里{·}是指标函数。

叉损失 “crossentropy”

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

加权熵损失

l = j = 1 n w ˜ j 日志 ( j ) K n ,

的权重 w ˜ j 规范化和吗n而不是1。

指数损失 “指数” l = j = 1 n w j 经验值 ( j )
铰链的损失 “枢纽” l = j = 1 n w j 马克斯 { 0 , 1 j }
分对数损失 分对数的 l = j = 1 n w j 日志 ( 1 + 经验值 ( j ) )
最小的预期错误分类成本 “mincost”

“mincost”只有分类是合适的分数是后验概率。

软件计算加权最小分类会带来成本使用这个过程观察j= 1,…,n

  1. 估计预期的错误分类的分类成本观察Xj到类k:

    γ j k = ( f ( X j ) C ) k

    f(Xj)的列向量类的后验概率的观察XjC中存储的成本矩阵吗成本模型的属性。

  2. 为观察j,预测类标签对应最小的预期的误分类代价:

    y ^ j = argmin k = 1 , , K γ j k

  3. 使用C识别成本(cj)进行预测。

加权平均的误分类代价最小的预期损失

l = j = 1 n w j c j

二次损失 “二次” l = j = 1 n w j ( 1 j ) 2

如果你使用默认成本矩阵的元素值为0为不正确的分类正确的分类和1),那么损失值“classifcost”,“classiferror”,“mincost”都是相同的。模型与一个默认的成本矩阵,“classifcost”等于损失“mincost”大部分的时间损失。这些损失可以是不同如果预测到最大后验概率的类是不同的从预测到类以最小的预期成本。请注意,“mincost”只有分类是合适的分数是后验概率。

这个图比较了损失函数(除了“classifcost”,“crossentropy”,“mincost”)得分一个观察。一些函数归一化通过点(0,1)。

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

分类分

的支持向量机分类分分类观测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 ) 是估计的支持向量机参数, G ( x j , x ) 是点积的预测值之间的空间吗x和支持向量,包括金宝app训练集和观察。消极类分类评分x,或者预测的分数x进入负类,-f(x)。

如果G(xj,x)=xjx(线性内核),然后比分功能降低

f ( x ) = ( x / 年代 ) β + b

年代是内核规模和β是安装的向量线性系数。

更多细节,请参阅了解支持向量机金宝app

引用

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

扩展功能

版本历史

介绍了R2014a

全部展开