SVM(Support Vector Machine)。中文名为 支持向量机。就像自己主动机一样。听起来异常神气。最初总是纠结于不是机器怎么能叫“机”,后来才知道事实上此处的“机”实际上是算法的意思。

支持向量机一般用于分类,基本上,在我的理解范围内。全部的机器学习问题都是分类问题。而据说,SVM是效果最好而成本最低的分类算法。

SVM是从线性可分的情况下最优分类面发展而来的,其基本思想能够用下图表示:

(最优分类面示意图)

图中空心点和实心点代表两类数据样本,H为分类线,H1、H2分别为过各类中离分类线近期的数据样本且平行与分类线的直线。他们之间的距离叫做分类间隔(margin)。

最优分类线,就是要求分类线不但能将两类正确的分开,使训练错误率为0。并且还要使分类间隔最大。

推广到高维空间,最优分类线就叫做最优分类面了。

为两类线性可分的样本集合。

相应的线性判别函数的一般形式为,相应的分类方程为

%5Comega%20%5Ccdot%20x+b%3D0" alt="" style="font-size:18px; margin:10px; text-align:center">。将判别函数进行归一化。使全部样本都满足,此时离分类面近期的样本

f%28x%29%3D%201" alt="" style="margin:10px; text-align:center">,要求分类面对全部样本都能正确分类,即满足 (记为A),

此时分类间隔等于。间隔最大等价于最小。

最优分类线H就是满足式A且使

%5Cfrac%7B1%7D%7B2%7D%5Cleft%20%7C%20%5Cleft%20%7C%20%5Comega%20%5Cright%20%7C%20%5Cright%20%7C%5E%7B2%7D" alt="" style="margin:10px; text-align:center">最小的分类面。

两类数据样本中立分类面近期的样本,且平行于分类面H的超平面上的数据就是式A中使等号成立的那些数据样本。这些数据样本叫做支持向量(support
vector,SV)。

由上可知,最优分类面问题能够表示为约束优化问题。在式A的约束下,求例如以下函数的最小值

%5Cvarphi%20%28%5Comega%20%29%3D%5Cfrac%7B1%7D%7B2%7D%5Cleft%20%5C%7C%20%5Comega%20%5Cright%20%5C%7C%20%5E%7B2%7D" alt="" style="margin:10px; text-align:center">

为此。定义例如以下Lagrange函数

(记为式B)

式中,为拉格朗日函数的乘子(Lagrange
Multiplier) 。

%5Calpha_%7Bi%5Cgeqslant%20%7D0" alt="" style="margin:10px; text-align:center">。要求式B的最小值,对各个參数求偏导数。且偏导数为0。结果例如以下

依据A式和B式的约束条件,能够将上述分类面的求解问题问题转化为例如以下凸优化的问题

式中,

%5Calpha_i" alt="" style="margin:10px; text-align:center">相应的为拉格朗日乘子 ,这是一个二次寻优问题。存在唯一解。若为最优解,则有

式中。为不为0的样本。即为支持向量。

因此。最优分类面的权系数向量是支持向量的线性组合。

为分类阀值,可由约束条件

%5Calpha_i%5By_i%28%5Comega%5Ccdotx+b%29-1%5D%3D0" alt="" style="margin:10px; text-align:center">求解。解上述问题后得到的最优分类面函数为

,x就属于该类,否则不属于。

概括地说,SVM就是首先通过用内积函数定义的非线性变换将输入控件变换到一个高维空间。然后在这个空间中求广义的最优分类面。

最新文章

  1. C#窗体中读取修改xml文件
  2. System.Windows.Application.Current.Dispatcher.BeginInvoke
  3. 用js生成PDF的方案
  4. C# 版 flvmerge:快速合并多个flv文件
  5. Elastic Image Slider 带缩略图功能的幻灯片
  6. Velocity笔记
  7. 在jsp页面中实现格式化数字,百分比,货币
  8. 1062: [NOI2008]糖果雨 - BZOJ
  9. SQL Server中的sysobjects
  10. Linux下使用ps命令来查看Oracle相关的进程
  11. Flask web开发 请求拦截和预处理
  12. 第二十节,基本数据类型,集合set、综合应用新数据更新老数据
  13. xls添加 序号列技巧
  14. Python自动化培训第一周学习总结
  15. Oracle错误——tablespace 'XXXX' does not exist
  16. 解决Tomcat启动时项目重复加载问题
  17. Mybatis 表名是变量时
  18. SSM整合——spring4.*配置案例
  19. 转载博客:rabbitmq
  20. 科学计算三维可视化---Mayavi可视化实例

热门文章

  1. HTML a标签的href 属性 tel 点击可以直接拨打电话 ( 移动端 )
  2. jQuery 冒泡事件
  3. autofs - automounter maps的格式
  4. 异常详细信息: System.ComponentModel.Win32Exception: 信号灯超时时间已到
  5. 20181019 记录 window.setTimeout('dofunction()',2000); - layui form 表单提交 事件 - F11全屏 事件 window.onresize
  6. Java中的JVM的内存结构
  7. 小程序调用支付报错:jsapi缺少参数: total_fee
  8. 诊断:ORA-16188: LOG_ARCHIVE_CONFIG settings inconsistent with previously started instance
  9. 用node写个简单的静态服务器
  10. 20181225模拟赛 T1 color (转化思想,分拆思想)