0
点赞
收藏
分享

微信扫一扫

分类问题常用算法——SVM概述

SVM(支持向量机)是一种分类模型,作为机器学习中很基础的一个知识点,本文将对其进行一个较简洁并且容易理解的描述,也是自己的一个复习,若有疏漏,请多指正。

目录

场景

SVM的分类

基本模型

对偶算法

软间隔

核技巧


场景:

对一个二类分类问题:

以线性可分数据为例,需要得到一个分离超平面来使得数据正确划分并间隔最大。

SVM的分类:

可分为线性分类器和非线性分类器,线性分类器可分为硬间隔和软间隔两类,其中软间隔样本不完全线性可分。非线性分类器常利用核技巧。

基本模型:

最大间隔线性分类器:包括分离超平面、决策函数。

分离超平面:w^*x+b^*=0

决策函数:f(x)=sign(w^*x+b^*)

样本点(x_i, y_i)离分离超平面存在两种距离分别为函数间隔几何间隔

函数间隔\hat{\gamma _i}=y_i(wx_i+b)  表示正确性和确信度。

定义超平面与数据集之间的几何间隔为\hat{\gamma}=min \hat{\gamma_i}

几何间隔\gamma _i=\frac{\hat{\gamma _i}}{||w||}=y_i(\frac{w}{||w||}x_i+\frac{b}{||w||}) 是函数间隔的规范化,使得间隔确定。

定义超平面与数据集之间的几何间隔为\gamma =min\gamma _i

得到最优化问题

由于\gamma _i=\frac{\hat{\gamma _i}}{||w||},原问题等价于:

由于函数间隔的取值并不影响问题的解,故令\hat{\gamma}=1,原问题可等价于:

这就是支持向量机中的凸优化问题,我们常说的支持向量就是使得y_i(wx_i+b)=0的点。

以图来表示:

 图中H1和H2上的点就是支持向量,H1和H2之间的距离称为间隔,w为分离超平面的法向量,H1和H2称为间隔边界。

对偶算法:

对于原始问题可构建拉格朗日函数:

根据拉格朗日对偶性,原始问题对偶问题是极大极小问题:

为了得到对偶问题的解,需要先求极小再求极大。

求极小:

代入得:

                         =-\frac{1}{2} \sum_i \sum_j \alpha_i \alpha_j y_i y_j x_i x_j + \sum_i \alpha_i

所以对偶问题可化为:

       \alpha_i \geq 0

由KKT条件可得:w^*=\sum_{i=1}^{N}\alpha_i^* y_i x_i ,\ b^*=y_j-\sum_{i=1}^{N} \alpha_{i}^{*}y_ix_i\cdot x_j

推导:

由于当\alpha_i^* > 0,则y_i(w^*x_i+b^*)-1=0,又因为是二分类,y_i^2=1

所以:b^*=y_i-\sum_j^N \alpha_j^* y_j x_j \cdot x_i

那么将原问题转换成对偶问题有什么优点呢?

1、对偶问题比原问题好求解

2、方便引入核函数,推广到非线性分类问题

转换成对偶问题后,支持向量为\alpha_i>0的样本;分离超平面为\sum_{i=1}^{N} \alpha_i^* y_i (x_i \cdot x) + b^*=0,分类决策函数为f(x)=sign(\sum_{i=1}^{N}\alpha_i^* y_i(x_i\cdot x)+b^*)

软间隔:

以上模型在样本点完全线性可分情况下,也就是硬间隔,那么当样本点不完全线性可分,也就是某些样本点(x_i,y_i)不能完全满足函数间隔大于等于1的约束。所以,我们可以对每个样本点引入一个松弛变量\xi _i,使得函数间隔加上松弛变量大于等于1。同时,对每个松弛变量支付一个代价\xi _i。所以原问题变为:

       \xi_i \geq 0

软间隔对偶问题与硬间隔类似,这里暂且略过。

核技巧:

在非线性问题中,把x从原空间通过一个函数\varphi映射到特征空间中,在新空间用线性分类学习方法学习分类模型。

核函数定义:设原空间为\chi \in R^2,使得对所有x,z\in \chi,函数K(x,z)满足条件K(x,z)=\phi (x)\cdot \phi(z)

因为单独计算\varphi (x)不太容易,所以核技巧想法就是不显式地定义映射函数,直接计算K(x,z)

支持向量机中,对偶问题目标函数可用核函数表示为:

分类决策函数为:

也就是说,当核函数K(x,z)给定时,可以利用解线性分类问题的方法求解非线性问题的支持向量机。并且学习是在特征空间中隐式地进行,不需要定义特征空间和映射函数。

举报

相关推荐

0 条评论