首页 > 编程笔记

深入理解逻辑回归算法

不同于线性回归算法,逻辑回归算法的假设模型为:
逻辑回归算法

可以看到逻辑回归算法和线性回归算法的不同点,首先,逻辑回归算法有 0≤hθ(x)≤1 的限制,这是和分类问题相对应的,比如在二分类的问题中,我们规定了用 1 表示正向的类别,用 0 表示负向的类别。这就是 0≤hθ(x)≤1 限制的由来。

其次,逻辑回归算法的模型是 hθ(x)=g(θTx),而不是 hθ(x)=θTx 。使用
逻辑函数
函数,将一个回归问题转换成了分类问题。

直线分类器与逻辑回归结合

在上一节,我们知道可以用一点与直线的关系来对点进行分类,在直线上方是一类,在直线下方是一类。但是我们无法衡量一个点大于或小于直线的程度,而 Sigmoid 函数正好解决了这个问题,如图 1 所示。

直线与Sigmoid函数
图1:直线与Sigmoid函数

图 1 中左图是我们分隔数据的平面,右图是判断数据属于哪个分类的 Sigmoid 函数图。

现在有一点(1,1),我们经过计算可得

x0+x1=1+1=2

将结果 1 代入 Sigmoid 函数,令 z=x0+x1,则
逻辑回归

所以点 (1,1) 属于第一类(上方类),如图 2 所示:

逻辑回归
图2:点(1,1)属于第一类
 
让我们看一下逻辑回归的详细过程。首先,在平面中有直线 x0+x1=0 和一点 (1,1),如图 3 所示。


图3:坐标系中一条直线和一个点(1,1)
该点到直线的距离(即图 4 中的虚线所示)为

z=x0+x1=1+1=2

点与直线的距离
图4:点与直线的距离
然后我们将这个距离 2 输入到 Sigmoid 函数中
逻辑回归函数
 
结果如图 5 所示。

将距离2代入Sigmoid函数
图5:将距离 2 代入 Sigmoid 函数

所以逻辑回归的流程如下。 

优秀文章