当前位置:首页 > 开发 > IT生活 > 正文

SVM笔记--要点

发表于: 2013-04-15   作者:cherishLC   来源:转载   浏览次数:
摘要: 本文是从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问题:建议将特征
本文是从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

SVM笔记--要点

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
1 svm
我们考虑以下形式的样本点 其中ci为1或−1 --用以表示数据点属于哪个类. 是一个 (统计学符号),或 (
背景 支持向量机(SVM)背后的数学知识比较复杂,之前尝试过在网上搜索一些资料自学,但是效果不佳
背景 上一篇文章总结了linear hard SVM,解法很直观,直接从SVM的定义出发,经过等价变换,转成QP问
SVM分线性支持向量机和非线性支持向量机 线性支持向量机(所学习的问题是线性的)包括:线性可分支持
SVM入门(一)至(三)Refresh 按:之前的文章重新汇编一下,修改了一些错误和不当的说法,一起复习,
【转载请注明出处】http://www.cnblogs.com/jerrylead 1 简介 支持向量机基本上是最好的有监督学习
今天开始学习SVM 1.1 SVM的基本原理 SVM方法是从线性可分情况下的最优分类面(Optimal Hyperplane)
系列博客机器学习总结,主要参考书目《统计学习方法》--李航,涉及数学公式较多,以图片的形式表现
# ifndef _LIBSVM_H #define _LIBSVM_H #define LIBSVM_VERSION 320 #ifdef __cplusplus extern "C"
  前言:   这次的内容是Ng关于machine learning关于svm部分的一些笔记。以前也学过一些svm理论
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号