scikit-learn:将主成分的SVM权重预测为原始图像空间

时间:2015-04-15 22:14:15

标签: scikit-learn pca medical

我在我的3D图像数据集上做了PCA,并使用前n台PC作为我在线性SVM中的功能。我有每台PC的SVM权重。现在,我想将PC权重投影到原始图像空间中,以找出图像的哪些区域在分类过程中更具辨别力。我在权向量上使用了inverse_transform PCA方法。但是,得到的图像只有正值,而SVM权重既有正值也有负值。这让我想到我的方法是否有效。有人有什么建议吗?

提前致谢。

1 个答案:

答案 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左右。