简介
支持向量机(support vector machines, SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机;SVM还包括核技巧,这使它成为实质上的非线性分类器。SVM的的学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题。SVM的的学习算法就是求解凸二次规划的最优化算法。
原理
SVM学习的基本想法是求解能够正确划分训练数据集并且几何间隔最大的分离超平面。如下图所示, [公式] 即为分离超平面,对于线性可分的数据集来说,这样的超平面有无穷多个(即感知机),但是几何间隔最大的分离超平面却是唯一的。
1 、 线性模型
分为线性可分和线性不可分两种模型
如何线性可分的画一条直线
如果存在一条可以分割线,必存在无数条分割线。找出最合适的一条线。首先定义一个衡量标准:把红色线线进行两侧平行移动,直到经过某一个或某几个红色点和蓝色星为止,测试图中虚线到实线距离 找出使距离最大的一条线且实线使距离平分。
数学描述
d: 间隔 支持向量机是一个最大化间隔的方法,将平行线插到的向量叫做支持向量。
定义:
- 训练数据和标签
x: 向量 y:标签 (+1,-1)
- 线性模型 找到一个直线(超平面)(w,b)
超平面:
w:向量 b:常数
用训练样本 确定w和b 确定算法
3. 一个训练集线性可分 是指
优化问题
最小化 min ||w||^2
限制条件 :