m*p 发帖数: 1331 | 1 比如使用rbf kernel,
k(xi, xj) = exp(-a * ||xi-xj||^2)
这个很容易理解。
问题是,最后怎么使用这个model呢?
比如,新来的一个test sample xk, 怎么feed into the trained RBF kernel?
KSVM应该是inductive learning吧? |
d*****u 发帖数: 17243 | 2 你用training data调整参数
比如大多数人用的是L1 SVM
那就需要调整soft margin parameter C
一般是预先设定一系列参数值,然后选出一个效果最好的
然后对新的data就用这个参数
在你train的时候实际也选好了support vector
那么对新的数据点xk,代入kernel function就是k(xk,xj)
xj是support vector,最后还有针对所有support vector求和
总之得出的直接结果是一个实数,然后再二元化
这些工作在工具包里都能直接完成
按照说明操作就行了
【在 m*p 的大作中提到】 : 比如使用rbf kernel, : k(xi, xj) = exp(-a * ||xi-xj||^2) : 这个很容易理解。 : 问题是,最后怎么使用这个model呢? : 比如,新来的一个test sample xk, 怎么feed into the trained RBF kernel? : KSVM应该是inductive learning吧?
|
m*p 发帖数: 1331 | 3 thanks. 我也是这么想的,svm training只是为了解出那些alpha不为0的 support
vector (xj),然后最后的model基于这些sv来产生。
你说的"最后还有针对所有support vector求和"是不是就是这样
y = f(x) = + b = sum_j Kernel(x, x_j) + b
还是说 alpha_j 也要被用到?
谢谢!
【在 d*****u 的大作中提到】 : 你用training data调整参数 : 比如大多数人用的是L1 SVM : 那就需要调整soft margin parameter C : 一般是预先设定一系列参数值,然后选出一个效果最好的 : 然后对新的data就用这个参数 : 在你train的时候实际也选好了support vector : 那么对新的数据点xk,代入kernel function就是k(xk,xj) : xj是support vector,最后还有针对所有support vector求和 : 总之得出的直接结果是一个实数,然后再二元化 : 这些工作在工具包里都能直接完成
|
d*****u 发帖数: 17243 | 4 是的有alpha_j
注意跟w做内积的一般不是x,而是特征函数fi(x)
所以alpha的几何意义其实挺复杂的
【在 m*p 的大作中提到】 : thanks. 我也是这么想的,svm training只是为了解出那些alpha不为0的 support : vector (xj),然后最后的model基于这些sv来产生。 : 你说的"最后还有针对所有support vector求和"是不是就是这样 : y = f(x) = + b = sum_j Kernel(x, x_j) + b : 还是说 alpha_j 也要被用到? : 谢谢!
|
m*p 发帖数: 1331 | 5 能给个RBF kernel的 ksvm(x_new) = ?
的具体式子么?
谢谢
【在 d*****u 的大作中提到】 : 是的有alpha_j : 注意跟w做内积的一般不是x,而是特征函数fi(x) : 所以alpha的几何意义其实挺复杂的
|
d******e 发帖数: 7844 | 6 查一下Reproducing Theorem的你就知道函数长什么样了。
【在 m*p 的大作中提到】 : 能给个RBF kernel的 ksvm(x_new) = ? : 的具体式子么? : 谢谢
|
m*p 发帖数: 1331 | 7 用得着卖关子吗?
【在 d******e 的大作中提到】 : 查一下Reproducing Theorem的你就知道函数长什么样了。
|
L*****k 发帖数: 327 | 8 你的问题是什么呢
1 train好了SVM之后,怎样用到test sample上
2 还是怎么计算test sample和training data的kernel
【在 m*p 的大作中提到】 : 比如使用rbf kernel, : k(xi, xj) = exp(-a * ||xi-xj||^2) : 这个很容易理解。 : 问题是,最后怎么使用这个model呢? : 比如,新来的一个test sample xk, 怎么feed into the trained RBF kernel? : KSVM应该是inductive learning吧?
|
m*p 发帖数: 1331 | 9 1
【在 L*****k 的大作中提到】 : 你的问题是什么呢 : 1 train好了SVM之后,怎样用到test sample上 : 2 还是怎么计算test sample和training data的kernel
|
d*****u 发帖数: 17243 | 10 kernel function都是二元函数,也正好就是特征函数的某种内积
K(x,y)=
如果y是固定的,那K(x,y)可以由phi(x)来表征
至于特征函数的形式,其实是比较复杂的
比如RBF kernel,如果把其中一个输入y看成固定点
那么这个K就是关于另一个输入x的高斯函数
我们知道高斯函数构成的函数空间是无穷多维的
也就是说,一个高斯函数必须有无穷多个其他高斯函数线性组合才能得到
(想想傅立叶变换,高斯函数g变换成另一个高斯函数G
也就是说,高斯函数g可以表征为高斯函数G的无穷积分)
也就是说一个一般的数据点投射到phi上以后,就成了无穷高维的数据
这也是SVM的巧妙之处,通过增加维度来提高可分类性
【在 m*p 的大作中提到】 : 能给个RBF kernel的 ksvm(x_new) = ? : 的具体式子么? : 谢谢
|
d******e 发帖数: 7844 | 11 谁跟你买关子了,Reproducing Kernel随便一搜到处都是
http://en.wikipedia.org/wiki/Reproducing_kernel_Hilbert_space
【在 m*p 的大作中提到】 : 用得着卖关子吗?
|
m*p 发帖数: 1331 | 12 sorry my question is, how to actually implement this? if you've trained a
RBF SVM model, how to implement a function that can be used to predict a
test data point? thanks.
【在 d******e 的大作中提到】 : 谁跟你买关子了,Reproducing Kernel随便一搜到处都是 : http://en.wikipedia.org/wiki/Reproducing_kernel_Hilbert_space
|