我想从e1071
R包中的SVM
函数中提取alpha拉格朗日乘数,但我不知道svm$coef
是否能产生这些乘数?
- Alphas的定义见《统计学习导论》第352页的方程9.23,An Introduction to Statistical Learning
在SVM
的文档中提到
SVM$Coefs
= 相应系数乘以训练标签
能有人解释一下吗?
回答:
$coefs产生alpha_i * y_i
,但由于alpha_i
按定义是非负的,你可以简单地取coefs的绝对值来得到拉格朗日乘数,并通过取符号来提取y_i
(因为它们只有+1或-1)。这只是一种简化,常用于SVM软件包中,因为乘数本身从未实际使用过——只使用它们与标签的乘积,因此它们被存储为单个数字,以简化和提高效率,在需要的情况下(如这个例子)——你总能重建它们。