python与机器学习(六.支持向量机SVM)

超平面与支持向量

将数据集分隔开来的直线称为分隔超平面。如果数据点都在二维平面上,此时分隔超平面就只是一条直线。但是,如果所给的数据集是三维的,那么此时用来分隔数据的就是一个平面。显然,更高维的情况可以依次类推,1024维的数据集需要一个1023维的某某对象对数据进行分隔。这个1023维的对象就叫做超平面,也就是分类决策边界。而支持向量就是离超平面最近的那些点。

最大间隔与分类器

我们将分隔超平面的形式写成W**T*X + b,其中W表示超平面的法向量,b类似于截距。那么点A到分隔超平面的距离就是这点在超平面法向量方向上的投影长度,该值为|W**T*X+b|/||W||。

下面我们引入一个分类器,当我们输入数据时,这个分类器会输出一个类别标签,这个分类器相当于一个类似Sigmoid函数的作用,我们将这个函数写作f(W**T+b),定义u = W**T+b,则函数又可写为f(u),其中当u<0时,f(u) = -1,当u > 0时,f(u) = 1。这样无论u>0还是u<0,我们都可以得出f(u)*(W**T*X + b)为一个正数。

分类器参数的最优解推导过程:

python与机器学习(六.支持向量机SVM)_第1张图片
推导过程1
python与机器学习(六.支持向量机SVM)_第2张图片
推导过程2

你可能感兴趣的:(python与机器学习(六.支持向量机SVM))