支持向量机(Support Vector Machines,SVM),在很多地方见过,如强化学习、入侵检测中,作为机器学习的一种据说很好算法,今天开始了解一下,还不够深入,等待更新。
一、分隔超平面
假设有两类线性可分的样本,分隔超平面就是将两类样本进行分隔。在二维平面上,分隔超平面是一条一维(一元)直线f(x)=ax+b;在三维空间里,分隔超平面是一个二维(二元)平面f(x,y)=ax+by+c;更高维的空间依次类推,N维空间的分隔超平面是N-1维。几维空间主要看有几个自变量。例如一维空间,只有一个坐标轴,其分隔超平面是x=b,没有自变量,可以认为是0维。
二、间隔
样本(二维平面上的点)到分隔超平面的距离称为间隔。有时候,间隔更多的指数据集中所有点到分隔超平面最小间隔的2倍,成为分类器或数据集的间隔。
三、支持向量
离分隔超平面最近的那些点称为支持向量。
四、支持向量机目的
“机”的意思是算法。算法的目的是最大化支持向量到分隔超平面的距离,即最大化最近点的间隔。理想情况下,分隔超平面将两类完全分开,这样所有样本点都离分隔超平面很远,分类更准确。
五、法线和距离长度
分隔超平面可通过如下线性方程来表示:
分隔超平面的法向量为w,证明:
点A到分隔超平面的距离为:
证明: