对逻辑回归损失函数进行求导

如果我们基于逻辑回归的损失函数做GD梯度下降,那么就要求梯度,而我们知道求梯度是loss损失函数对theta求偏导。

1.首先先对逻辑回归函数求导(后面对loss求偏导会用到)

g(z)= \frac{1}{1+e^{-z}}

g{}'(z) = \frac{\partial }{\partial z}\frac{1}{1+e^{-z}} = -\frac{1}{(1+e^{-z})^{2}} *(1+e^{-z}){}'     

(1+e^{^{-z}}){}'=(e^{-z}){}'=(e^{-z})(-z){}'=(e^{-z})(-1)          

=\frac{1}{(1+e^{-z})^{2}}(e^{-z})

=\frac{1}{1+e^{-z}}*\frac{e^{-z}}{1+e^{-z}}= \frac{1}{1+e^{-z}}* (\frac{1+e^{-z}}{1+e^{-z}}- \frac{1}{1+e^{-z}})= \frac{1}{1+e^{-z}}*(1- \frac{1}{(1+e^{-z})})

=g(z)(1-g(z))

2.逻辑回归损失函数

 j(\theta ) = -\frac{1}{m}\sum_{i=1}[^{m}y^{(i)}logh(x^{(i)})+(1-y^{(i)})log(1-h(x^{(i)}))]

可以将上式看成两部分分别求到再相加

(y_{i}logh_{\theta }x){}'=y_{i}(logh_{\theta }x){}'=y_{i}\cdot \frac{1}{h_{\theta }x_{i}}\cdot (h_{\theta }x_{i}){}'

 ((1-y_{i})\cdot log(1-h_{\theta }x_{i})){}'=(1-y_{i})\cdot \frac{1}{1-h_{\theta }x_{i}}\cdot (1-h_{\theta }x_{i}){}'=(1-y_{i})\cdot \frac{1}{1-h_{\theta }x_{i}}\cdot (-1)\cdot (h_{\theta }x_{i}){}'

对逻辑回归损失函数进行求导_第1张图片

 

这里我们发现导函数的形式和多元线性回归一样,毕竟都是从广义线性回归来的嘛。

这样就可以用上面推导的公式求出梯度g

进而运用梯度下降公式反复迭代减小损失。

 

                               

你可能感兴趣的:(逻辑回归,机器学习,逻辑回归,算法,机器学习)