SVM的使用建议

使用流行库

作为当今最为流行的分类算法之一,SVM 已经拥有了不少优秀的实现库,如 libsvm 等,因此,我们不再需要自己手动实现 SVM(要知道,一个能用于生产环境的 SVM 模型并非课程中介绍的那么简单)。

在使用这些库时,我们通常需要声明 SVM 需要的两个关键部分:

  1. 参数 CCC
  2. 核函数(Kernel)
    由于 CCC 可以看做与正规化参数 λλλ 作用相反,则对于 CCC 的调节:
  • 低偏差,高方差,即遇到了过拟合时:减小 CCC 值。
  • 高偏差,低方差,即遇到了欠拟合时:增大 CCC 值。

而对于核函数的选择有这么一些 tips:

  • 当特征维度 n 较高,而样本规模 m 较小时,不宜使用核函数,否则容易引起过拟合。
  • 当特征维度 n 较低,而样本规模 m 足够大时,考虑使用高斯核函数。不过在使用高斯核函数前,需要进行特征缩放(feature scaling)。另外,当核函数的参数 δδδ 较大时,特征 fif_ifi​ 较为平缓,即各个样本的特征差异变小,此时会造成欠拟合(高偏差,低方差)

    当 δδδ 较小时,特征 fif_ifi​ 曲线变化剧烈,即各个样本的特征差异变大,此时会造成过拟合(低偏差,高方差)

    不是所有的相似度评估手段都能被用作SVM核函数,他们需要满足 Mercer 理论

多分类问题

通常,流行的SVM库已经内置了多分类相关的 api,如果其不支持多分类,则与逻辑回归一样,使用 One-vs-All 策略来进行多分类:

  1. 轮流选中某一类型 iii ,将其视为正样本,即 “1” 分类,剩下样本都看做是负样本,即 “0” 分类。
  2. 训练 SVM 得到参数 θ(1),θ(2),...,θ(K)θ^{(1)},θ^{(2)},...,θ^{(K)}θ(1),θ(2),...,θ(K) ,即总共获得了 K−1K−1K−1 个决策边界。

分类模型的选择

目前,我们学到的分类模型有:(1)逻辑回归;(2)神经网络;(3)SVM。怎么选择在这三者中做出选择呢?我们考虑特征维度 nnn 及样本规模 mmm :

  • 如果 nnn 相对于 mmm 非常大,例如 n=10000n=10000n=10000 ,而 m∈(10,1000)m∈(10,1000)m∈(10,1000) :此时选用逻辑回归或者无核的 SVM。
  • 如果 nnn 较小, m 适中,如 n∈(1,1000)n∈(1,1000)n∈(1,1000) ,而 m∈(10,10000)m∈(10,10000)m∈(10,10000) :此时选用核函数为高斯核函数的 SVM。
  • 如果 nnn 较小, mmm 较大,如 n∈(1,1000)n∈(1,1000)n∈(1,1000) ,而 m>50000m>50000m>50000 :此时,需要创建更多的特征(比如通过多项式扩展),再使用逻辑回归或者无核的 SVM。

神经网络对于上述情形都有不错的适应性,但是计算性能上较慢。

5.4 SVM的使用建议-机器学习笔记-斯坦福吴恩达教授相关推荐

  1. 4.4 机器学习系统设计--垃圾邮件分类-机器学习笔记-斯坦福吴恩达教授

    机器学习系统设计–垃圾邮件分类 假定我们现有一封邮件,其内容如下: From: cheapsales@buystufffromme.com To: ang@cs.stanford.edu Subjec ...

  2. 5.7 程序示例--基于 SMO 的 SVM 模型-机器学习笔记-斯坦福吴恩达教授

    程序示例–基于 SMO 的 SVM 模型 在这里,我们会实现一个基于 SMO 的 SVM 模型,在其中,提供了简化版 SMO 和 完整版 SMO 的实现. 简化版 SMO:不使用启发式方法选择 (α( ...

  3. 5.5 SVM补充-机器学习笔记-斯坦福吴恩达教授

    SVM补充 决策边界 Coursera 上 ML 的课程对 SVM 介绍有限,参看了周志华教授的<机器学习>一书后,补充了当中对于 SVM 的介绍. 首先,我们考虑用更传统的权值定义式来描 ...

  4. 10.1 掌握大数据-机器学习笔记-斯坦福吴恩达教授

    掌握大数据 在算法分析与优化一节中,我们就提到,在机器学习界流传着这样一句话: It's not who has the best algorithm that wins. It's who has ...

  5. 9.1 基于内容的推荐系统-机器学习笔记-斯坦福吴恩达教授

    基于内容的推荐系统 推荐系统是机器学习最重要的应用之一,你所知道的淘宝.亚马逊.facebook.豆瓣这些网站都把推荐系统作为了核心.在某个电影资讯的网站,有那么一份用户对于电影的打分(1 - 5 分 ...

  6. 8.1 概述-机器学习笔记-斯坦福吴恩达教授

    概述 异常检测(Anomaly Detection)是机器学习里面的一个常见应用,机器通过训练,将知道什么样的样本是正常样本,从而具备识别异常样本的能力. 飞机制造商在飞机引擎从生产线上流入市场前,会 ...

  7. 6.6 二分 K-Means 算法-机器学习笔记-斯坦福吴恩达教授

    二分 K-Means 算法 该算法补充自 <机器学习实战> 一书 常规的 K-Means 算法的误差通常只能收敛到局部最小,在此,引入一种称为二分 K-Means(bisecting km ...

  8. 6.3 优化-机器学习笔记-斯坦福吴恩达教授

    优化 和其他机器学习算法一样,K-Means 也要评估并且最小化聚类代价,在引入 K-Means 的代价函数之前,先引入如下定义: μc(i)=样本x(i)被分配到的聚类中心μ^{(i)}_c=样本\ ...

  9. 6.1 无监督学习-机器学习笔记-斯坦福吴恩达教授

    无监督学习 从本节开始,将正式进入到无监督学习(Unsupervised Learning)部分.无监督学习,顾名思义,就是不受监督的学习,一种自由的学习方式.该学习方式不需要先验知识进行指导,而是不 ...

最新文章

  1. tar xvf实现的是什么功能呢?
  2. 变量、中文-「译」javascript 的 12 个怪癖(quirks)-by小雨
  3. 清华大学微纳脑机接口与机器人实验室:生物材料研发工程师招聘
  4. 第七章 线性回归预测模型
  5. java解析lrc_java中用正则表达式解析LRC文件
  6. tensorflow分类的loss函数_Tensorflow入门教程(三十三)——图像分割损失函数FocalLoss...
  7. VMware演示手机虚拟化
  8. 浮点数在计算机中起什么作用,浮点数在计算机中的存储表示
  9. 零基础学习Java-素数和
  10. Apollo注册到自己的Eureka注册中心+配置中心集群
  11. LVS类型的介绍以及LVS的调度方法
  12. 如何知道域名是否解析成功
  13. 基于socketio 写一个聊天室
  14. Nginx 集群搭建
  15. 资料:《大学英语》精读修订版(全六册)原文及全文翻译
  16. 2022年12月最新快速批量删除微博内容_新版本如何批量删除微博以前发过的博文内容
  17. C++ Learn from菜鸟教程
  18. Unambiguous Text Localization, Retrieval,and Recognition for Cluttered Scenes
  19. Xshell安装和使用教程——小白必看
  20. C指针Pointers

热门文章

  1. phalcon安装-遇坑php-config is not installed 解决方法
  2. DOM_06之定时器、事件、cookie
  3. unity下载文件三(http异步下载)
  4. 【VS开发】Return与Exit的区别
  5. 再读《精通css》06:背景图片
  6. 16个经典面试问题回答思路[求职者必看]
  7. 一个.net的系统的AOP设计思路二——页面控件校验映射
  8. 超图桌面版创建基本三维对象(点、线、面、体、粒子系统)的基本操作
  9. 体感(Kinect)开发要点总结一
  10. 虚拟机+CentOS内核hack7、8、9、17失败记