【超参数调整】深度学习专项课程学习记录4——正则化技术解决过拟合问题

学习目标

利用Numpy实现L2 正则化和 dropout的设置。

笔记

1. 前置知识

在这里插入图片描述
可知,正则化是解决高方差(过拟合)问题的技术。

2. 正则化技术

2.1 正则化——L2范数

L2正则化
注:
λ \lambda λ是一个超参数, λ \lambda λ越大,正则化越强;
L2正则化使得决策边界变得smoother,但是如果 λ \lambda λ过大,会导致模型高误差。

2.2 随机失活(Dropout)

dropout

2.2.1 理解Dropout

在每一次迭代时,以(1-keep_prob)的几率随机关闭或以keep_prob的几率保留每一层的每一个神经元,被关闭的神经元不参与此次迭代的正向和反向传播的计算

2.2.2 Dropout的思想

在每一次迭代中,用整个模型的神经元子集构成的新模型进行训练,这样的话神经元们就会对具体某个神经元的激活不那么敏感,因为具体某个神经元随时会失活。

2.2.3 对第l层设置dropout

正向传播中设置dropout:

#第一步:创建Dl,Dl是一个与Al(第l层的激活函数)形状相同的服从均匀分布的随机矩阵
Dl = np.random.rand(Al.shape[0],Al.shape[1])

#第二步:将Dl变成一个0-1矩阵,其中1对应留存的神经元,0对应失活的神经元
Dl = (Dl < keep_prob).astype(int)

#第三步:将Dl看作掩膜,将Al上对应失活神经元位置的值设为0
Al = Al * Dl

#第四步:最好是将Al / keep_prob 一下
Al = Al / keep_prob  

对应的反向传播中设置dropout:

# 第一步:将正向传播中得到的Dl看作掩膜,将dAl上对应失活神经元位置的值设为0
dAl = dAl * Dl

# 第二步:将dAl / keep_prob 一下
dAl = dAl / keep_prob

注:随机失活不会用在输入和输出层。

2.3 其他正则化技术

2.3.1 数据增强

一般指通过图像的翻转、裁剪等操作扩充训练数据集。

2.3.2 Early stopping

Early stopping

学习时间

2022.6.26

总结

  1. 正则化是减少过拟合的一种技术;
  2. 正则化会使权重的值更低;
  3. L2正则化和Dropout是两种有效的正则化技术(用的多)。

需要注意的地方

  1. 之后有时间补充一下L1正则化和early stopping的内容;
  2. 本文中提到的误差方差分析不够全面,之后补充。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值