逻辑回归原理及推导过程

来源:互联网 发布:ask软件 编辑:程序博客网 时间:2024/06/05 07:49

这篇文章将详细地讲解逻辑回归的推导过程。
原理:
逻辑回归处理的是分类问题,具体来说,是处理二分类问题。为了实现逻辑回归分类器,我们可以在线性回归的基础上(即每个特征乘以一个回归系数后相加),添加一个sigmoid函数,进而得到一个范围在0-1之间的数值。任何大于0.5的数据会被分入1类,小于0.5即被分入0类。至于为什么要用sigmoid函数,简单来说,是为了将标签归到[0,1]的范围内;深层原因,sigmoid函数的使用是由指数分布族决定的,具体内容会在下一篇博客中做详细讲解。
详细推导:
根据以上描述,我们可以得到预测值hθ(x) :

hθ(x)=g(θTx)=11+eθTx

其中g(z)=11+ez 即为sigmoid函数。
以上二分类问题满足伯努利分布(Bernoulli distribution),即:
p(y=1|x;θ)=hθ(x)p(y=0|x;θ)=1hθ(x)

因此:
p(y|x;θ)=hθ(x)y(1hθ(x))1y

假设样本之间是相互独立的,即似然函数如下:
L(θ)===p(Y|X;θ)i=1mp(y(i)|x(i);θ)(hθ(x(i)))y(i)(1hθ(x(i)))1y(i)

对数似然函数:
l(θ)===logL(θ)i=1mlog(hθ(x(i)))y(i)(1hθ(x(i)))1y(i)i=1m(y(i)log(hθ(x(i)))+(1y(i))log(1hθ(x(i))))

为了方便理解,我们先对每一个样本进行分析,首先,对参数求导:
l(θ)θj===y(i)hθ(x(i))hθ(x(i))θj+1y(i)1hθ(x(i))(hθ(x(i))θj)y(i)(1hθ(x(i)))(1y(i))hθ(x(i))hθ(x(i))(1hθ(x(i)))hθ(x(i))θjy(i)hθ(x(i))hθ(x(i))(1hθ(x(i)))hθ(x(i))θj

其中hθ(x)=11+eθTx ,为了简化显示,这里省略x的上标i,所以:
hθ(x)θj=====(1+eθTx)2eθTx(x)eθTx(1+eθTx)2x1+eθTx1(1+eθTx)2x(1(1+eθTx)1(1+eθTx)2)xhθ(x)(1hθ(x))x

因此:
l(θ)θj===y(i)hθ(x(i))hθ(x(i))(1hθ(x(i)))hθ(x(i))θjy(i)hθ(x(i))hθ(x(i))(1hθ(x(i)))hθ(x(i))(1hθ(x(i)))x(i)(y(i)hθ(x(i)))x(i)

我们是要求使得似然函数最大时的θ ,所以使用梯度上升法:
θj=θj+(y(i)hθ(x(i)))x(i)   (for every j)

得到优化后的θ ,代入hθ(x)=11+eθTx ,以0.5为阈值进行分类。

原创粉丝点击