你真的学懂了线性回归和logistic回归吗?——从指数族分布说起(二)

212 阅读3分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

3. 线性回归与普通最小二乘法(Ordinary Least Squares, OLS)

3.1. 从指数族分布推导出线性回归模型

本章研究的问题场景是:输出变量yy是连续的,同时假设误差ϵ(i)\epsilon^{(i)}(模型预测值和实际值的茶)是独立同分布的,也即ϵ(i)N(0,δ2)\epsilon^{(i)}\sim N(0,\delta^2)。 这个假设也等价于yx;θN(μ,δ2)y|x;\theta\sim N(\mu,\delta^2)。当然,严谨一点的线性回归理论中,并不要求误差一定符合正态分布(一般只假设误差的均值的期望为0),这里不做深入研究。但是我们一般都会假设误差服从正态分布。这个假设的理由如下:

  1. 误差服从正态分布,处理起来方便许多。
  2. 大多数误差经过测量被证实是服从高斯分布的,说明高斯分布对误差假设来说是一种比较合适的模型。
  3. 中心极限定理:许多相互独立的随机因素的影响,如果每个因素所产生的影响都很微小时,总的影响可以看做是服从正态分布的。

结合前面的2.2节可知,当输出量yy服从整体分布时,有y^=δ2η\hat y=\delta^2\cdot\eta;再结合2.4节中的假设3,可以得到y^=δ2(wTx+b)\hat y=\delta^2\cdot(w^Tx+b)。如果令w=δ2w,b=δ2bw'=\delta^2w,b'=\delta^2b,则有y^=wTx+b\hat y=w^Tx+b,这就是线性回归的模型表达式!这也说明了,如果问题是回归问题(yy是连续变量),且误差服从均值为0的正态分布,并且没有其他多余的信息,那么用线性回归来建模是最优的选择。

3.2. 从极大似然估计导出cost function

我们用如下更紧凑的方式来表示线性回归模型:

y(i)=θx(i)+ϵ(i)(3-1)y^{(i)}=\theta x^{(i)}+\epsilon^{(i)}\\ \tag{3-1}

其中x0=1,θ=[w;b]x_0=1,\theta=[w;b]ϵ(i)N(0,δ2)\epsilon^{(i)}\sim N(0,\delta^2)。 用极大似然估计的方法来求取最优的θ\theta。似然函数为:

L(θ)=L(θ;x,y)=p(yx;θ)(3-2)L(\theta)=L(\theta;x,y)=p(y|x;\theta)\\ \tag{3-2}

因为随机误差ϵ(i)\epsilon^{(i)}是相互独立的,因此似然函数可以写成:

L(θ)=i=1mp(y(i)x(i);θ)=i=1m1δ2πexp(12δ2(yμ)2)(3-3)\begin{aligned} L(\theta)&=\prod_{i=1}^{m}p(y^{(i)}|x^{(i)};\theta)\\ &=\prod_{i=1}^{m}{\frac{1}{\delta\sqrt {2\pi}}exp{\left(-\frac{1}{2\delta^2}(y-\mu)^2\right)}}\\ \tag{3-3} \end{aligned}

对数自然函数为:

l(θ)=log L(θ)=mlog1δ2π1δ212i=1m(y(i)θTx(i))2(3-4)\begin{aligned} l(\theta)&=log\ L(\theta)\\ &=mlog{\frac{1}{\delta\sqrt {2\pi}}}-\frac{1}{\delta^2}\cdot\frac{1}{2}\sum_{i=1}^{m}(y^{(i)}-\theta^Tx^{(i)})^2\\ \tag{3-4} \end{aligned}

最大化l(θ)l(\theta)其实也就是等价于最小化如下式子(一般要再除以样本数mm,使cost function的量级不会依赖于样本数):

12mi=1m(y(i)θTx(i))2(3-5)\frac{1}{2m}\sum_{i=1}^{m}(y^{(i)}-\theta^Tx^{(i)})^2\\ \tag{3-5}

这就是线性回归的cost function!。

4. Logistic回归与sigmoid函数

4.1. 从指数族分布推导出logistic回归模型

本章研究的问题场景是二分类场景,也即输出变量yy是离散的且只能取两个不同的值,不妨设为y{0,1}y\in\{0,1\}。很自然地我们可以假设yy服从伯努利分布,假设伯努利分布的均值(也即取值为1的概率)为ϕ\phi,由2.2节和2.3节可知:

y^=E(yx;ϕ)=ϕ=11+eη=11+eθTx(4-1)\hat y=E(y|x;\phi)=\phi=\frac{1}{1+e^{-\eta}}=\frac{1}{1+e^{-\theta^T x}}\\ \tag{4-1}

上式就是logistic回归的模型,用到的就是sigmoid函数。也即,在二分类问题中,假设样本之间是相互独立的,如果没有其他更多信息,用sigmoid函数来对输出值(或者取正例的概率)进行建模是最优的选择。

4.2. 从极大似然估计推导出logistic的cost function

hθ=11+e(θTx)h_\theta=\frac{1}{1+e^{(-\theta^Tx)}},则

P(yx;θ)=(hθ(x))y(1hθ(x))1y(4-2)P(y|x;\theta)=(h_\theta(x))^y(1-h_\theta(x))^{1-y}\\ \tag{4-2}

似然函数为:

L(θ)=P(YX;θ)=i=1mP(y(i)x(i);θ)=i=1m(hθ(x(i)))y(i)(1hθ(x(i)))1y(i)(4-3)\begin{aligned} L(\theta) &=P(\boldsymbol{Y}|\boldsymbol{X};\theta) \\ &=\prod_{i=1}^{m}P(y^{(i)}|x^{(i)};\theta) \\ &=\prod_{i=1}^{m}(h_\theta(x^{(i)}))^{y^{(i)}}(1-h_\theta(x^{(i)}))^{1-y^{(i)}}\\ \tag{4-3} \end{aligned}

对数似然函数为:

l(θ)=logL(θ)=i=1my(i)loghθ(x(i))+(1y(i))log(1hθ(x(i)))(4-4)\begin{aligned} l(\theta) &=\log L(\theta) \\ &=\sum_{i=1}^{m}y^{(i)}\log h_\theta(x^{(i)})+(1-y^{(i)})\log (1-h_\theta(x^{(i)}))\\ \tag{4-4} \end{aligned}

我们的目的是使对数似然函数最大化,因此cost function为如下(一般会再除以样本数mm使cost function的量级不会依赖样本数):

J(θ)=1m[i=1my(i)loghθ(x(i))+(1y(i))log(1hθ(x(i)))](4-5)J(\theta)=-\frac{1}{m}\left[\sum_{i=1}^{m}y^{(i)}\log h_\theta(x^{(i)})+(1-y^{(i)})\log (1-h_\theta(x^{(i)}))\right] \tag{4-5}