您的位置:首页 > 其它

【机器学习】逻辑回归(Linear Regression)模型推导

2017-11-01 16:29 651 查看
LR中文翻译作逻辑斯蒂回归,用于二分类。为什么回归和分类搅在一起了呢。因为可以这样想:线性回归 y=θTx 得到的结果是一个实数。如果我们将这个结果“压缩”到 [0,1] 之间,那么就可以表示概率接近1的程度,进而可以用来二分类。

最简单的“压缩”可以是单位阶跃函数:



但单位阶跃函数是不连续的,在求导的过程中会产生问题。所以,我们用sigmoid函数来近似单位阶跃函数:

σ(x)=11+e−x



可以看到,在0附近其函数值变化较快。

从而我们得到:

样本 xi 属于1的概率:

hθ(xi)=p(yi=1|xi)=σ(θTxi)=11+e−θTxi

样本 xi 属于0的概率:

p(yi=0|xi)=1−σ(θTxi)=e−θTxi1+e−θTxi

将两式合并:

p(y|x)=(hθ(x))y(1−hθ(x))1−y

对所有样本取最大似然:

L(θ)=∏i=1mp(yi|xi)

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

取对数得:

l(θ)=logL(θ)=log∏i=1mp(yi|xi)=∑i=1mlogp(yi|xi)=∑i=1mlog[(hθ(xi))yi(1−hθ(xi))1−yi]=∑i=1m[yilog(hθ(xi))+(1−yi)log(1−hθ(xi))]=∑i=1m[yilog(g(θTxi))+(1−yi)log(1−g(θTxi))]

sigmoid函数导数形式为: σ′(x)=σ(x)(1−σ(x))

参数第 j 个分量的梯度:

∂l(θ)∂θj=∑i=1m[yi1g∂g∂θj−(1−yi)11−g∂g∂θj]=∑i=1m[yi1gg′∂(θTxi)∂θj−(1−yi)11−gg′∂(θTxi)∂θj]=∑i=1m[yi1gg(1−g)xji−(1−yi)11−gg(1−g)xji]=∑i=1m(yi−g(θTxi))xji

由于要求最大似然,所以用梯度上升法:

θjk+1=θjk+η∑i=1m(yi−g(θTkxi))xji
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐