当前位置:   article > 正文

【学习笔记】斯坦福大学公开课(机器学习) 之逻辑斯蒂回归

【学习笔记】斯坦福大学公开课(机器学习) 之逻辑斯蒂回归

如果在遇到一些分类问题,用回归算法来做预测时,我们会发现这些算法得出的模型会不尽人意。甚至在一些很明显的情况下,函数值不会比1大或者比0小,即目标值y{0,1}
针对这种情况,我们改变假设函数hθ(x),把假设函数写成如下模型:

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

其中
g(z)=11+ez

被称为逻辑斯蒂函数。这个函数作图如下:
逻辑斯蒂函数
从图形可以看出,当自变量 z趋于无穷大时,函数值趋近1,反之,当自变量z趋于无穷小时,函数值趋于0。所以函数值是一直在0和1之间徘徊。
再介绍一个逻辑斯蒂函数导数的性质。
g(z)=ddz11+ez=1(1+ez)2(ez)=11+ez(11(1+ez))=g(z)(1g(z))

我们得到了逻辑斯蒂函数模型,我们如何来求 θ?跟之前的推导一样,我们用最大似然估计来求导 θ的值。
我们设定
P(y=1|x;θ)=hθ(x)P(y=0|x;θ)=1hθx

这两个式子可以写成更简洁的形式:
p(y|x;θ)=(hθ(x))y(1hθ(x))1y

我们假设有m个样本,他们之间都是独立的,我们就可以把最大似然函数写为如下:
L(θ)=p(y|X;θ)=i=1mp(y(i)|x(i);θ)=i=1m(hθ(x(i)))y(i)(1hθ(x(i)))1y(i)

我们为了方便求得最大似然值,我们对这个式子求对数:
l(θ)=logL(θ)=i=1my(i)loghθ(x(i))+(1y(i))log(1hθ(x(i)))

我们怎样才能得到最大值,我们用 梯度上升的方法,对参数 θ进行迭代,使得值达到最大,即 θ:=θ+αθl(θ),其中 α是学习率。
接下来,我们需要求 l(θ)的梯度:
θ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

上面的推导过程运用了逻辑斯蒂回归求导公式, g(z)=g(z)(1g(z))
把求导的结果代入梯度上升公式:
θ:=θj+α((y(i)hθ(x(i)))xj(i))

到这里就得到我们迭代过程中更新 θ参数的式子。这个式子与线性回归的式子很相似,不同的是假设函数 hθ(x(i)),一个是线性回归模型,一个是逻辑斯蒂回归模型。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/290566
推荐阅读
相关标签
  

闽ICP备14008679号