逻辑回归 — Logistic Regression

逻辑回归通式定义如下:

{p(zi)=11+ezizi=θTxi

要想理解逻辑回归,我们需要看一下函数 p 的图像,如下图:


logistic_func

由图可知,在 zR 的定义域中,函数 p z 映射到 (0,1) 的值域中,其中 z=0 时, p(z)=0.5 。一种常见的对这个图的解释是 p(xi;θ)=11+eθTxi 是事件 xi 发生的概率。

事件 xi 发生与否其实也就是一个二分类问题。我们可以用标签 yi=1 表示事件 xi 发生,标签 yi=0 表示事件 xi 不发生。用函数 p(x;θ) 表示事件 x 发生的概率 Pr(Y=1|X=x) 。因此,事件 x 不发生的概率 Pr(Y=0|X=x) 1p(x;θ) 。我们可以用一个式子表示如上两种情况:

Pr(Y=yi|X=xi)=p(xi;θ)yi(1p(xi;θ))1yi

从现在开始,我们应该对逻辑回归有了初步的认识。逻辑回归是一个分类算法,而非回归算法。本文主要分析其在二分类问题中的应用。逻辑回归以概率的方式来对数据进行分类。例如,设置阈值为 0.5 ,如果 Pr(Y=1|X=xi)0.5 ,则将数据 xi 标记为类 1 ,否则将其标记为类 0 p(xi;θ)=0.5 其实就是一个超平面,平面之上的点组成 yi=1 的集合,平面之下的点组成 yi=0 的集合。总结一下我们的问题:已知 xi yi ,求函数 p(xi;θ) 中的 θ 的取值。

首先,我先给出此问题的似然函数:

i=1mPr(Y=yi|X=xi)

为了理解这个最大似然估计函数,我们考虑一个简单的、却类似的问题。假设一个袋子里有若干颗白球和黑球,在10次有放回的抽取中,我抽到了8次黑球,2次白球。如何求袋子中黑白球的比例呢?我们可以利用最大似然估计:假设我抽取到黑球的概率为 p ,那么我这次抽取得到8次黑球、2次白球的概率为:
P=p8(1p)2

我们用使这次抽取结果发生的概率 P 最大化的 p̂  值去近似替代实际的 p 值。

同样的道理,回到逻辑回归的问题中。我们要目前已知的标签集合 Y 发生的概率最大化,求该情况下的 θ 的取值。因此:

L(θ)=i=1mPr(Y=yi|X=xi)=i=1mp(xi;θ)yi(1p(xi;θ))1yi

对数似然函数为:
l(θ)=log(L(θ))=i=1mlog[p(xi;θ)yi(1p(xi;θ))1yi]=i=1m[yilogp(xi)+(1yi)log(1p(xi))]=i=1m[log(1p(xi))+yi(logp(xi)log(1p(xi)))]=i=1m[log(1p(xi))+yilogp(xi)1p(xi)]=i=1m[log(111+eθTxi)+yilog(1+eθTxi)11(1+eθTxi)1]=i=1m[logeθTxi1+eθTxi+yilog1(1+eθTxi)1]=i=1m[log1eθTxi+1+yilogeθTxi]=i=1mlog(eθTxi+1)+i=1myiθTxi

l(θ) θj 的偏导数:

l(θ)θj=θj[i=1mlog(eθTxi+1)+i=1myiθTxi]=i=1meθTxixji1+eθTxi+i=1myixji=i=1m[yieθTxi1+eθTxi]xji=i=1m[yi11+eθTxi]xji=i=1m[yip(xi;θ)]xji

最后,通过梯度上升求 l(θ) 最大化时 θ 的近似解:
θj:=θj+αl(θ)θj

将上式写成向量形式,即: θ=θ+αl(θ)

猜你喜欢

转载自blog.csdn.net/u012841922/article/details/78738730