Matlab fitcsvm特征系数

时间:2015-03-05 01:05:38

标签: matlab svm

我正在为二进制分类问题运行一系列SVM分类器,并且就分类准确性而言,我的结果非常好。

我的分析的下一步是了解不同特征如何促进分类。根据文档,Matlab的fitcsvm函数返回一个类SVMModel,其中有一个名为“Beta”的字段,定义为:

  

来自原始线性问题的训练分类器系数的数值向量。 Beta的长度等于预测变量的数量(即大小(SVMModel.X,2))。

我不太清楚如何解释这些值。我假设更高的值代表给定特征对支持向量的更大贡献?负权重是什么意思?这些权重在某种程度上类似于线性回归模型中的β参数吗?

感谢您提供任何帮助和建议。

---- 更新3/5/15 ----

仔细观察描述线性SVM的方程式,我非常确定Beta必须与primal form中的 w 相对应。

唯一的另一个参数是 b ,它只是偏移量。

鉴于此,并且给定this explanation,似乎取系数的平方或绝对值提供了每个特征的相对重要性的度量。

据我了解,这种解释仅适用于线性二进制SVM问题。

这对人们来说是否合理?

1 个答案:

答案 0 :(得分:1)

直观地,人们可以将特征权重的绝对值视为衡量其重要性的指标。但是,在一般情况下并非如此,因为权重表示特征值的边际变化会对输出产生多大影响,这意味着它取决于要素的比例。例如,如果我们有一个以年为单位的“年龄”特征,但是我们将其改为几个月,相应的系数将除以12,但显然,这并不意味着年龄现在不那么重要了!

解决方案是扩展数据(这通常是一种很好的做法)。

如果数据被缩放,你的直觉是正确的,事实上,有一种特征选择方法可以做到这一点:选择具有最高绝对权重的特征。见http://jmlr.csail.mit.edu/proceedings/papers/v3/chang08a/chang08a.pdf

请注意,这仅适用于线性SVM。

相关问题