在学习完 Andrew Ng 教授的机器学习课程,和多方查阅大神的博客,本以为很简单的逻辑回归,在深思其细节的时候,很多容易让人不理解,甚至是疑惑的地方,这几天一直冥想其中的缘由。
1、 为什么是逻辑回归?
都说线性回归用来做回归预测,逻辑回归用于做二分类,一个是解决回归问题,一个用于解决分类问题。但很多人问起逻辑回归和线性回归的区别,很多人会大喊一声(也可能是三声):逻辑回归就是对线性回归做了一个压缩,将y 的阈值从
y∈(+∞,−∞)
压缩到
(0,1)
。那么问题来了,问什么仅仅做一个简单的压缩,就将回归问题变成了分类问题?里面蕴含着本质?
首先要从数据说起,线性回归的样本的输出,都是连续值,
y∈(+∞,−∞)
而,逻辑回归中
y∈{0,1}
,只能取0和1。对于拟合函数也有本质上的差别:
线性回归:
f(x)=θTX=θ1x1+θ2x2+⋯+θnxn
逻辑回归:
f(x)=p(y=1∣x;θ)=g(θTX)
,其中,
g(z)=11+e−z
可以看出,线性回归的拟合函数,的确是对f(x)的输出变量y的拟合,而逻辑回归的拟合函数是对为1类的样本的概率的拟合。
2、那么,为什么要以1类样本的概率进行拟合呢,为什么可以这样拟合呢?
首先,logstic 函数的本质说起。若要直接通过回归的方法去预测二分类问题, y 到底是0类还是1类,最好的函数是单位阶跃函数。然而单位阶跃函数不连续(GLM 的必要条件),而 logsitic 函数恰好接近于单位阶跃函数,且单调可微。于是希望通过该复合函数去拟合分类问题:
于是有:
发现如果我们假设 y=p(y为1类∣x;θ) 作为我们的拟合函数,等号左边的表达式的数学意义就是1类和0类的对数几率(log odds)。这个表达式的意思就是:用线性模型的预测结果去逼近1类和0类的几率比。于是, θTX=0 就相当于是1类和0类的决策边界:
当 θTX>0 ,则有 y>0.5 ;若 θTX→+∞ ,则 y→1 ,即y 为1类;
当 θTX<0 ,则有 y<0.5 ; 若 θTX→−∞ ,则 y→0 ,即 y 为0类。
这个时候就能看出区别来了,在线性回归中 θTX 为预测值的拟合函数;而在逻辑回归中 θTX=0 为决策边界。