MATLAB R2015b fitcsvm
中有一个选项可以设置Support vector machine(SVM)
模型中的误算成本。这是文档:
'成本' - 误分类成本平方矩阵|结构数组 错误分类成本,指定为逗号分隔对 由“成本”和方阵或结构组成。如果您指定:
方形矩阵Cost,则Cost(i,j)是分类a的成本 如果真正的类是i(即行对应,则指向类j) 到真正的类,列对应于预测的类)。 指定相应行和列的类顺序 Cost,另外指定ClassNames名称 - 值对参数。 结构S,那么它必须有两个字段:S.ClassNames,其中 包含类名作为与Y相同的数据类型的变量 S.ClassificationCosts,包含带行和的成本矩阵 按照S.ClassNames排序的列对于两级学习,如果你 指定成本矩阵,然后软件更新先前的 通过纳入成本中描述的处罚的可能性 矩阵。随后,成本矩阵重置为默认值。更多 关于关系和算法行为的细节 BoxConstraint,Cost,Prior,Standardize和Weights,请参阅算法。
默认值为:
对于一流学习,费用= 0。 对于两班学习,如果i = = j,则Cost(i,j)= 1,如果i = j,则Cost(i,j)= 0。示例:'成本',[0,1; 2,0]
数据类型:double |单身|结构
此选项对SVM有何影响?这类似于将敏感性和特异性相结合,并且与另一种相比更重要吗?
示例([0,1;2,0]
)中1和2的明确含义是什么?
答案 0 :(得分:1)
此选项对SVM有何影响?这类似于将敏感性和特异性与体重相结合,更多的是与另一种相比吗?
是的,这些只是用于更多地关注特定课程的权重。在SVM中,这是通过惩罚指定类的错误分类来获得的,或者等价地 - 在双重优化过程中改变相应的拉格朗日乘数的限制。
示例中的1和2的明确含义是什么([0,1; 2,0])?
此矩阵的形式为
0 1
2 0
因此意味着:
因此,对于第2类的正确分类而言,我们对 关注两倍在SVM中,这意味着成本具有形式
1/2 ||w||^2 + C SUM_{i=1}^N xi_i cost_i
如果第i个样本的类是1,则和cost_i = 1,否则,cost_i = 2。如您所见 - 只需在SVM成本中为缺失分类术语添加权重。