梯度下降法:
埃尔法为学习率,是人为定义的,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,所以····。