吴恩达深度学习 —— 2.9 逻辑回归中的梯度下降法

这一节讨论怎么计算偏导数来实现逻辑回归的梯度下降法,它的核心关键点是其中有几个重要法公式用于实现逻辑回归的梯度下降法。

这里将使用导数流程图来计算梯度,必须承认,用导数流程图来计算逻辑回归的梯度下降有点大材小用了。但以这种方式来讲解可以更好地理解梯度下降,从而在讨论神经网络时,可以更深刻全面地理解神经网络。

回想一下逻辑回归的公式,如下图所示,现在只考虑单个样本的损失函数,现在写出该样本的偏导数流程图,假设样本只有两个特征,分别为 x 1 x_1 x1 x 2 x_2 x2,为了计算z,我们需要输入参数 w 1 w_1 w1 w 2 w_2 w2和b,还有样本特征值 x 1 x_1 x1 x 2 x_2 x2,用这些值来计算z。z的计算公式为 z = w 1 ∗ x 1 + w 2 ∗ x 2 + b z = w_1*x_1+w_2*x_2+b z=w1x1+w2x2+b,然后计算 y ^ \hat {y} y^,即 a = s i g m a ( z ) a=sigma(z) a=sigma(z),也就是偏导数流程图的下一步,最后计算 L o s s ( a , y ) Loss(a,y) Loss(a,y)
在这里插入图片描述

因此在逻辑回归中,需要做的是变换参数w和b的值,来最小化损失函数。在前面我们已经将前向传播步骤在单个训练样本上计算损失函数。
在这里插入图片描述

现在讨论怎么向后计算偏导数,以下是整洁版本的图,要想计算损失函数L的导数,首先要向前一步,计算损失函数的导数,即 d L o s s ( a , y ) d a \frac{dLoss(a,y)}{da} dadLoss(a,y)。在代码中只需要用da来表示这个变量,即 d a = d L o s s ( a , y ) d a = − y a + 1 − y 1 − a da = \frac{dLoss(a,y)}{da}=-\frac{y}{a}+\frac{1-y}{1-a} da=dadLoss(a,y)=ay+1a1y。损失函数导数的计算公式就是这样,如果你熟悉微积分,你计算的关于变量a的导数就是这个式子。
在这里插入图片描述

现在计算出 d a da da,最终结果关于变量a的导数,现在可以再往后一步,计算 d z dz dz d z dz dz是代码中的变量名, d z dz dz是损失函数关于z的导数, d z = d L d z = d L d a ∗ d a d z = a − y dz=\frac{dL}{dz}=\frac{dL}{da}*\frac{da}{dz}=a-y dz=dzdL=dadLdzda=ay。因为 d L d a = − y a + 1 − y 1 − a \frac{dL}{da}=-\frac{y}{a}+\frac{1-y}{1-a} dadL=ay+1a1y,同时 d a d z = a ( 1 − a ) \frac{da}{dz}=a(1-a) dzda=a(1a),所以 d z = a − y dz=a-y dz=ay

现在是向后传播的最后一步,看看w和b需要如何变化。特别地,关于 w 1 w_1 w1的导数 d w 1 = d L d w 1 = x 1 ∗ d z dw_1=\frac{dL}{dw_1}=x_1*dz dw1=dw1dL=x1dz,同理有 d w 2 = x 2 ∗ d z dw_2=x_2*dz dw2=x2dz d b = d z db = dz db=dz

因此关于单个样本的梯度下降法所需要做的就是这些事情。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值