[DataAnalysis]机器学习算法——支持向量机SVM原理简介

一、问题和超平面描述

给定训练集D=\{(x_1,y_1),(x_2,y_2),...(x_m,y_m)\},y_i\in\{-1,+1\}

分类学习最基本的想法就是基于训练集D在样本空间中找到一个划分超平面,将不同类别的样本分开,但能将训练样本分开的划分超平面可能有很多,如下图所示:

直观来看,应该去找位于两类训练样本“正中间”的划分超平面,因为该平面受影响最小,从而产生的分类结果是最鲁棒的,对未见示例的泛化能力最强。

1、划分超平面记

w^Tx+b=0

2、样本空间中任意点到超平面的距离

r=\frac{|w^Tx+b|}{||w||}

3、支持向量

\left\{\begin{matrix} w^Tx+b\geq +1, & y_i=+1\\ w^Tx+b\leq -1,&y_i=-1 \end{matrix}\right.

如上图所示:距离超平面最近的几个训练样本点使上式的等号成立,他们被称为“支持向量”。两个异类支持向量到超平面的距离之和为:

\gamma =\frac{2}{||w||}

被称为间隔。从而我们的目标转为找到最大间隔的划分超平面。

二、支持向量机目标函数

max \frac{2}{||w||}   等价于min \frac{1}{2}||w||^2

s.t. y_i(w^Tx_i+b)\geq 1,i=1,2...m

三、SVM参数求解

1、对支持向量机目标函数使用拉格朗日乘子法

L(w,b,\alpha)=\frac{1}{2}||w||^2+\sum_{i=1}^{m}\alpha_i(1-y_i(w^Tx_i+b))

2、对L(w,b,\alpha)求偏导等于0得到w,b的表达式

3、消去L(w,b,\alpha)中的w,b得到对偶问题

\max_\alpha \quad \sum_{i=1}^{m}\alpha_i-\frac{1}{2} \sum_{i=1}^{m} \sum_{j=1}^{m}\alpha_i\alpha_jy_iy_jx_i^Tx_j

s.t. \quad \sum_{i=1}{m}\alpha_iy_i=0,\alpha_i\geq 0,i=1,2,...m

四、SVM重要性质

训练完成后,大部分的训练样本都不需保留,最终模型只与支持向量机有关。

五、其他

关于核函数和支持向量回归暂时不放在SVM简介中,后续将会更新在博客中。

猜你喜欢

转载自blog.csdn.net/TOMOCAT/article/details/82493181
今日推荐