深度学习解决过拟合问题—正则化
来源:互联网 发布:fedora和centos 编辑:程序博客网 时间:2024/05/22 15:31
过拟合问题经常发生在深度学习中,需要在loss函数中加入正则化项来解决该问题。本文将会介绍过拟合问题,给出正则化方法的公式,并推导其过程,最后介绍正则化为何可以解决过拟合以及Dropout。
1.过拟合
过拟合问题在深度学习中是常见的问题,假设做二类分类问题,结果有如下三类(欠拟合、“just right”、过拟合):
欠拟合问题是在training数据集中分类能力不够,导致准确度不高,可以通过调整网络结构、学习步长等超参解决。过拟合问题是由于在training数据集中分类效果太好,但是在Dev数据集中表现平平。解决该问题的方法是在loss函数中加入正则项,在训练时抑制特殊特征的作用,将其拉回到“just right”状态,其方法如下:
范数定义:
加入正则化之后,如果发生过拟合,只要控制λ的大小,就可以控制参数W的大小,使W中有些元素趋向于0,从而使得网络近似变得更加简单,从而解决过拟合。
从概率统计方面来说,加入正则项就是加入W的先验概率,在最优化过程中沿着给定约束方向走。L1正则化是拉普拉斯先验概率、上面用的L2正则化是高斯先验概率。下面将通过概率推导正则化公式。
2.正则化公式推导
拉普拉斯概率密度函数如下:
假设W服从拉普拉斯分布,W∽(0,b),我们将p(y/x)写成如下形式:
对于训练数据集,由最大释然估计可得:
我们的任务是将log(p(Y/X))最大化,因此cost函数和log(p(Y/X))是相反数的关系,再除以m控制其幅度,又因为nlog(2b)是常数项,无需优化,所以cost函数如下:
式子第二项是W的1范数,通过调整λ的大小,来调整W。
假设W服从高斯分布,W∽N(0,σ)。高斯分布如下:
对于训练数据集,由最大释然估计可得:
同拉普拉斯推导过程,高斯分布的cost函数如下:
对比:
1. L1正则化是假设参数W服从拉普拉斯分布的结果,L1正则化可以使W中的元素等于0,从而使W具有稀疏性,可以减少计算量。更有“可解释性”的优点。
2. L2正则化不能使W中的元素等于0,只能让其接近于0,因此不能减少计算量,只能减弱相关特征对cost函数的影响。但是L2正则化可以有效解决过拟合问题。
加入L2正则化之后,反向传播可以变为如下形式:
Dropout
当激活函数为ReLU函数时,dropout方法更方便有效。dropout方法的主要思想和正则化一样,都是将网络变得更加简单,从而解决过拟合问题。dropout主动将网络的某一层的权重随机矩阵W的元素随机地变为0,从而减小网络的复杂度。具体如下:
- 深度学习解决过拟合问题—正则化
- 解决深度学习过拟合问题
- Regularization 正则化 解决过拟合问题 Lecture 7
- 深度学习:过拟合
- 深度学习关键词之—过拟合
- 深度学习关键词之—过拟合
- 斯坦福大学机器学习笔记——过拟合问题以及正则化的解决方法
- 避免过拟合问题——正则化
- 【TensorFlow】正则化(过拟合问题)
- 机器学习正则化与过拟合
- TensoFlow解决过拟合问题:正则化、滑动平均模型、衰减率
- Dropout解决过拟合问题
- 过拟合问题,怎么样解决
- 解决过拟合的方式(一):正则化
- 斯坦福大学深度学习公开课cs231n学习笔记(7)神经网络防止数据过拟合:损失函数和正则化
- [DeeplearningAI笔记]改善深层神经网络1.4_1.8深度学习实用层面_正则化Regularization与改善过拟合
- 过拟合与正则化
- 过拟合与正则化
- 状态码
- 设计模式之备忘录模式(Memento)
- 《机器学习&&深度学习》 视频课程资源百度云下载。
- 面试中遇到的一道算法题,请各位对我的算法指点一下
- java中枚举的使用
- 深度学习解决过拟合问题—正则化
- Java Reflect(反射一) 基本应用
- 以操作系统的角度述说线程与进程
- Python之学习总结第一天
- UART中的硬件流控RTS/CTS和软件流XON/XOFF
- 切换城市之根据ip获取城市名称--淘宝
- JDBC(1) 简单的连接数据库和封装
- 嵌智捷达科技产品CM-AM335X
- 哈希表-链地址法