1 支持向量机(线性可分)
线性可分:即对于分类的俩种类别可以用一条直线将其分开
图 1显示的就是一个线性可分(Linear separable)的模型
不可用一条直线或平面将俩个类别分开的模型即非线性可分(Non-linear separable)模型
对于线性可分的情况就表明在空间中存在无数条线或平面可以将两种类别分开
对此支持向量机对每分割线都定义了一个性能指标
间距(Margin):d
目的:找到一个平面向上或向下移动该平面使之擦过一些向量,使得d尽可能的大,同时将擦过的向量定义为支持向量(Support vectors)
对于一些低维线性不可分的向量集,但是其高维未必不可分,此时就要引入一个超平面(Hyperplane)的概念:这是平面中的直线、空间中的平面之推广(n大于3才被称为“超”平面),是纯粹的数学概念,不是现实的物理概念
SVM对此有以下定义:
-
训练样本集中为(数据,标签):(x1,y1)(x2,y2)…(xn,yn)其中x表示的是数据,是多维向量,y是标签+1或-1(只有两类)。
== ps:x=[a1,a2,a3,…,an]多维向量,不是一个数== -
根据线性数据所作的模型求出超平面(w,b),其中w是向量与x维度一致,b是一个常数。超平面的线性方程为:
-
训练集线性可分是指:
事实1:
事实2:
点到平面的距离公式:平面:Ax+By+C=0另外一个点的坐标(x0, y0)
向量x0到超平面的距离可以写为:
基于事实1,2我们可以用a去缩放(w,b)
使得支持向量x0上有
此时支持向量x0与平面距离就变为:
因此使得d最大问题变为:
最小化(minimize):
限制条件(subject to):