LR,SVM,决策树的对比

首先,LR、SVM、决策树都可以用来做分类的任务。为了做分类,我们试图寻找决策边界线或是一条曲线(不必是直线),在特征空间里区分两个类别。

一、LR,SVM,决策树直观区别

举个例子:
有一个样本,它包含三个变量:x1, x2和target。target有0和1两种值,取决于预测变量x1和x2的值。将数据绘制在坐标轴上。
在这里插入图片描述
这就是特征空间,观测值分布于其中。这里因为我们只有两个预测变量/特征,所有特征空间是二维的。你会发现两个类别的样本用不同颜色的点做了标记。我希望我们的算法能计算出一条直线/曲线来分离这个类别。

通过目测可知,理想的决策边界(分割曲线)是一个圆。实际决策边界形状的差异则是由于逻辑回归、决策树和支持向量机算法的差异引起的。

逻辑回归的决策边界总是一条直线(或者一个平面,在更高维度上是超平面)。我们样本数据用逻辑回归得到的结果将会是这样。在这里插入图片描述
你会发现效果并不好。因为无论你怎么做,逻辑回归方法得到的决策边界总是线性的,并不能得到这里需要的环状边界。因此,逻辑回归适用于处理接近线性可分的分类问题。(虽然可以对变量做变换得到线性可分的结果,但我们在此不讨论这类情况。)

接着我们来看决策树如何处理这类问题。我们都知道决策树是按照层次结构的规则生成的。以我们的数据为例。
在这里插入图片描述
如果你仔细思考,这些决策规则x2 || const OR x1 || const 只是用平行于轴线的直线将特征空间切分,如下图所示。
在这里插入图片描述
我们可以通过增加树的大小使它生长得更复杂,用越来越多的分区来模拟环状边界。
在这里插入图片描述
如果你继续增加树的尺寸,你会注意到决策边界会不断地用平行线围成一个环状区域。因此,如果边界是非线性的,并且能通过不断将特征空间切分为矩形来模拟,那么决策树是比逻辑回归更好的选择。

再来看看SVM的结果。SVM通过把你的特征空间映射到核空间,使得各个类别线性可分。这个过程更简单的解释就是SVM给特征空间又额外增加了一个维度,使得类别线性可分。这个决策边界映射回原特征空间后得到的是非线性决策边界。下图比我的解释更清楚。
在这里插入图片描述
你可以看到,一旦样本数据以某种方式增加了一个维度,我们就能用一个平面来分割数据(线性分类器),这个平面映射回原来的二维特征空间,就能得到一个环状的决策边界。
在这里插入图片描述
现在清楚各种区别了吧,但是还有一个问题。也就是说,在处理多维数据时,什么时候该选择何种算法?这个问题很重要,因为若是数据维度大于三,你就找不到简单的方法来可视化地呈现数据。往下看。

二、分析本身三者的优缺点

首先,我们来分析下逻辑回归(Logistic Regression),它是解决工业规模问题最流行的算法,尽管与其他技术相比,其在效率和算法实现的易用性方面并不出众。

1、逻辑回归

逻辑回归非常便利并且很有用的一点在于,可以通过控制阈值来控制分类的结果。

逻辑回归的优点:

  • 1、便利的观测样本概率分数;
    2、已有工具的高效实现;
    3、对逻辑回归而言,多重共线性并不是问题,它可以结合L2正则化来解决;
    4、逻辑回归广泛的应用于工业问题上(这一点很重要)。

逻辑回归的缺点:

  • 1、当特征空间很大时,逻辑回归的性能不是很好;
    2、不能很好地处理大量多类特征或变量;
    3、对于非线性特征,需要进行转换;
    4、依赖于全部的数据(个人觉得这并不是一个很严重的缺点)。

2、决策树

决策树的优点:

  • 1、直观的决策规则
    2、可以处理非线性特征
    3、考虑了变量之间的相互作用

决策树的缺点:

  • 1、训练集上的效果高度优于测试集,即过拟合[随机森林克服了此缺点
    2、没有将排名分数作为直接结果

3、SVM

SVM的优点:

  • 能够处理大型特征空间
    能够处理非线性特征之间的相互作用
    无需依赖整个数据

SVM的缺点:

  • 当观测样本很多时,效率并不是很高
    有时候很难找到一个合适的核函数

三、如何选择这三种算法?

1、首当其冲应该选择的就是逻辑回归,如果它的效果不怎么样,那么可以将它的结果作为基准来参考;
2、然后试试决策树(随机森林)是否可以大幅度提升模型性能。即使你并没有把它当做最终模型,你也可以使用随机森林来移除噪声变量
3、如果特征的数量和观测样本特别多,那么当资源和时间充足时,使用SVM不失为一种选择。

  • 5
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
初识⼈⼯智能--决策树算法 机器学习中分类和预测算法的评估: * 准确率 * 速度 * 强壮⾏ * 可规模性 * 可解释性 1. 什么是决策树/判定树(decision tree)? 判定树是⼀个类似于流程图的树结构:其中,每个内部结点表⽰在⼀个属性上的测试,每个分⽀代表⼀个属性输出,⽽每个树叶结点代表类 或类分布。树的最顶层是根结点。 2. 机器学习中分类⽅法中的算法 朴素贝叶斯(Naive Bayes, NB) Logistic回归(Logistic Regression, LR) 决策树(Decision Tree, DT) –>本⽂主要讲述决策树 ⽀持向量机(Support Vector Machine, SVM) 3. 构造决策树的基本算法 分⽀ 根结点 结点 树叶 3.1 熵(entropy)概念: 信息和抽象,如何度量? 1948年,⾹农提出了 "信息熵(entropy)"的概念 ⼀条信息的信息量⼤⼩和它的不确定性有直接的关系,要搞清楚⼀件⾮常⾮常不确定的事情,或者是我们⼀⽆所知的事情,需要了解⼤量信 息==>信息量的度量就等于不确定性的多少例⼦:猜世界杯冠军,假如⼀⽆所知,猜多少次? 每个队夺冠的⼏率不是相等的 ⽐特(bit)来衡量信息的多少 变量的不确定性越⼤,熵也就越⼤ 3.1 决策树归纳算法 (ID3) 1970-1980, J.Ross. Quinlan, ID3算法 选择属性判断结点 信息获取量(Information Gain):Gain(A) = Info(D) - Infor_A(D) 通过A来作为节点分类获取了多少信息 计算过程:先单独计算Info(D),以⽬标函数为计算基点,总实例数为14,其中no的实例数为5,yes的实例数为9.通过信息熵公式计算,可 得: 再计算包含age属性时的Info_age_(D),其中age可以划分为三个阶段:youth:占实例总数的5/14,middle_aged占4/14,senior占 5/14,继续通过信息熵公式计算,得到Info_age_(D),再通过信息获得量公式计算出最后的结果。 类似,Gain(income) = 0.029, Gain(student) = 0.151, Gain(credit_rating)=0.048 所以,选择age作为第⼀个根节点(取⼤的) 划分好跟节点后,排除已经称为节点的属性,继续通过该⽅法,可以继续划分结点。若出现划分好的表格中的⽬标函数为同⼀类时(eg: yes),便不需要继续划分。 重复以上步骤。。。 算法: * 树以代表训练样本的单个结点开始(步骤1)。 * 如果样本都在同⼀个类,则该结点成为树叶,并⽤该类标号(步骤2 和3)。 * 否则,算法使⽤称为信息增益的基于熵的度量作为启发信息,选择能够最好地将样本分类的属性(步骤6)。该属性成为该结点的"测试"或"判定"属性(步骤7 )。在算法的该版本中, * 所有的属性都是分类的,即离散值。连续属性必须离散化。 * 对测试属性的每个已知的值,创建⼀个分枝,并据此划分样本(步骤8-10)。 * 算法使⽤同样的过程,递归地形成每个划分上的样本判定树。⼀旦⼀个属性出现在⼀个结点上,就不必该结点的任何后代上考虑它(步骤13)。 * 递归划分步骤仅当下列条件之⼀成⽴停⽌: * (a) 给定结点的所有样本属于同⼀类(步骤2 和3)。 * (b) 没有剩余属性可以⽤来进⼀步划分样本(步骤4)。在此情况下,使⽤多数表决(步骤5)。 * 这涉及将给定的结点转换成树叶,并⽤样本中的多数所在的类标记它。替换地,可以存放结 * 点样本的类分布。 * (c) 分枝 * test_attribute = a i 没有样本(步骤11)。在这种情况下,以 samples 中的多数类 * 创建⼀个树叶(步骤12) 3.1 其他算法: C4.5(Quinlan):它能够处理连续型属性或离散型属性的数据;能够处理具有缺失值的属性数据;使⽤信息增益率⽽不是信息增益作为决策树 的属性选择标准;对⽣成枝剪枝,降低过拟合。 如下为决策树算法框架: C4.5中⽤到的⼏个公式: <1> 训练集的信息熵 其中 m代表分类数,pi为数据集中每个类别所占样本总数的⽐例。 <2> 划分信息熵—-假设选择属性A划分数据集S,计算属性A对集合S的划分信息熵值 case 1:A为离散类型,有k个不同取值,根据属性的k个不同取值将S划分为k各⼦集{s1 s2 …sk},则属性A划分S的划分信息熵为:(其中 "Si" "S" 表⽰包含的样本个数) case 2: A为连续型数据,则按属性A的取值递增排序,将每对相邻值的中点看作可能的分裂点,对每个可能的分裂点,计算: 其中,SL和SR分别对应于该分裂点划分的左右两部分⼦集,选择En

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值