任何神经网络都有一个向前计算和向后计算的过程。简而言之,利用一般的编程角度其实就是计算的过程,精简到每一次加法减法。

罗辑回归的梯度下降
首先回顾一下逻辑回归的基本公式

m个样本的梯度下降

上图的计算公式标明只有两个feature,输入的每一个样本x经过一个线性式得到z,再进行一个sigmoid函数得到预测的y hat。
下图是反向传播的过程

附上复合函数求导。。。时间太久了都忘了。。

上述是对单一x样本进行求导,对m个样本求梯度下降如下图

图里面有2个for循环,一个是遍历m个样本,内循环是遍历每个feature 。
这样当数据量非常大的时候会导致一个问题就是因为是O(nm)的复杂度,非常不利于运算。解决的办法就是使用向量化来解决。
网友评论