自定義核函式
使用-t 4引數時,可以使用自定義核函式,根據自定義核函式求出核矩陣,自定義核函式使用方法如下:
比如線性核函式 是 k(u,v)=u』*v,設訓練集是train_data,設訓練集有150個樣本 , 測試集是test_data,設測試集有120個樣本,則
訓練集的核矩陣: ktrain = train_data*train_data』
測試集的核矩陣: ktest = test_data*train_data』
想要使用-t 4引數還需要把樣本的序列號放在核矩陣前面 ,形成乙個新的矩陣:
使用線性核函式 k(u,v) = (u』 * v)
ktrain = train_data * train_data』; %求訓練集核矩陣
ktrain = [(1:150)』,ktrain]; %樣本的序列號放在核矩陣前面
model = svmtrain(train_label, ktrain, 『-t 4』); % 輸入 ktrain
ktest = test_data*train_data』; %求測試集核矩陣
ktest = [(1:120)』, ktest]; %樣本的序列號放在核矩陣前面
[predict_label, accuracy, p1] = svmpredict(test_label,ktest,model); % 輸入ktest
LIBSVM使用與自定義核函式
libsvm訓練函式使用如下 model svmtrain trainlabel,traindata,s 0 t 2 c 1.2 g 2.8 trainlabel 訓練樣本標籤 traindata 訓練樣本資料集,行向量為樣本值 svm型別,用引數 s 設定,預設值為0,可選型別有 0 c svc ...
LIBSVM使用與自定義核函式
一 libsvm訓練函式使用如下 1 model svmtrain trainlabel,traindata,s 0 t 2 c 1.2 g 2.8 trainlabel 訓練樣本標籤 traindata 訓練樣本資料集,行向量為樣本值 1 引數 s,表示svm型別,預設值為0,可選型別有 0 c ...
自定義徑向基核函式
根據公式 在自定義svm的徑向基核函式時,需要描述其核矩陣,如下所示 function kernel matrix rbf kernel x1,x2,gamma 在訓練時,x1,x2均為訓練集,x1為測試樣本,即在 時,x1為測試集,x2為支援向量訓練集 len1 size x1,1 測試集樣本數 ...