非线性分类器(一)之KNN以及SVM的数学推导

非线性分类器(一)

最小距离分类器

最小距离分类器特点

 解决两类多峰或多类问题的分段线性分类器

 可以解决几乎所有分类问题,但要已知各类子类

 概念直观简单,未经优化

 分类器设计简单容易

 无重叠区或空白区

KNN法分类器

(1)最近邻法分类器的特点

 可以解决几乎所有分类问题

 概念直观简单未经优化,但错误率并不高

 分类器设计容易

 运算量大,需要设计快速算法

 当数据分布复杂或噪声严重时,存在出错风险

(2)最近邻快速算法

剪辑法

1、进行预分类

2、剪辑掉错分样本

3、剪辑法可以重复进行

压缩法

1、每类各取一个代表样本(例如均值点近邻),组成压缩样本集Xs

2、以当前Xs对样本集做最近邻分类,然后将错分样本放入Xs

3、重复上述步骤,直至无样本放入为止

(3)knn法分类器的特点

 可以解决几乎所有分类问题

 概念直观简单未经优化,但错误率并不高

 分类器设计容易

 可以解决最近邻法的噪点干扰问题

 对测试样本分类时的计算量大,空间开销大

 算法流程:

​ 1计算测试数据与各个训练数据之间的距离;

​ 2按照距离的递增关系进行排序;

​ 3选取距离最小的K个点;

​ 4确定前K个点所在类别的出现频率;

​ 5返回前K个点中出现频率最高的类别作为测试数据的预测分类。

(4)k近邻快速算法

1、kd树

2、球树

3、剪辑近邻法:设法将交界区的已知样本去掉,决策时 就不会受到这些样本的影响,使近邻法的决策面更接 近最优分类面。

4、压缩近邻法:设法找出各类样本中最有利于用来与其他类区分的代表性样本,进而把很多训练样本都去掉,从而简化决策过程中的计算,具体流程为:1.对初始训练集R,将其划分为两个部分A和B,初始A样本集合为空。2.从R中随机选择一个样本放入A中,其它样本放入B中,用其对B中的每一个样本进行分类。若样本i能够被正确分类,则将其放回到B中,否则将其加入到A中;3.重复上述过程,直到B中所有样本都能正确分类为止。

SVM分类器

SVM是线性可分解区中的最优解

决策面方程:
非线性分类器(一)之KNN以及SVM的数学推导_第1张图片
分类间隔:
非线性分类器(一)之KNN以及SVM的数学推导_第2张图片
支持向量上的样本点:
在这里插入图片描述
进一步化简目标函数并描述最优化目标:
非线性分类器(一)之KNN以及SVM的数学推导_第3张图片
我们知道我们要求解的是最小化问题,所以一个直观的想法是如果我能够构造一个函数,使得该函数在可行解区域内与原目标函数完全一致,而在可行解区域外的数值非常大,甚至是无穷大,那么这个没有约束条件的新目标函数的优化问题就与原来有约束条件的原始目标函数的优化问题是等价的问题。这就是使用拉格朗日方程的目的,它将约束条件放到目标函数中从而将有约束优化问题转换为无约束优化问题。
非线性分类器(一)之KNN以及SVM的数学推导_第4张图片
为了简单起见,求解对偶问题:
非线性分类器(一)之KNN以及SVM的数学推导_第5张图片
首先固定α,要让L(w,b,α)关于w和b最小化,我们分别对w和b偏导数,令其等于0:
非线性分类器(一)之KNN以及SVM的数学推导_第6张图片
将上述结果带回L(w,b,α)得到L(w,b,α):
非线性分类器(一)之KNN以及SVM的数学推导_第7张图片
此时仅含有αi一个变量,最优化问题变为:
非线性分类器(一)之KNN以及SVM的数学推导_第8张图片
这个问题就用序列最小优化算法(SMO)通过二次规划解出αi,再反代回去求解w和b,最终找到决策面:
在这里插入图片描述
关于SMO算法过程简单的解释如下:
非线性分类器(一)之KNN以及SVM的数学推导_第9张图片
对于支持向量xi:
在这里插入图片描述
我们使用所有支持向量求解的平均值作为偏移项b:
在这里插入图片描述
上述最优值的必要条件叫做KKT条件,过程中必须满足KKT条件:
非线性分类器(一)之KNN以及SVM的数学推导_第10张图片
对于任意一个样本,总会有αi=0或者yi(fxi)=1,若αi=0,则此样本不会在最终的模型中出现,不会对f(x)产生任何影响;若αi>0,则必有yi(fxi)=1,说明此样本位于最大间隔的边界上,是一个支持向量;

这样我们得出一个重要结论:在训练结束后得到的最终模型仅仅与支持向量有关。

核函数

当数据线性不可分时,我们升维将数据印射到一个新的特征空间从而线性可分,这样在高维空间中需要进行特征向量的内积计算,当空间维数特别高趋于无穷时,这计算非常困难,所以定义核函数(核技巧)在原始特征空间中通过核函数运算来代替高维空间中的内积运算。但是我们一般不知道什么样的核函数适合映射,所以常常选择常用的核函数进行对比:
非线性分类器(一)之KNN以及SVM的数学推导_第11张图片
如果当我们把样本中心点平移,可以消掉b,决策面方程就可以简化为:
在这里插入图片描述

软间隔

前面一直假定训练样本在样本空间或特征空间线性可分,即存在一个超平面将不同类的样本完全划分开。但现实中,很难确定合适的 核函数使得训练样本在特征空间中线性可分。缓解该问题的办法是允许支持向量机出错,这样我们引入松弛变量 ξi 和惩罚参数 C 来使得平均分类误差最小,
非线性分类器(一)之KNN以及SVM的数学推导_第12张图片
在这里插入图片描述
目标函数要使得分类间隔尽量大而且使得错误分类个数尽量少,此时拉格朗日方程为:
非线性分类器(一)之KNN以及SVM的数学推导_第13张图片
与之前过程类似,求偏导:
非线性分类器(一)之KNN以及SVM的数学推导_第14张图片
得到简化最优化问题:
非线性分类器(一)之KNN以及SVM的数学推导_第15张图片
满足的KKT条件:
非线性分类器(一)之KNN以及SVM的数学推导_第16张图片
对KKT条件进行讨论可知:
非线性分类器(一)之KNN以及SVM的数学推导_第17张图片

SVM的优缺点

优点

1、可用于线性/非线性分类,也可以用于回归,泛化错误率低,也就是说具有良好的学习能力,且学到的结果具有很好的推广性。

2、可以解决小样本情况下的机器学习问题,可以解决高维问题,可以避免神经网络结构选择和局部极小点问题。

3、SVM是最好的现成的分类器,现成是指不加修改可直接使用。并且能够得到较低的错误率,SVM可以对训练集之外的数据点做很好的分类决策。

缺点

1、对参数调节和和函数的选择敏感。

你可能感兴趣的:(模式识别与机器学习,机器学习)