1.支持向量机(Support Vector Machine)(英文简写SVM)属于监督学习(Supervised Learning):分类(Classifcation)
2.机器学习的一般框架:
训练集->提取特征向量->结合一定的算法(分类器:比如决策树,KNN)->得到结果
3.介绍:
3.1例子
在这个例子中加入提取了一些实例的向量,可以别映射出上图的这些点,如图有两类的实例,假如数据是N维的,则h3为一个超平面(hyper plane),那么如何画这个超平面使能很好的分开着两类 不同的点呢?
其实可以画无数条线,哪条线最好的区分这些点呢?例如:H1,H2,H3等线,大家大部分会选红线。这就引入了SVM基本的创造的动机,就是要找一个超平面。
3.2SVM寻找区分两类的超平面(hyper plane),是边际最大。
再例如:
就可以画出如图的超平面即图中的实线,而实线到两边虚线的距离之和为边际(margin)
选取margin最大的超平面。
如何选取是边际(margin)最大的超平面(Max Margin Hyperplane)?
超平面到一侧最近的距离等于到另一侧最近点的距离,两侧的两个超平面平行。
3.线性可区分(linear separable) 和 线性不可区分(linear inseparable)
(1)线性不可区分:无法通过超平面无法完全分开
(2)线性可区分
4.定义与公式建立
超平面可以定义为:
W:向量,类似于权重的一个向量 X:训练实例 b:bias 偏向
4.1假设2维特征向量:X=(x1,x2)
把b想象为额外的wight
超平面方程为:
所有超平面右上方的点满足:
所有超平面左下方的点满足:
调整weight,使超平面定义边际的两边:
即+1表示一类,-1表示一类
综合以上两式,得到:
所有坐落在边际的两边的超平面上的被称为“支持向量(support vectors)”
分界的超平面和H1或H2上任意一点的距离为:
其中是向量的范数(norm)
所以最大的边际距离为:
下一节继续支持向量机