逻辑回归梯度下降法的推导过程
2017-05-24 17:09
441 查看
逻辑回归代价函数的求导过程推导
逻辑回归的代价函数可以统一写成如下一个等式:
J(θ)=−1m[∑mi=1y(i)log(hθ(x(i)))+(1−y(i))log(1−hθ(x(i)))]J(θ)=−1m[∑i=1my(i)log(hθ(x(i)))+(1−y(i))log(1−hθ(x(i)))]
其中:hθ(x(i))=11+e−θTxhθ(x(i))=11+e−θTx
为了避免求导过程太冗长复杂,我们做一些显示的简化:
J(θ)=−1m[∑mi=1K(θ)]J(θ)=−1m[∑i=1mK(θ)]
其中:
K(θ)=y(i)log(hθ(x(i)))+(1−y(i))log(1−hθ(x(i)))K(θ)=y(i)log(hθ(x(i)))+(1−y(i))log(1−hθ(x(i)))
hθ(x(i))=11+e−θTxhθ(x(i))=11+e−θTx
下面开始我们的推导过程:如果要求J(θ)J(θ)对某一个参数θθ的偏导数,则:
(1)根据求导公式,可以先把常数项−1m∑mi=1−1m∑i=1m提取出来,这样就只需要对求和符号内部的表达式求导,即:
J(θ)′=−1m[∑mi=1K(θ)′]J(θ)′=−1m[∑i=1mK(θ)′]
K(θ)′=(ylog(hθ(x))+(1−y)log(1−hθ(x)))′K(θ)′=(ylog(hθ(x))+(1−y)log(1−hθ(x)))′
(为方便显示,先把右上角表示第i个样本的上标去掉)
(2)根据对数复合求导公式,log(x)′=1xx′log(x)′=1xx′,对K(θ)K(θ)继续求导可得:
K(θ)′=y1hθ(x)hθ(x)′+(1−y)11−hθ(x)(1−hθ(x))′
K(θ)′=y1hθ(x)hθ(x)′+(1−y)11−hθ(x)(1−hθ(x))′
(3)根据幂函数复合求导公式,(yx)′=xyx−1x′(yx)′=xyx−1x′,及以e为底的指数求导公式,对hθ(x)hθ(x)继续求导可得:
hθ(x)′=(11+e−θTx)′=−(1+e−θTx)′(1+e−θTx)2=e−θTx(θTx)′(1+e−θTx)2=(11+e−θTx(1−11+e−θTx))(θTx)′=hθ(x)(1−hθ(x))(θTx)′
hθ(x)′=(11+e−θTx)′=−(1+e−θTx)′(1+e−θTx)2=e−θTx(θTx)′(1+e−θTx)2
=(11+e−θTx(1−11+e−θTx))(θTx)′=hθ(x)(1−hθ(x))(θTx)′
同理,
(1−hθ(x))′=−e−θTx(θTx)′(1+e−θTx)2=−hθ(x)(1−hθ(x))(θTx)′
(1−hθ(x))′=−e−θTx(θTx)′(1+e−θTx)2=−hθ(x)(1−hθ(x))(θTx)′
(4)把步骤3的结果带入步骤2,化简后可得:
K(θ)′=(y−hθ(x))(θTx)′K(θ)′=(y−hθ(x))(θTx)′
再把上面结果带入步骤1,化简后可得:
J(θ)′=1m[∑mi=1(hθ(x)−y)(θTx)′]J(θ)′=1m[∑i=1m(hθ(x)−y)(θTx)′]
最后(θTx)′(θTx)′,对第j个θθ求偏导,结果即XjXj(j表示样本中第几项),得到最终结果:
∂J(θ)∂θj=1m[∑mi=1(hθ(x(i))−y(i))x(i)j]
逻辑回归的代价函数可以统一写成如下一个等式:
J(θ)=−1m[∑mi=1y(i)log(hθ(x(i)))+(1−y(i))log(1−hθ(x(i)))]J(θ)=−1m[∑i=1my(i)log(hθ(x(i)))+(1−y(i))log(1−hθ(x(i)))]
其中:hθ(x(i))=11+e−θTxhθ(x(i))=11+e−θTx
为了避免求导过程太冗长复杂,我们做一些显示的简化:
J(θ)=−1m[∑mi=1K(θ)]J(θ)=−1m[∑i=1mK(θ)]
其中:
K(θ)=y(i)log(hθ(x(i)))+(1−y(i))log(1−hθ(x(i)))K(θ)=y(i)log(hθ(x(i)))+(1−y(i))log(1−hθ(x(i)))
hθ(x(i))=11+e−θTxhθ(x(i))=11+e−θTx
下面开始我们的推导过程:如果要求J(θ)J(θ)对某一个参数θθ的偏导数,则:
(1)根据求导公式,可以先把常数项−1m∑mi=1−1m∑i=1m提取出来,这样就只需要对求和符号内部的表达式求导,即:
J(θ)′=−1m[∑mi=1K(θ)′]J(θ)′=−1m[∑i=1mK(θ)′]
K(θ)′=(ylog(hθ(x))+(1−y)log(1−hθ(x)))′K(θ)′=(ylog(hθ(x))+(1−y)log(1−hθ(x)))′
(为方便显示,先把右上角表示第i个样本的上标去掉)
(2)根据对数复合求导公式,log(x)′=1xx′log(x)′=1xx′,对K(θ)K(θ)继续求导可得:
K(θ)′=y1hθ(x)hθ(x)′+(1−y)11−hθ(x)(1−hθ(x))′
K(θ)′=y1hθ(x)hθ(x)′+(1−y)11−hθ(x)(1−hθ(x))′
(3)根据幂函数复合求导公式,(yx)′=xyx−1x′(yx)′=xyx−1x′,及以e为底的指数求导公式,对hθ(x)hθ(x)继续求导可得:
hθ(x)′=(11+e−θTx)′=−(1+e−θTx)′(1+e−θTx)2=e−θTx(θTx)′(1+e−θTx)2=(11+e−θTx(1−11+e−θTx))(θTx)′=hθ(x)(1−hθ(x))(θTx)′
hθ(x)′=(11+e−θTx)′=−(1+e−θTx)′(1+e−θTx)2=e−θTx(θTx)′(1+e−θTx)2
=(11+e−θTx(1−11+e−θTx))(θTx)′=hθ(x)(1−hθ(x))(θTx)′
同理,
(1−hθ(x))′=−e−θTx(θTx)′(1+e−θTx)2=−hθ(x)(1−hθ(x))(θTx)′
(1−hθ(x))′=−e−θTx(θTx)′(1+e−θTx)2=−hθ(x)(1−hθ(x))(θTx)′
(4)把步骤3的结果带入步骤2,化简后可得:
K(θ)′=(y−hθ(x))(θTx)′K(θ)′=(y−hθ(x))(θTx)′
再把上面结果带入步骤1,化简后可得:
J(θ)′=1m[∑mi=1(hθ(x)−y)(θTx)′]J(θ)′=1m[∑i=1m(hθ(x)−y)(θTx)′]
最后(θTx)′(θTx)′,对第j个θθ求偏导,结果即XjXj(j表示样本中第几项),得到最终结果:
∂J(θ)∂θj=1m[∑mi=1(hθ(x(i))−y(i))x(i)j]
相关文章推荐
- xbgoost svm 逻辑回归 梯度下降等推导过程
- 逻辑斯蒂回归梯度下降法推导
- 逻辑回归梯度下降公式详细推导
- [机器学习]逻辑回归公式推导及其梯度下降法的Python实现
- 梯度下降推导过程资料整理
- 逻辑回归与梯度下降法
- 逻辑斯谛回归(代价函数,梯度下降) logistic regression--cost function and gradient descent
- 三、梯度下降与反向传播(含过程推导及证明)
- 机器学习之梯度下降法数学推导--回归
- 梯度下降求解逻辑回归(Python)
- 梯度下降原理及在线性回归、逻辑回归中的应用
- 信用评分之六--逻辑回归模型梯度下降法跟牛顿法比较
- 斯坦福大学机器学习课程笔记: 逻辑回归以及梯度下降
- 梯度下降 && 线性回归 && 逻辑回归 && softmax
- 1.线性回归的推导--梯度下降法
- 逻辑回归在梯度下降网络中的注意点(随笔)
- 逻辑回归公式推导过程
- Andrew机器学习课程笔记(1)——梯度下降、逻辑回归
- 逻辑回归梯度下降法详解
- 逻辑回归和梯度下降