1.
2.如何降低过拟合出现的概率呢?
(1)将w初始化至合理的值(使用范二式子正则化)
tips:主要在计算损失函数和后向传播中使用
以tanh函数举例
Z=wx+b,当z过大时,y–>1,当z过小时,y–>-1,此时会出现过拟合
为了避免这种情况,只能让w处于一个合适的区间或者精简化模型
其损失函数变为:(其中^y表示估计值,l表示第l层,k,j表示第k行第j列)
,其中λ是正则化参数
(2)精简化模型
采用随机失活算法(dropout)简化神经网络模型,例如在第三层设置keep.prob=0.8表示该隐藏层有20%个隐藏单元会被抛弃。
tips:在前向传播和后向传播中使用。
其主要步骤:
① 初始化矩阵D1 = np.random.rand(…, …)
② 将D1的值转换为0或1
③ 舍弃A1的一些节点(将它的值变为0或False)
④ 缩放未舍弃的节点(不为0)的值,只有进行缩放后才会保证期望值不变
3. 梯度爆炸和梯度消失
当隐藏层够多且
此时y的值为
此时会出现梯度爆炸
当隐藏层够多且
此时y的值为
此时会出现梯度消失
4.w的初始化
w=0,则会出现对称现象
w过大会出现梯度爆炸,
w过小会出现梯度消失
w在python中随机初始化都服从(0,1)正态分布,假设Xi=1,
5.梯度检验
使用梯度校验,检测模型是否出现错误。