逻辑回归、决策树和支持向量机(I)

发表于12小时前| 1115次阅读| 来源Edvancer| 1 条评论| 作者Lalit Sachan

机器学习可视化特征空间逻辑回归决策边界SVM决策树
width="22" height="16" src="http://hits.sinajs.cn/A1/weiboshare.html?url=http%3A%2F%2Fwww.csdn.net%2Farticle%2F2015-11-26%2F2826332&type=3&count=&appkey=&title=%E5%88%86%E7%B1%BB%E9%97%AE%E9%A2%98%E6%98%AF%E5%95%86%E4%B8%9A%E4%B8%9A%E5%8A%A1%E4%B8%AD%E9%81%87%E5%88%B0%E7%9A%84%E4%B8%BB%E8%A6%81%E9%97%AE%E9%A2%98%E4%B9%8B%E4%B8%80%E3%80%82%E6%9C%AC%E6%96%87%E5%AF%B9%E4%B8%89%E7%A7%8D%E4%B8%BB%E8%A6%81%E6%8A%80%E6%9C%AF%E5%B1%95%E5%BC%80%E8%AE%A8%E8%AE%BA%EF%BC%8C%E9%80%BB%E8%BE%91%E5%9B%9E%E5%BD%92%EF%BC%88Logistic%20Regression%EF%BC%89%E3%80%81%E5%86%B3%E7%AD%96%E6%A0%91%EF%BC%88Decision%20Trees%EF%BC%89%E5%92%8C%E6%94%AF%E6%8C%81%E5%90%91%E9%87%8F%E6%9C%BA%EF%BC%88Support%20Vector%20Machine%EF%BC%8CSVM%EF%BC%89%E3%80%82&pic=&ralateUid=&language=zh_cn&rnd=1449060972245" frameborder="0" scrolling="no" allowtransparency="true">摘要:分类问题是商业业务中遇到的主要问题之一。本文对三种主要技术展开讨论,逻辑回归(Logistic Regression)、决策树(Decision Trees)和支持向量机(Support Vector Machine,SVM)。

分类问题是我们在各个行业的商业业务中遇到的主要问题之一。在本文中,我们将从众多技术中挑选出三种主要技术展开讨论,逻辑回归(Logistic Regression)、决策树(Decision Trees)和支持向量机(Support Vector Machine,SVM)。

上面列出的算法都是用来解决分类问题(SVM和DT也被用于回归,但这不在我们的讨论范围之内)。我多次看到有人提问,对于他的问题应该选择哪一种方法。经典的也是最正确的回答是“看情况而定!”,这样的回答却不能让提问者满意。确实让人很费神。因此,我决定谈一谈究竟是看什么情况而定。

这个解释是基于非常简化的二维问题,但足以借此来理解读者棘手的更高维度数据。

我将从最重要的问题开始讨论:在分类问题中我们究竟要做什么?显然,我们是要做分类。(这是个严肃的问题?真的吗?)我再来复述一遍吧。为了做分类,我们试图寻找决策边界线或是一条曲线(不必是直线),在特征空间里区分两个类别。

特征空间这个词听起来非常高大上,容易让很多新人犯迷糊。我给你展示一个例子来解释吧。我有一个样本,它包含三个变量:x1, x2和target。target有0和1两种值,取决于预测变量x1和x2的值。我将数据绘制在坐标轴上。

这就是特征空间,观测值分布于其中。这里因为我们只有两个预测变量/特征,所有特征空间是二维的。你会发现两个类别的样本用不同颜色的点做了标记。我希望我们的算法能计算出一条直线/曲线来分离这个类别。

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

先说逻辑回归。很多人对逻辑回归的决策边界都有误解。这种误解是由于大多数时候提到逻辑回归,人们就见到那条著名的S型曲线。

上图所示的蓝色曲线并不是决策边界。它是逻辑回归模型的二元响应的一种变形。逻辑回归的决策边界总是一条直线(或者一个平面,在更高维度上是超平面)。让你信服的最好方法,就是展示出大家都熟知的逻辑回归方程式。

我们做一个简单的假设,F是所有预测变量的线性组合。

上面的等式也可以写作:

当你进行预测的时候,对概率值做一个分数截断,高于截断值的概率为1,否则为0。假设截断值用c表示,那么决策过程就变成了这样:

Y=1 if p>c, 否则0。最后给出的决策边界是F>常数。

F>常数,无非就是一个线性决策边界。我们样本数据用逻辑回归得到的结果将会是这样。

你会发现效果并不好。因为无论你怎么做,逻辑回归方法得到的决策边界总是线性的,并不能得到这里需要的环状边界。因此,逻辑回归适用于处理接近线性可分的分类问题。(虽然可以对变量做变换得到线性可分的结果,但我们在此不讨论这类情况。)

接着我们来看决策树如何处理这类问题。我们都知道决策树是按照层次结构的规则生成的。以我们的数据为例。

如果你仔细思考,这些决策规则x2 |</>| const OR x1 |</>| const 只是用平行于轴线的直线将特征空间切分,如下图所示。

我们可以通过增加树的大小使它生长得更复杂,用越来越多的分区来模拟环状边界。

哈哈!趋向于环状了,很不错。如果你继续增加树的尺寸,你会注意到决策边界会不断地用平行线围成一个环状区域。因此,如果边界是非线性的,并且能通过不断将特征空间切分为矩形来模拟,那么决策树是比逻辑回归更好的选择

然后我们再来看看SVM的结果。SVM通过把你的特征空间映射到核空间,使得各个类别线性可分。这个过程更简单的解释就是SVM给特征空间又额外增加了一个维度,使得类别线性可分。这个决策边界映射回原特征空间后得到的是非线性决策边界。下图比我的解释更清楚。

你可以看到,一旦样本数据以某种方式增加了一个维度,我们就能用一个平面来分割数据(线性分类器),这个平面映射回原来的二维特征空间,就能得到一个环状的决策边界。

SVM在我们数据集上的效果多棒啊:

注:决策边界并不是这么标准的圆形,但是非常接近了(可能是多边形)。我们为了操作简便,就用圆环代替了。

现在清楚各种区别了吧,但是还有一个问题。也就是说,在处理多维数据时,什么时候该选择何种算法?这个问题很重要,因为若是数据维度大于三,你就找不到简单的方法来可视化地呈现数据。我们将在第二部分讨论这么问题,敬请关注。

逻辑回归、决策树和支持向量机(I)相关推荐

  1. 基于6种监督学习(逻辑回归+决策树+随机森林+SVM+朴素贝叶斯+神经网络)的毒蘑菇分类

    公众号:尤而小屋 作者:Peter 编辑:Peter 大家好,我是Peter~ 本文是kaggle案例分享的第3篇,赛题的名称是:Mushroom Classification,Safe to eat ...

  2. 机器学习 之线性回归、逻辑回归、 SVM支持向量机、随机森林

    参考b站不会还有人不知道最新版2022年的李宏毅--机器学习与深度学习吧?_哔哩哔哩_bilibili 分类 1.监督学习:     从给定的训练数据集中学习一个函数(模型),当新数据(测试集)来到时 ...

  3. 基于逻辑回归/决策树/随机森林/多层感知分类器/xgboost/朴素贝叶斯分类的资讯多分类性能对比

    在上一篇(https://blog.csdn.net/baymax_007/article/details/82748544)中,利用逻辑回归实现资讯多分类.本文在之前基础上,又引入决策树.随机森林. ...

  4. 逻辑回归LR vs 支持向量机SVM

    目录 LR vs SVM LR和SVM的相同点 LR和SVM的不同点 逻辑回归LR LR损失函数 LR公式推导 支持向量机SVM 间隔和支持向量 对偶问题 核函数 软间隔和正则化 LR vs SVM ...

  5. 风控模型师面试准备--技术篇(逻辑回归、决策树、集成学习)

    原文地址:https://zhuanlan.zhihu.com/p/56175215 编辑于2019-02-12,持续更新中,有风控建模工作经验的,或者想转行风控建模的小伙伴可以互相交流下... 一. ...

  6. 逻辑回归Logistic Regression 模型简介

    逻辑回归(Logistic Regression)是机器学习中的一种分类模型,由于算法的简单和高效,在实际中应用非常广泛.本文作为美团机器学习InAction系列中的一篇,主要关注逻辑回归算法的数学模 ...

  7. R语言分类模型:逻辑回归模型LR、决策树DT、推理决策树CDT、随机森林RF、支持向量机SVM、Rattle可视化界面数据挖掘、分类模型评估指标(准确度、敏感度、特异度、PPV、NPV)

    R语言分类模型:逻辑回归模型LR.决策树DT.推理决策树CDT.随机森林RF.支持向量机SVM.Rattle可视化界面数据挖掘.分类模型评估指标(准确度.敏感度.特异度.PPV.NPV) 目录

  8. R语言编写自定义函数计算分类模型评估指标:准确度、特异度、敏感度、PPV、NPV、数据数据为模型预测后的混淆矩阵、比较多个分类模型分类性能(逻辑回归、决策树、随机森林、支持向量机)

    R语言编写自定义函数计算分类模型评估指标:准确度.特异度.敏感度.PPV.NPV.数据数据为模型预测后的混淆矩阵.比较多个分类模型分类性能(逻辑回归.决策树.随机森林.支持向量机) 目录

  9. 一小部分机器学习算法小结: 优化算法、逻辑回归、支持向量机、决策树、集成算法、Word2Vec等...

    优化算法 先导知识:泰勒公式 \[ f(x)=\sum_{n=0}^{\infty}\frac{f^{(n)}(x_0)}{n!}(x-x_0)^n \] 一阶泰勒展开: \[ f(x)\approx ...

最新文章

  1. MPB:华中师大谢波组-​​​微生物非标记定量蛋白质组学样品制备方法
  2. Logback日志配置(分级别输出到不同文件)
  3. java Date.getTime()返回负数异常情况分析
  4. python自带的sum()函数和numpy库中的sum()函数的区别
  5. Heartbeat VIP/IP 与 别名/辅助IP
  6. C# WINFORM的自动更新程序
  7. 机器学习之 weka学习(二)算法说明
  8. 商务计算机的购置方案,电子采购方案的实施.ppt
  9. Python实现给指定的微信朋友发信息
  10. Chrome、Edge 合力围剿,Safari 夹缝求生?
  11. cpuid linux,Linux下获取CPUID、硬盘序列号与MAC地址(2)
  12. ios 从前台返回到回台 从后台返回到前台 或者 支付宝支付订单后 对界面进行操作...
  13. ubuntu环境搭建四:安装和使用git
  14. 在Windows 7 Ultimate 64位上安装Java
  15. 深度学习-对抗神经网络简介
  16. Program size: Code, RO-data , RW-data, ZI-data
  17. 每日一句_《临江仙·滚滚长江东逝水》
  18. Win10不能访问共享硬盘怎么办
  19. linux pg启动日志查看,pg日志分析
  20. java jp2launcher.exe_atitit. applet 浏览器插件 控件 的环境,开发,提示总结o9o

热门文章

  1. python中哈希是什么意思_在python中向量化特征哈希
  2. 8.0ble设备 android_【胖猴小玩闹】智能门锁与BLE设备安全Part 4:一次BLE智能手环的小玩闹...
  3. 安卓StepView事件进度条的简单实现
  4. 8行代码求解非线性方程
  5. matlab 开 闭 代码,C++中的MATLAB函数〔闭锁〕
  6. 23. Leetcode 86. 分隔链表 (链表-基础操作类-分隔链表)
  7. 文巾解题 704. 二分查找
  8. 数学建模大赛赛题解析:Mathorcup高校数学建模挑战赛-基于收得率预测模型的转炉炼钢的成本优化
  9. R语言实战应用精讲50篇(十四)-R语言构建层次分析模型
  10. ClickHouse 在字节跳动广告场景的应用