目前我使用e1071的库中的R一起训练RBF内核的SVM模型,例如,要求具有以下参数的SVM功能:定制的内核函数
这里的问题是有没有可能在R中进一步定制RBF内核?我想要做的是增加一个额外的计算到原始的RBF内核,例如: [![2]] [2]
Xi和Xj是代表时间序列的两个对象在绝对timestampts Ti和TJ:
任何想法是值得欢迎的,并谢谢:)
*您好,感谢来自@lejlot答案,在这里我只是根据自己的解决方案编辑公式,是它正确:)
denote ai = (xi,ti) and bi = (xi, 1/sqr(g)*ti)
K(ai, aj) = exp(-g*||xi-xj||^2) exp(-(ti-tj)^2) =
= exp(-g*||xi-xj||^2 -(ti-tj)^2) =
= exp(-g*||xi-xj||^2 -g(1/sqr(g)*ti-1/sqr(g)*tj)^2) =
= exp(-g*(||xi-xj||^2 + (1/sqr(g)*ti-1/sqr(g)*tj)^2)) =
= exp(-g*(||xi-xj||^2 + (1/sqr(g)*ti-1/sqr(g)*tj)^2)) =
= exp(-g*(||bi-bj||^2)) = RBF(bi, bj)*
*但是仍然存在另一个问题,你说连接ti(乘以1/gamma)到数据表示,但是如何?
假定X的基质包含4个特征,如下面:
x1 x2 x3 x4
3 5 6 7
4 3 2 4
8 5 2 2
3 2 1 0
9 9 3 2
关于到时间戳值,由于每行具有相同的谷,响应矩阵可以是:
t1 t2 t3 t4
1 1 1 1
2 2 2 2
3 3 3 3
4 4 4 4
5 5 5 5
在e1071的包中,svm函数只包含x作为输入矩阵,我们如何还可以包含用于建模的时间戳矩阵?我不知道这是一个简单的或愚蠢的问题,但现在它让我疯狂:(
谢谢:)
这不是一个有效的内核。也许你的意思是...... x exp( - (ti-tj)^ 2)? – lejlot
嗨,谢谢,是的!你是对的,我只是纠正了描述:),你有什么建议吗? – ZAWD
[在R中为svm编写自定义内核]的可能的重复(http://stackoverflow.com/questions/42633265/write-custom-kernel-for-svm-in-r) – ZAWD