您的位置:首页 > 其它

1.2.2 Logistic回归和梯度下降计算的数学流程

2018-03-10 12:37 302 查看

计算图

可以说,一个神经网络的计算都是按照前向或者反向传播过程来实现的,首先计算出神经网络的输出,紧接着一个反向传播的操作。后者,我们用来计算出对应的梯度或者导数。这个流程图解释了为什么用这样的方式来实现。

我们举一个更为简单的函数为例,如何计算该函数。具体流程如下:



流程图是用蓝色箭头画出来的,从左到右的计算过程。那么红色箭头是从右到左的导数计算过程。

计算图的导数计算

反向传播算法的实质实际上就是用微积分的链式法则求导的过程。



比如说我们算dJ/da的大小,就用链式法则反过来算一下。

logistic回归的梯度下降法

这一部分将介绍如何用导数流程图来计算梯度。

我们回忆一下逻辑回归公式,注意这里的a是预测值的意思等于y(i)



整个计算流程如图



想要计算损失函数L的导数,要逐步返回计算前面各项的导数。



如图所示,我们先用反向传播方法求出各个导数值(对于单个变量的就是这么算),然后使用梯度算法,更新

w=w−αdw1

我们从这个公式可以看出,dw1是我们用反向传播求出来的,这是只是增加了一个学习率α

m个样本的梯度下降

之前我们介绍了如何将梯度回归应用到Logistic回归的一个训练样本上,现在我们想要把他们应用到m个训练样本上。

首先,我们要明确成本函数J(w,b),期望使得成本函数达到最小的值。



如图所示,我们这里要做的就是使用之前的链式法则求出相应的导数值,做差,然后求平均。这就是Logistic回归和梯度下降算法。

整个计算的编程流程如下:



完成左侧的迭代计算之后,我们使用梯度算法对w进行一次学习更新(写在右侧),即w1减去学习率乘以dw1。然后不断重复这些步骤,即迭代完成之后进行更新
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: