吴恩达课程课后编程作业:第 2 部分 - 优化深度神经网络 - 第 1 周作业(1、2、3)
简介
本资源材料包含吴恩达教授在《机器学习实战》课程中 “优化深度神经网络” 部分第一周的课后编程作业。本作业以初始化、正则化和梯度验证为重点,为优化神经网络模型提供了一个全面的指南。
作业模块
1. 初始化
- 零初始化:用来打破对称性,将所有参数初始化为零。
- 随机初始化:用随机值初始化参数,确保权重分布平衡。
- 抑梯度失控初始化:使用特定技术初始化参数,以避免梯度消失或爆炸问题。这种初始化方式有助于解决梯度消失或爆炸问题,使网络能够更有效地学习。
2. 正则化
- L2 正则化:通过在损失函数中添加 L2 范数来惩罚过大权重,防止过拟合。惩罚过大的权重可以防止模型过度依赖某些特征,从而减轻过拟合的风险。
- 随机失活:随机丢弃某些神经元,降低模型的复杂性,缓解过拟合。随机失活可以通过随机丢弃一些神经元及其连接来降低模型的复杂性,从而防止过拟合。
3. 梯度验证
- 高维梯度验证:通过数值方法计算梯度,与反向传播计算的梯度进行对比,验证梯度的准确性。梯度验证是确保反向传播算法正确计算梯度的关键步骤。通过数值方法计算梯度并将其与反向传播计算的梯度进行比较,可以验证梯度的准确性。