首页 > 编程笔记

逻辑回归是什么?

机器学习中有三大问题,分别是回归、分类和聚类。线性回归属于回归问题,而逻辑回归属于分类问题。虽然线性回归算法和逻辑回归算法都有回归一词,但是二者的理论内容是截然不同的。前者解决回归问题,后者解决分类问题,所以不要因为逻辑回归算法中的“回归”一词就把逻辑回归算法当成解决回归问题的算法。

1. 理解逻辑回归

逻辑回归算法主要应用于分类问题,比如垃圾邮件的分类(是垃圾邮件或不是垃圾邮件),或者肿瘤的判断(是恶性肿瘤或不是恶性肿瘤)。在二分类的问题中,我们经常用 1 表示正向的类别,用 0 或 -1 表示负向的类别。

虽然线性回归和逻辑回归解决的是截然不同的问题,但是如果深究算法的本质,它们还是有很多共通的地方,比如它们都是通过梯度下降的方法寻找最优的拟合模型。但是,线性回归拟合的目标是尽量让数据点落在直线上,而逻辑回归的目标则是尽量将不同类别的点落在直线的两侧。下面我们通过直线分割平面完成一个分类器,来进一步认识逻辑回归。

2. 逻辑回归分类器

在平面中有直线

x0+x1=0

该直线将平面分割成了两个部分,一个是直线上方的部分,另一个是直线下方的部分。x0 代表了我们通常意义上的 x 轴,而 x1 则代表了 y 轴,如图 1 所示。

直线x0+x1=0
图1:直线x0+x1=0

为什么要用 x0、x1 来替换 x、y 呢?因为我们一般用 y 值代表最终的目标变量。在分类问题中,特别是二分类问题中,目标变量可能是 0 或 1,在坐标系中我们可以用不同的形状来表示。而使用 x0、x1 则表示两个因变量。

如图 2 所示,直线上方的部分可以表示为 x0+x1≥0。


图2:直线上方部分x0+x1≥0
 

分割后,我们就可以判断一个点是在直线上方,还是在直线下方了。例如,有一点 (2,-1),将其代入方程可得

x0+x1=2-1=1>0

说明该点在直线的上方,如图 3 所示。

点(2,-1)在直线上方
图3:点(2,-1)在直线上方
同样地,我们还可以观察直线下方,如图 4 所示。

x0+x1<0
图4:x0+x1<0
 
同样有一点 (-2,1),将其代入方程可得  x0+x1=-2+1=-1<0 说明该点在直线的下方,如图 5 所示。

点(-2,1)在直线下方
图5:点(-2,1)在直线下方
 
其实这条直线就是一个简单的分类器,分类算法模型的原理就是这样。例如,现在有两类点,第 1 类是圆形,第 2 类是三角形,如图 6 所示。


图6:平面内一些点
 
我们可以用直线 x0+x1=0 将其分开,其中圆形的点在直线上方,代入直线方程结果大于 0;而三角形的点在直线下方,代入直线方程结果小于 0,如图 7 所示。

用直线将两类点分开
图7:用直线将两类点分开
 
这样,就完成了一个简单的分类器。 我们已经明白了分类器的原理,但是如何使用算法找到这样的直线呢?这就在线性回归算法的基础上,再作用一个逻辑函数,在下一节就将介绍,如何将一个线性回归问题转换为逻辑回归问题。

优秀文章