广义线性模型和逻辑回归的公式推导

广义线性模型

回顾之前我们介绍的一元和多元线性回归,其最终目标都是寻找一个权值向量 w 和常数偏置 b, 使每个样本数据 (x,y) 中的 x 代入二者所确立的模型

(1)y^=wTx+b

中所得到的模型预测值 y^ 与真实值 y 能够尽可能地接近。这里因变量 y 与自变量 x 中的每一维都是线性关系,而在现实问题中,绝大多数问题并非简单的线性情况,那么如果 y衍生 可以满足与自变量的线性关系,例如取对数以后

(2)lny=wTx+b

我们把对数函数这类的函数称为 联系函数 ,其作用是:把真实标记 y 转换成为其对应特征的线性回归值。从形式上看式 (2) 仍是线性回归,但本质已经转变成了寻找从输入空间到输出空间的非线性映射关系

更加一般地形式化表示,我们寻找一个单调可微的联系函数 f() 令其满足

(3)y=f1(wTx+b)

即联系函数的 反函数的功能 在于把输入空间的线性回归值映射到输出空间上。式(3)我们就称之为“广义线性模型”。

逻辑回归(Logistic Regression)

目标

首先就这一算法的名称作一点解释。Logistic Regression 中文译作“逻辑回归”应是字面直译,Logistic在此处是指“取对数”的含义,与中文语境下的“逻辑”一词含义相去甚远,周志华教授在《机器学习》p56 作了详细说明。但大多数文献资料习惯于使用“逻辑回归”这一译法,本文后续阐述中为避免矛盾,直接采用英文原名。此外,模型名称虽有“回归”字样,但本质是分类算法。

对于二分类任务,样本数据 (x,y),y{0,1},记其自变量的线性回归值为

(4)z=wTx+b

这里只需要找到一个联系函数,其反函数可以将线性回归值 z 转换为 0/ 1 即可

Sigmoid函数

考察Sigmoid函数

(5)g(z)=11+ez

其定义域 zR ,值域 g(z)(0,1) ,函数图像如下图
广义线性模型和逻辑回归的公式推导
不难发现这个函数在 z=0 的邻域内变化很快,而在这个邻域之外尤其是在正负无穷处的变化平缓,如果我们令

(6) y={0,g(z)0.5z01,g(z)>0.5z>0

则式(5)起到了“把输入空间的线性回归值映射到输出空间上”的作用,所以式(5)就是我们广义线性模型 一节最后提到的要寻找的联系函数的反函数,即

(7)f1(y)=g(z)

根据函数与反函数的定义,我们可以得到以下两组等式:

f(y)=z=g1(z)g(z)=y=f1(y)

故以下推导得以进行:
(8)f(y)=z(9)=lng(z)1g(z)(10)=lny1y

式(8)到式(9)就是将式(5)中的表示方式换一下,用 g(z) 来表示 z,详细过程如下
g(z)=11+ez1+ez=1g(z)1ez=1g(z)g(z)ez=g(z)1g(z)z=lnez=lng(z)1g(z)

对数几率函数

在概率学中,一个事件的几率(odds)是指该事件发生概率不发生概率比值,如果一个事件的发生概率为 p 那么该事件的几率就是 p1p ,其几率的对数我们称之为对数几率(log odds)或logit函数

(11)logit(p)=lnp1p

若将 y 视作样本 x 类别标记为 1 的可能性,则 1y 是其类别标记为 0 的可能性,由式(4)(10)(11)可得:
logit(P(y=1|x))=lnP(y=1|x)1P(y=1|x)=z=wTx+b

即说明输出 y=1 的对数几率是输入 x 的线性函数,这就是Logistic Regression,倒回去结合式(6)就是我们最常见的Logistic Regression一般表达形式。

下一篇准备啃一块硬骨头,SVM的公式推导,FIGHTING!

参考文献:

周志华.机器学习[M].北京:清华大学出版社,2016:57-60.
李航.统计学习方法[M].北京:清华大学出版社,2012:97-103.