【机器学习算法2】——SVM

来源:互联网 发布:php表单提交到数据库 编辑:程序博客网 时间:2024/05/10 06:40

1、SVM概述

SVM的发展过程:
1963年,Vapnik在解决模式识别问题时提出了支持向量方
法。起决定性作用的样本为支持向量;
 1971年,Kimeldorf构造基于支持向量构建核空间的方法;
 1992年,Vapnik等人开始对支持向量机进行研究;
 1995年,Vapnik等人正式提出统计学习理论。
通俗来讲,它是一种二类分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,即支持向量机的学习策略便是间隔最大化,最终可转化为一个凸二次规划问题的求解
常用的机器学习方法比较。
 概率分布的方法( 经典的方法)
Bayes方法, GMMs 用于复杂分布建模
 决策树的方法( C4.5)
属性具有明确含义时使用,一种经典的方法
 近邻分类
简单的方法,如果样本有代表性,维数不高时好用
 支撑向量机(SVM)
高维空间的小样本学习、结构风险最小化
 Boosting算法
大量训练样本下可以取得好的效果,速度很快
 人工神经网络ANN
非线性方法,大量训练样本下可以取得好的效果,速度较慢

2、结构风险最小化(Structural Risk Minimization)
所谓的结构风险最小化就是在保证分类精度(经验风险)的同时,降低学习机器的 VC 维,可以使学习机器在整个样本集上的期望风险得到控制。
统计学习理论提出了一种新的策略,即把函数集构造为一个函数子集序列,使各个子集按照VC维的大小排列;在每个子集中寻找最小经验风险,在子集间折衷考虑经验风险和置信范围,取得实际风险的最小。这种思想称作结构风险最小化(Structural Risk Minimization),即SRM准则。
这里写图片描述

3、线性SVM

线性分类器解决的问题:
 根据一个带有类别标号的训练集合,通过学习一个线性分类面,使得训练集合按照类别进行划分; 通常转化成一个优化问题。
线性分类面函数形式为:
wT,b是分类面函数参数,x是输入的样本, wT权向量,b是偏移量

0 0