SVM笔记--要点

编程技术  /  houtizong 发布于 3年前   150
本文是从LIBSVM的guide中抽出来的要点:http://www.csie.ntu.edu.tw/~cjlin/libsvm/
1、简介

2、数据预处理
  • ①类别用one-hot code表示,也即有N个类别,则用一个N bits的二进制数表示,以N=3为例,类别1用001表示,类别2用010表示,类别3用100表示。
  • ②特征的scaling问题:建议将特征缩放到区间[-1,1] (线性地缩放)


3、核函数的选择
  • 一般径向基函数(RBF)比较好;
  • 特征维度很高时最好采用Linear kernal


4、参数选择--交叉验证和grid搜索

目标:在测试数据上取得高的正确率(而非在测试数据上!)
k-fold 交叉验证(cross validation):将训练集分为k份,1份做验证,其他k-1份做训练。如此,可以训练k、验证k次,求取平均正确率作为衡量标准。 这样可以有效防止过拟合。

对于参数C和径向基函数的参数γ,可以采用由粗到精的搜索策略。
如先在C=2^-3, 2^-2,..., 2^10;   γ=2^-7, ... 2^-3的网格上搜索最优值,
再在其附近的网格内细分网格进行搜索。  (可以并行~~~)

对于大数据集,一个策略是先随机选一部分在粗网格上选取最优参数,再在细化最优参数时对整个训练集进行参数的网格搜索。

选取到最优参数后,再用这组参数重新利用整个训练集进行训练。


5、适于使用linear核函数而非径向基函数的情况
  • 样本数<<特征维数,
  • 样本数和特征维数都很大,适于使用LIBLINEAR工具箱(比LIBSVM快很多)。
  • 样本数>>特征维数,适于使用LIBLINEAR工具箱。

LIBLinear工具箱:http://www.csie.ntu.edu.tw/~cjlin/index.html

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

留言需要登陆哦

技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成

网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];

      订阅博客周刊 去订阅

文章归档

文章标签

友情链接

Auther ·HouTiZong
侯体宗的博客
© 2020 zongscan.com
版权所有ICP证 : 粤ICP备20027696号
PHP交流群 也可以扫右边的二维码
侯体宗的博客