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

摘要:分类问题是商业业务中遇到的主要问题之一。本文对三种主要技术展开讨论,逻辑回归(Logistic Regression)、决策树(Decision Trees)和支持向量机(Support Vector Machine,SVM)。算法

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

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

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

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

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

这就是特征空间,观测值分布于其中。这里由于咱们只有两个预测变量/特征,全部特征空间是二维的。你会发现两个类别的样本用不一样颜色的点作了标记。我但愿咱们的算法能计算出一条直线/曲线来分离这个类别。可视化

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

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

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

咱们作一个简单的假设,F是全部预测变量的线性组合。

上面的等式也能够写做:

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

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

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

你会发现效果并很差。由于不管你怎么作,逻辑回归方法获得的决策边界老是线性的,并不能获得这里须要的环状边界。所以,逻辑回归适用于处理接近线性可分的分类问题。(虽然能够对变量作变换获得线性可分的结果,但咱们在此不讨论这类状况。)

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

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

咱们能够经过增长树的大小使它生长得更复杂,用愈来愈多的分区来模拟环状边界。

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

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

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

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

注:决策边界并非这么标准的圆形,可是很是接近了(多是多边形)。咱们为了操做简便,就用圆环代替了。

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

相关文章
相关标签/搜索