大数据,机器学习,人工智能人工智能/模式识别/机器学习精华专题机器学习与数据挖掘

logistic回归

2018-12-22  本文已影响0人  leotmc

logistic regression的hypothesis为:
h_{\theta} (x^{(i)})=y^{(i)}=\frac{1}{1+{exp}^{- \theta^Tx^{(i)}}}
从上式的logistic函数可知y^{(i)}的取值在0\sim1之间,因此可以假设h_{\theta}(x^{(i)})y^{(i)}取某个值时的概率分布,即:
\begin{split} p(y^{(i)}=1|x^{(i)};\theta) = h_{\theta}(x^{(i)})\\ p(y^{(i)}=0|x^{(i)};\theta) = 1-h_{\theta}(x^{(i)}) \end{split}
即:
p(y^{(i)}|x^{(i)};\theta) = {h_{\theta} (x^{(i)})}^{y^{(i)}} {\bigl(1-h_{\theta}(x^{(i)})\bigr)}^{1-y^{(i)}}
m个样本的似然函数为:
L(\theta) = \prod_{i=1}^{m}p(y^{(i)}|x^{(i)}; \theta)
对似然函数取对数可得:
\begin{align} l(\theta) &= log\bigl(L(\theta)\bigr) = \sum_{i=1}^{m}log\bigl(p(y^{(i)}|x^{(i)}; \theta)\bigr)\\ &= \sum_{i=1}^{m}log\biggl({h_{\theta}(x^{(i)})}^{y^{(i)}} {\bigl(1-h_{\theta}(x^{(i)})\bigr)}^{1-y^{(i)}}\biggr)\\ &= \sum_{i=1}^{m}y^{(i)}log\bigl(h_{\theta}(x^{(i)})\bigr) + \bigl(1-y^{(i)}\bigr)log\bigl(1-h_{\theta}(x^{(i)})\bigr) \end{align}
最大化对数似然函数,求对数似然函数对\theta的导数,即求\frac{\partial{l(\theta)}}{\partial{\theta}}
对于一般的logistic函数g(z)=\frac{1}{1+{exp}^{-z}}对其求导可得:
g'(z) = g(z)\cdot\bigl(1-g(z)\bigr)
因此:
\begin{align} \frac{\partial{l(\theta)}}{\partial{\theta}} &= \sum_{i=1}^{m}y^{(i)}\frac{1}{h_{\theta}\bigl(x^{(i)}\bigr)} h_{\theta}\bigl(x^{(i)}\bigr)\biggl(1-h_{\theta}\bigl(x^{(i)}\bigr)\biggr){x^{(i)}}^T \\ &+ \sum_{i=1}^{m}\bigl(1-y^{(i)}\bigr)\frac{-1}{1-h_{\theta}(x^{(i)})}h_{\theta}\bigl(x^{(i)}\bigr)\biggl(1-h_{\theta}\bigl(x^{(i)}\bigr)\biggr){x^{(i)}}^T\\ &= \sum_{i=1}^{m} \biggl(y^{(i)}-h_{\theta}(x^{i})\biggr)\cdot{x^{(i)}}^T \end{align}
\theta进行梯度更新,可得:
\theta:=\theta+\alpha\cdot \sum_{i=1}^{m} \biggl(y^{(i)}-h_{\theta}(x^{i})\biggr)\cdot{{x^{(i)}}^T}
注意:因为是最大化似然函数,所以使用梯度更新的时候是相加而非相减。\alpha为学习率。对比一下最小二乘拟合,可以发现,两者的梯度更新非常相像,不同点在于logistic regression是要最大化似然函数,所以采用了梯度上升的策略,而最小二乘采用的是最小化均方误差损失函数,所以采用了梯度下降的策略进行梯度更新。

上一篇下一篇

猜你喜欢

热点阅读