dropout正则化

今天开始写博客哈,记录一下学习生活,这是第一篇。

解释一下,keep_prob是一个概率,表示保留下来的节点数(<=1)

 

    前向传播:
 

    D1 = np.random.rand(A1.shape[0],A1.shape[1])    #步骤1:初始化矩阵D1 = np.random.rand(..., ...)
    D1 = D1 < keep_prob                             #步骤2:将D1的值转换为0或1(使​​用keep_prob作为阈值)
    A1 = A1 * D1                                    #步骤3:舍弃A1的一些节点(将它的值变为0或False)
    A1 = A1 / keep_prob                             #步骤4:缩放未舍弃的节点(不为0)的值

反向传播:   

dA2 = dA2 * D2
dA2 = dA2 / keep_prob

顺便温习一下之前的:

前向传播:

Z1 = np.dot(W1, X) + b1
A1 = reg_utils.relu(Z1)

反向传播:

dZ3 = A3 - Y
dW3 = (1 / m) * np.dot(dZ3, A2.T)
db3 = (1 / m) * np.sum(dZ3, axis=1, keepdims=True)
dA2 = np.dot(W3.T, dZ3)

dZ2 = np.multiply(dA2, np.int64(A2 > 0))
dW2 = 1. / m * np.dot(dZ2, A1.T) 
db2 = 1. / m * np.sum(dZ2, axis=1, keepdims=True)

以上内容参考:
--------------------- 
版权声明:本文为CSDN博主「何宽」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u013733326/article/details/79847918

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值