Logistic Regression逻辑回归原理及推导

逻辑回归算法,虽说名字有回归,实则是一个分类模型,而且是二分类。
Logistic本质上是一个基于条件概率的判别模型(Discriminative Model)
g(z) = 11+ez
这里写图片描述

通过这个图像sigma函数,通常以0.5为分界,大于0.5为正样本,反之为负样本,是一个二分类的方法。
那么将这个函数扩展到多维空间,就是说不只是二分类,而是多分类问题,那么原始的函数
g(z) = 11+ez (二分类)

就要变成

hθ(x)=g(θTx)=11+eθTx (多分类)
现在需要解决的一个问题是求θ ,如何得到合适的参数向量θ
根据sigma函数的特性,我们可以这样假设一下:
P(y=1|x;θ)=hθ(x) (根据当前的参数,提供样本x,该样本属于y=1的概率)
P(y=0|x;θ)=1hθ(x)
上两式为已知样本X和参数θ 的前提下,样本X属于正样本(y = 1) 负样本 (y = 0)的条件概率

然后将以上两个公式进行合并

P(y|x;θ)=(hθ(x))y(1hθ(x))1y
这个公式也就是对二分类综合的公式,能分别求出属于正样本、负样本的概率

此时会用到最大似然估计的知识。最大似然估计的目的是:利用已知的样本结果,反推最有可能(最大概率)导致这样结果的参数值。

既然概率出来了,那么最大似然估计也该使用了。假定样本与样本之间相互独立,那么整个样本集生成的概率即为所有样本生成概率的乘积:

L(θ)=p(y|X;θ)=i=1m(hθ(x(i)))y(i)(1hθ(x(i)))1y(i)

为了简化问题,我们对整个表达式求对数(将指数问题对数化是处理数学问题常见的方法):

l(θ)=log L(θ)=i=1mlog h(x(i))+(1y(i))log(1h(x(i)))

满足似然函数(θ) 的最大的θ 值即是我们需要求解的模型。

梯度上升算法
Xi+1=Xi+αf(Xi)Xi

其中,α 为步长。
回到Logistic Regression问题,我们同样对函数求偏导。
θjl(θ)=(y1g(θTx)(1y)11g(θTx))θjg(θTx)=(y1g(θTx)(1y)11g(θTx))g(θTx)(1g(θTx))θjθTx=(y(1g(θTx))(1y)g(θTx))xj=(yhθ(x))xj

对以上公式的详细过程:

θjl(θ)=l(θ)g(θTx)g(θTx)θTxθTxθj

其中:

l(θ)=ylog g(θTx)+(1y)log(1g(θTx))
l(θ)g(θTx)=y1g(θTx)+(1y)11g(θTx)(1)

z=θTx

g(z)=ddz11+ez=1(1+ez)2(ez)=1(1+ez)(11(1+ez))=g(z)(1g(z))

可得:

g(θTx)θTx=g(θTx)(1g(θTx))

接下来就剩下第三部分:
θTxθj=(θ1x1+θ2x2+...+θmxm)θj=xj

(这个公式应该很容易理解,简单的偏导公式,只有第j项进行计算)

再有就是:

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

综合第三部分即得到:
θjl(θ)=(yhθ(x))xj

因此,梯度迭代公式为:
θj:=θj+α(y(i)hθ(x(i)))xj(i)

本篇文章参考了http://www.cnblogs.com/bonelee/p/7253508.html,并对齐进行了整理,思路更清晰直观。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章