Matlab版LibSVM定义线性核和高斯核的使用方法

(1)如何采用线性核?

matlab> % Linear Kernel

matlab> model_linear = svmtrain(train_label, train_data, ‘-t 0′);

 严格讲,线性核也要像高斯核一样调整c这个参数,Libing wang讲一般C=1效果比较好,可能调整效果差异不大,当然要看具体的数据集。c大,从SVM目标函数可以看出,c越大,相当于惩罚松弛变量,希望松弛变量接近0,即都趋向于对训练集全分对的情况,这样对训练集测试时准确率很高,但推广能力未必好,即在测试集上未必好。c小点,相当于边界的有些点容许分错,将他们当成噪声点,这样外推能力比较好。

(2)如何采用高斯核?

matlab> load heart_scale.mat

matlab> model = svmtrain(heart_scale_label, heart_scale_inst, ‘-c 1 -g 0.07′);

参考:http://www.cppblog.com/guijie/archive/2012/03/26/169034.html

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>