目前我使用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