我正在试验不同类型的非线性核,并试图解释所学习的模型,这就引出了以下问题:是否有一种获得非线性支持向量机原始权重的通用方法,类似于线性支持向量机(见related question)?
比方说,您有三个特性:a
、b
、c
和生成的全子集/多项式内核模型。是否有方法提取这些子集的原始权重,例如a * b
和a^2
我尝试将该方法扩展到线性内核,在该方法中为以下示例生成输出:
a, b, c
[0, 0, 0]
[1, 0, 0]
[0, 1, 0]
[0, 0, 1]
如果我对全子集内核使用相同的方法,我可以生成更多的示例:
a, b, c
[1, 1, 0]
[1, 0, 1]
...
接下来,为了计算a * b
的原始权重,我分析了以下预测:[1, 1, 0] - ([1, 0, 0] + [0, 1, 0] + [0, 0, 0])
。
我看到的问题是,它需要大量的样本,不涉及像a^2
这样的子集,也没有推广到其他非线性内核。
发布于 2012-02-28 01:19:39
不是的。我并不声称自己是这方面的专家,但我已经对支持向量机做了大量的阅读和研究,我认为你所说的是不可能的。当然,在二次多项式核的情况下,如果属性数量很小,您可以枚举由内核诱导的特征空间。对于高阶多项式核和更多的属性,这很快就变得棘手。
非线性支持向量机的强大之处在于它可以在不需要计算的情况下诱导特征空间,而且实际上它不知道特征空间是什么。有些核甚至可以诱导出无限维特征空间。
如果你回头看你的问题,你可以看到问题的一部分--你在寻找原始权重。但是,内核是以双重形式引入的,其中数据以点乘积的形式出现。从数学上来说,这个过程需要分解核函数--知道从输入空间到特征空间的映射函数。内核函数之所以强大,正是因为我们不需要知道这种映射。当然,它可以用于线性内核,因为没有使用映射函数。
发布于 2013-10-25 19:25:17
提取显式特征的权重在计算上通常是不可行的,但第二好的方法是预图像:生成一个样本z,使其特征与您所追求的权重相对应。
这可以正式地描述为找到z,使得phi(z) = w,其中的权重隐式地定义为训练样本的组合,就像内核技巧: w=sum_i(alpha_i * phi(x_i))一样。phi是特征图。
一般情况下,不存在精确的预图像,大多数方法都会找到将平方误差降到最小的预图像。
对高斯核预图像的经典Gauss-Newton迭代以及基于KPCA的另一种更普遍的方法的一个很好的描述是:
郭炳湘,曾俊华,“核方法中的图像前问题”,ICML 2003
直接链接:http://machinelearning.wustl.edu/mlpapers/paper_files/icml2003_KwokT03a.pdf
https://stackoverflow.com/questions/9458830
复制相似问题