【2】梯度下降法与向量化

梯度下降法:

埃尔法为学习率,是人为定义的,w:为更新后的w。b:为更新后的b

Logistic回归的梯度下降法

梯度下降法代码逻辑如下,但该代码有缺点,因为这里面有两个for循环,而for循环会使神经网络效率变低。所以要想办法避免FOR循环。向量化就是一个很好的方法。

对于向量化计算u的方法:  首先输入v ,然后计算u

 

类似的,可以实现对v中元素的log运算。实现v中元素的绝对值运算。可去掉v中所有的负数元素。是v^2。

 

 上图为Logistic回归导数的程序。应用向量化后的程序如下:该程序只替代了第二个for循环。

 

 利用向量化实现Logistic回归的正向传播:

 

 上图中圈出来的两部分,第一部分实现了z的计算,第二部分实现了A的计算。

 下面给出Logistic回归的整体应用代码:

 上图中的右部分,内核没有用FOR循环,最上边的那个循环是梯度迭代的次数,下面是w、b的更新后的值。程序的核心思想是把所有的值都写成矩阵的形式。如w指的不是某一个w值,而是含有全体w的矩阵;表达式也不是对某一个值进行改变,而是对整个矩阵进行改变。

在反向传播过程中,每个样本都有一个对应的dz,不同样本的dz不同。这是因为dz的维度要和z的维度相同,因为每个样本都有对应的Z,所以每个样本都有对应的dz。  但是所有样本的dw都是相同的、共用的。这是因为dw和w的维度相同,而所有的的样本共用w,所以····。

posted @ 2020-02-25 12:43  刘通1997  阅读(345)  评论(0编辑  收藏  举报