Toriyung

导航

神经网络中正则化(吴恩达)

正则化(regulization)顾名思义,进行调整,以下整理出几个正则化方式

L2正则化

对损失函数J加上一个关于参数ω的范数,用来降低特征值大小            

L1范数: 为x向量各个元素绝对值之和。

L2范数: 为x向量各个元素平方和的1/2次方   

L1正则化可以产生稀疏权值矩阵,即产生一个稀疏模型,可以用于特征选择在一定程度上,L1也可以防止过拟合,提升模型的泛化能力;

L2正则化可以防止模型过拟合

权重衰减

L2正则化又被称为权重衰减,这是由于在更新ω过程中,多了一项参数λ,使得ω = (1-αλ/m)ω - a(backprop),其中出现了1-αλ/m≤1,即ω会不断衰减

 

L2正则化解决过拟合的原理

对激活函数的非线性化作用,存在有效区间,如tanh函数是在0附近的一段区间,当引入L2正则化,减小ω值(权重衰减),由于 z = ωX+b,输入激活函数的z值变小

当z值小到进入有效区间时,激活函数的输出依旧为线性输出,于是神经网络的非线性要素减少,拟合效果衰减

 

dropout正则化(反向随机失活)

原理:对若干层神经元进行概率性失活,减少其权重参数的依赖性

方法:设定一个概率阈值keep_prob,假如对L3层来说,创建一个L3层神经元shape的概率数矩阵,判断矩阵中每个概率与keep_prob进行比较。最后使概率矩阵与神经元矩阵进行点乘,实现某些神经元失活的目的,但由于权重参数的部分缺失,出现了矩阵期望值的减小,所以需要使神经元矩阵除以keep_prob,以平衡期望值减小。

注意:

  1. dropout是在参数量大的情况下避免出现过拟合使用的,当参数量小的时候(或没有出现过拟合的时候)则不需要使用

  2. dropout会导致损失函数可能无法单调下降,即此时损失函数并不能符合原神经网络的损失函数定义

  3. dropout是在训练集使用,在测试集不能使用,因为参数的随机丢失会造成测试错误

 

Data augment(数据扩增)

1. 最好的方式还是多增加全新的不同的样本

2. 在1无法满足的情况下可以使用拉伸,平移,选择,翻转等

 

Early Stopping(提前终止)

顾名思义,提前终止优化过程

1. 从优化损失函数方面:选择局部最优化,一定程度上实现了这一目的,但不完美。

 

2. 从避免过拟合方面:停止继续对训练集进行拟合。

 

 

posted on 2022-07-26 16:05  Toriyung  阅读(559)  评论(0编辑  收藏  举报