12 - SVM, KNN,LR, RF简要介绍

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了12 - SVM, KNN,LR, RF简要介绍相关的知识,希望对你有一定的参考价值。

参考技术A 这里接 第11篇 的介绍。

支持向量机是可对类别进行分类的有监督的学习算法。其在样本的特征空间中找出间隔最大的超平面对样本进行分类。SVM根据其学习算法不同可划分为线性可分SVM、线性近似可分SVM与非线性SVM。实现上述三种SVM主要依靠核函数—线性核函数、高斯核函数、多项式核函数与Sigmoid核函数,后三种核函数为非线性,一般建议使用高斯核函数。

如上图,对于二分类,SVM需要确定一条最优直线使两类样本分开,在图1-4中A可以看到有多条直线可将两组分开,但最优的是图1-4中B的w*x+b=0直线。对于最优直线的确定,需要使最优直线到最近点的距离最大,最近点被称为支持向量(如图1-4中B的红点/圈),这里的距离是求出点到直线的距离最大,这是在二维空间,当在三维及其以上的空间时,直线变为超平面,距离则需要求点到超平面的几何距离(Westreich et al 2010)。

SVM的优点:(1)适用各种形式的数据,如文本、图像等;(2)泛化能力较好,即其过拟合的风险小;(3)相对较好地处理高维度数据;(4)核函数的应用使其能很好的适应各种情况。其缺点:(1)对大规模数据难以处理;(2)只依靠少数支持向量决定最终结果,如有异常值,则结果容易出现较大偏差;(3)对缺失值敏感(Westreich et al 2010)。

K最近邻算法是通过计算样本特征之间的距离,根据距离k进行分类,属于无参数分类和回归方法(Altman 1992)。距离k的度量可以使用闵可夫斯基距离、欧氏距离与曼哈顿距离等距离公式进行计算,一般其取20以内的正整数,较大的k取值会降低噪音对分析的影响,且一般对于二分类问题,取k为奇数将有利于判别。

闵可夫斯基距离公式为:

上述公式中,当p=2时,变为欧氏距离,当p=1时,变为曼哈顿距离(Hechenbichler and Schliep 2004)。
KNN属于“懒惰学习”,即只是将训练集数据储存起来,再来新样本时进行距离计算,根据投票结果判别新样本属于哪一类。例如图1-6,蓝色方框与红色三角为已知的训练集,当有绿色圆圈新样本进行判别时,假设k为1,则有两个红色三角与一个为蓝色方框参与判别,这样投票结果为2:1,故绿色圆圈属于红色三角形一类;假如k为2,则有两个红色三角与三个为蓝色方框参与判别,这样投票结果为2:3,故绿色圆圈属于蓝色方框。所以k值需要选择,一般是根据经验进行设置,并且每个样本(如红三角)对判别决策所占的比重也可以进行设定即为权重KNN(Hechenbichler and Schliep 2004)。

逻辑回归是一种有监督的学习方法,其函数基本的公式:

上述公式为Sigmoid函数,图为1-7,其输出值在[0, 1]之间,需要选择一个阈值,通常是0.5,当p(x) > 0.5时,x为A类,如果p(x) < 0.5时,x为B类。阈值可以调整,其代表对于这个事情的把握度,如上述的阈值为0.5,如计算的p(x1)=0.3,则有50%的把握认为x1属于B类(Press 2013)。
LR的运算基本过程:(1)假设p(x)=1,构造sigmoid函数,即利用最大似然取对数作为误差函数,用梯度下降求最小的误差函数值,求出a与b;(2)根据训练数据集多组数据,重复循环(1)n次,计算数据集梯度,更新sigmoid参数,确定最终的sigmoid函数;(3)输入预测集数据;(4)运用最终sigmoid函数求解分类(Dreiseitl and Ohno-Machado 2002)。
LR的优点:(1)容易接收新数据,对模型更新;(2)能够容易解决变量间的共线性问题;(3)运算速度快,适合二分类问题。其缺点:(1)适用的数据和具体场景较少;(2)不适用于样本具有很大的特征值(即变量过多);(3)容易欠拟合,分类准确性较低;(4)使用前提是应变量和自变量有线性关系,只是广义线性模型,不能处理非线性问题。

随机森林是将多个决策树集合在一起的一种算法,基本单元为决策树,并且可以用于回归和分类(Breiman 2001, Liaw and Wiener 2002)。其名字由“随机”与“森林”组成,“随机”有两个含义,一指在训练集中随机且有放回的抽取n个样本进行建模,二指每个节点在特征值M中随机抽取k(k<M)个进行建模,且每个节点处的k应相同,这两个随机使该算法不容易过拟合(Ho 1998)。“森林”即为多个决策树组成,其要求基本同上述的决策树,但这里的决策树没有剪枝的过程,让其尽量生长(Cutler et al 2012)。其将多个决策树组合在一起是采用集成学习方法,该算法的中心思想是让每个决策树产生一个结果,再对这些结果进行统计,哪种结果数量最多,即为最终结果。

RF实现的过程(1)随机有放回的从样本N中选出n个子样本;(2)每个节点在特征值M中随机选出k个特征值;(3)重复第一与第二步s次,创建s个决策树;(4)对s个决策树结果分析,哪一类决策树最多,则最终判别为哪一类。

RF算法主要有两个参数,第一个为抽取每个样本的特征值k,第二个为决策树的数量。特征值k一般建议为全部特征值的开方(Geurts et al 2006)。在确定较优的k后,一般取决策树数为500进行尝试,查看随着决策树的数量增多,袋外错误率是否会稳定在一个定值,取能达到这个定值的最小决策树数的数量。

随机森林算法优点:(1)能够有效处理大数据;(2)能处理高维度变量的样本,不需要降维;(3)能较好处理缺失值问题。其缺点:(1)不能直观进行解释(2)过度拟合某些具有噪声分类。
上述的八种算法,一般多用于二分类问题,如“有或无”与“好或坏”等,但在实际应用中也有较多的多分类问题,如彩虹可以划分7种颜色,当判别一个新的颜色属于这7种颜色的哪一种时,这就需要解决一个七分类问题。多分类是二分类的一个拓展,解决办法有两种,第一种是一对多,即先从K类中选出一种,剩余K-1类归为一种,这样需要建立K个判别模型,当有新数据进行判别时,新样本需在K个判别模型中,同时进行判别,看被判别为哪一类的可能性最大,就判别为哪类;

机器学习SVM面试题:简单介绍一下SVM?支持向量机SVM逻辑回归LR决策树DT的直观对比和理论对比,该如何选择?SVM为什么采用间隔最大化?为什么要将求解SVM的原始问题转换为其对偶问题?

介绍一下SVM

(1)简单介绍一下SVM

支持向量机(support vector machines,SVM)是一种二分类模型。分为

线性可分支持向量机:训练数据线性可分,通过硬间隔最大化学习一个线性的分类器,又称为硬间隔支持向量机。
线性支持向量机:训练数据近似线性可分,通过软间隔最大化学习一个线性的分类器,又称为软间隔支持向量机。
非线性支持向量机:训练数据线性不可分,通过核技巧及软间隔最大化,学习非线性支持向量机。(核技巧:当输入空间为欧式空间或离散集合、特征空间为希尔伯特空间时,核函数表示将输入空间映射到特征空间得到的特征向量之间的内积。通过使用核函数,可以学习非线性支持向量机,等价于隐式地在高维的特征空间中学习线性支持向量机)

它的基本模型是在特征空间中寻找间隔最大化的分离超平面的线性分类器。是一个原始最大间隔最优化问题,通过对偶算法,即先转为拉格朗日函数问题,再将拉格朗日函数转为求其对偶问题,即将朗格朗日优化问题中的 min(max) 求解顺序对调,变为max(min)。

(2)支持向量机SVM、逻辑回归LR、决策树DT的直观对比和理论对比,该如何选择?

  • 直观区别

逻辑回归:逻辑回归的决策边界总是一条直线(或者一个平面,在更高维度上是超平面),逻辑回归方法得到的决策边界总是线性的,并不能得到这里需要的环状边界。因此,逻辑回归适用于处理接近线性可分的分类问题。

决策树:决策树是按照层次结构的规则生成的,决策规则只是用平行于轴线的直线将特征空间切分,如果边界是非线性的,并且能通过不断将特征空间切分为矩形来模拟,那么决策树是比逻辑回归更好的选择。

SVM:SVM是通过把特征空间映射到核空间,使得各个类别线性可分。先提升特征的维度,在高纬度用一个平面来分割数据(线性分类器),这个平面映射回原来的二维特征空间,就能得到一个环状的决策边界。

  • 理论区别

模型复杂度:SVM 支持核函数,可处理线性非线性问题,既可以用于分类问题,也可以用于回归问题;LR 模型简单,训练速度快,适合处理线性问题,非线性问题需要转换,适用于二分类问题;决策树也能处理非线性特征,但容易过拟合,需要进行剪枝,适用于多分类问题。

损失函数:SVM hinge loss; 带L2正则化的LR对应的是cross entropy loss,不带的是正则化的是log loss; 决策树的损失函数由叶节点上的经验熵决定。

数据量:LR和决策树都适合用于数据量大的情况,SVM在样本数据量较大需要较长训练时间,因此更适用于数据量小的情况

敏感度:LR对缺失值敏感,不能有缺失值;SVM噪声不能太多,对缺失数据敏感;决策树对缺失数据不敏感

(3)SVM为什么采用间隔最大化

当训练数据线性可分时,存在无穷个分离超平面可以将两类数据正确分开。感知机利用误分类最小策略,求得分离超平面,不过此时的解有无穷多个。线性可分支持向量机利用间隔最大化求得最优分离超平面,这时,解是唯一的。另一方面,此时的分隔超平面所产生的分类结果是最鲁棒的,对未知实例的泛化能力最强。可以借此机会阐述一下几何间隔以及函数间隔的关系。

(4)为什么要将求解SVM的原始问题转换为其对偶问题

  • 对偶问题往往更易求解,当我们寻找约束存在时的最优点的时候,约束的存在虽然减小了需要搜寻的范围,但是却使问题变得更加复杂。为了使问题变得易于处理,我们的方法是把目标函数和约束全部融入一个新的函数,即拉格朗日函数,再通过这个函数来寻找最优点。

  • 可以自然引入核函数,进而推广到非线性分类问题

(5)为什么 SVM 要引入核函数

当样本在原始空间线性不可分时,可将样本从原始空间映射到一个更高维的特征空间,使得样本在这个特征空间内线性可分。

(6)为什么SVM对缺失数据敏感

这里说的缺失数据是指缺失某些特征数据,向量数据不完整。SVM 没有处理缺失值的策略。

(7)SVM 核函数之间的区别

一般选择线性核和高斯核,也就是线性核与 RBF 核。
线性核:主要用于线性可分的情形,参数少,速度快,对于一般数据,分类效果已经很理想了。
径向基RBF核:主要用于线性不可分的情形,参数多,分类结果非常依赖于参数。如果Feature 的数量很大,跟样本数量差不多,这时候选用线性核的 SVM。 如果 Feature的数量比较小,样本数量一般,不算大也不算小,选用高斯核的 SVM。

以上是关于12 - SVM, KNN,LR, RF简要介绍的主要内容,如果未能解决你的问题,请参考以下文章

面试题1-----SVM和LR的异同

SVM 与 LR的异同

LR和SVM的联系与区别

使用 Sklearn 进行蛮力模型选择

SVM与LR的区别

机器学习—逻辑回归与SVM区别