我在我的3D图像数据集上做了PCA,并使用前n台PC作为我在线性SVM中的功能。我有每台PC的SVM权重。现在,我想将PC权重投影到原始图像空间中,以找出图像的哪些区域在分类过程中更具辨别力。我在权向量上使用了inverse_transform PCA方法。但是,得到的图像只有正值,而SVM权重既有正值也有负值。这让我想到我的方法是否有效。有人有什么建议吗?
提前致谢。
答案 0 :(得分:0)
我有一个在图像空间中进行此投影的程序。需要意识到的是,权重本身并没有定义“歧视”权重(在this paper中也称为权重)。您需要通过其内核系数加权的输入之和。
考虑这个玩具示例:
课程A
有2个向量:a1=(1,1)
和a2=(2,2)
课程B
有2个向量:b1=(2,4)
和a3=(4,2)
。
如果你绘制它,你可以手工构建决策边界:它是点(x,y)
的行x+y == 5
。我的SVM程序找到w_a1 == 0
(无支持向量),w_a2 == -1)
和w_b1 == w_b2 == 1/2
以及bias == -5
的解决方案。
现在您可以构建投影向量p = a2*w_a2 + b1*w_b1 + b2*w_b2
= -1*(2,2) + 1/2*(2,4) + 1/2*(4,2)
= (1,1)
。
换句话说,每个点都应投影到y == x
行;对于新的向量v
,内积<v,p>
对于A类向量低于5,高于5对于B类载体。您可以通过添加偏差将结果居中于0左右。