2.5 梯度下降的例子(Gradient Descent on m Examples)

m个样本的Cost function表达式如下:

Cost function关于w和b的偏导数可以写成和平均的形式:

算法流程如下所示:

J=0; dw1=0; dw2=0; db=0;
for i = 1 to m
    z(i) = wx(i)+b;
    a(i) = sigmoid(z(i));
    J += -[y(i)log(a(i))+(1-y(i)log(1-a(i));
    dz(i) = a(i)-y(i);
    dw1 += x1(i)dz(i);
    dw2 += x2(i)dz(i);
    db += dz(i);
J /= m;
dw1 /= m;
dw2 /= m;
db /= m;

经过每次迭代后,根据梯度下降算法,w和b都进行更新:

在深度学习中,样本数量m通常很大,使用for循环会让神经网络程序运行得很慢。应该尽量避免使用for循环操作,而使用矩阵运算,能够大大提高程序运行速度

Last updated