在逻辑回归中我们预测结果的方程为
Y’=σ(X*W.T+b)
我们使用一个计算图来将它表示出来,如下图所示。
一般情况下,我们学习W和b两个参数时需要三个过程:
1.前向传播
读取一个数据,顺着我们的计算图,首先求得Z,然后求得Y’,再使用损失函数计算Y’和Y的差距,这样的过程我们叫做前向计算。
2.后向计算
后向计算是一个计算偏导数的过程,首先我们需要计算预测值的偏导数dY’(即∂L(Y’,Y)/∂Y),然后再向后计算dZ(即∂L(Y’,Y)/∂Z也即∂L(Y’,Y)/∂Y’ X ∂Y’/∂Z),此处需要根据我们在这里使用的函数类型来求导relu、sigmoid、tanh有各自的函数表达式,利用它们可以求得dZ,最后就可以得到dW(即∂L(Y’,Y)/∂W也即X*dZ)和db(即∂L(Y’,Y)/∂b也即dZ)。
3.更新参数
这一步没啥好说的和之前说的公式一样W=W-αdW、b=b-αdb
完成以上的步骤我们就完成了单个样本数据的在一次逻辑回归中的梯度下降,通常我们的样本是很庞大的且拥有W1,W2…、b1,b2…等很多的参数,如果我们使用显式的for循环将花费巨多的时间,所以机制的前辈们找到了一种合理且快速的方法——向量化