代价函数
假设在做二分类任务,那么代价函数和logistic回归代价函数一样:J=1m∑i=1mL(y,y^)J = \frac {1}{m}\sum_{i = 1}^{m}L(y,\widehat{y})J=m1∑i=1mL(y,y)
前向传播的步骤
z[l]=W[l]∗a[l−1]+b[l]z^{[l]} = W^{[l]} * a^{[l - 1]} + b^{[l]}z[l]=W[l]∗a[l−1]+b[l]
a[l]=g(z[l])a^{[l]} = g(z^{[l]})a[l]=g(z[l])
向量化的实现如下:
z[l]=W[l]∗A[l−1]+b[l]z^{[l]} = W^{[l]} * A^{[l - 1]} + b^{[l]}z[l]=W[l]∗A[l−1]+b[l]
A[l]=g(z[l])A^{[l]} = g(z^{[l]})A[l]=g(z[l])
反向传播的步骤
输入为da[l]da^{[l]}da[l],输出为da[l−1]da^{[l - 1]}da[l−1],dW[l]dW^{[l]}dW[l],db[l]db^{[l]}db[l]
(1) dz[l]=da[l]⋅g[l]‘(z[l])dz^{[l]} = da^{[l]} \cdot g^{[l]^{`}}(z^{[l]})dz[l]=da[l]⋅g[l]‘(z[l])
(2) dW[l]=dz[l]⋅a[l−1]dW^{[l]} = dz^{[l]} \cdot a^{[l -1]}dW[l]=dz[l]⋅a[l−1]
(3) db[l]=dz[l]db^{[l]} = dz^{[l]}db[l]=dz[l]
(4)da[l−1]=W[l]T⋅dz[l]da^{[l - 1]} = W^{[l]^{T}} \cdot dz^{[l]}da[l−1]=W[l]T⋅dz[l]
(5)dz[l]=W[l+1]T⋅dz[l+1]⋅g[l]‘(z[l])dz^{[l]} = W^{[l + 1]^{T}} \cdot dz^{[l + 1]} \cdot g^{[l]^`}(z^{[l]})dz[l]=W[l+1]T⋅dz[l+1]⋅g[l]‘(z[l])
式子(5)由前四个式子带入得到,这 五个式子可以实现反向传播。
向量化实现过程可以写成:
(6) dZ[l]=dA[l]⋅g[l]‘(z[l])dZ^{[l]} = dA^{[l]} \cdot g^{[l]^{`}}(z^{[l]})dZ[l]=dA[l]⋅g[l]‘(z[l])
(7) dW[l]=1mdZ[l]⋅A[l−1]dW^{[l]} = \frac{1}{m}dZ^{[l]} \cdot A^{[l -1]}dW[l]=m1dZ[l]⋅A[l−1]
(8) db[l]=1mnp.sum(dz[l],axis=1,keepdims=True)db^{[l]} = \frac{1}{m}np.sum(dz^{[l]},axis = 1, keepdims = True)db[l]=m1np.sum(dz[l],axis=1,keepdims=True)
(9) dA[l−1]=W[l]T⋅dZ[l]dA^{[l - 1]} = W^{[l]^{T}} \cdot dZ^{[l]}dA[l−1]=W[l]T⋅dZ[l]
本文深入探讨了深度学习中的核心概念——代价函数及其在二分类任务中的应用,并详细解析了前向传播与反向传播算法的具体步骤,包括向量化实现方式,为读者提供了一个全面理解深度学习算法的基础。
20万+

被折叠的 条评论
为什么被折叠?



