当前位置: 首页 > article >正文

吴恩达深度学习笔记(5)

调试处理(随机采样、非格网、由粗到细)及超参数

深度学习中涉及大量超参数,如下所示

在不知道哪个参数更为重要的情况下,机器学习参数较少,可以利用网络化的参数取值试验,但是深度学习参数较多的情况下,更适合用随机取值的方法

关注到某参数效果更好,可以采用由粗到细的方法。

正确定的采样尺度:

在超参数选择的时候,一些超参数是在一个范围内进行均匀随机取值,如隐藏层神经元结点的个数、隐藏层的层数等。但是有一些超参数的选择做均匀随机取值是不合适的,这里需要按照一定的比例在不同的小范围内进行均匀随机取值。

确定超参数的两种方法:

  • 有大量数据,但是计算能力低,调试一个模型,每天不断优化
  • 有计算能力,同时训练大量模型

正则化网络的激活函数:

批量归一化(batch norm):使得超参数的搜索问题更加容易,神经网络对超参数的选择更加鲁棒,有更大的超参数范围可以工作,更容易训练很深的网络,

常用的方式是将隐藏层的经过激活函数前的z进行归一化。

将批量归一化添加进神经网络

批量归一化为什么有作用

  • 可以加速神经网络训练的原因和输入层的输入特征进行归一化,从而改变Cost function的形状,使得每一次梯度下降都可以更快的接近函数的最小值点,从而加速模型训练过程的原理是有相同的道理
  • 使得神经网络中较晚或者较深的权重,对早期层神经网络权重的变化更具鲁棒性
  • 有轻微的正则化作用

模型在左侧数据集上效果很好,右侧不一定,,虽然都是猫,但是很大程度上样本的分布情况是不同的,所以我们无法保证模型可以仅仅通过黑色猫的样本就可以完美的找到完整的决策边界。第二个样本集合相当于第一个样本的分布的改变,称为:Covariate shift(协变量偏移)。

以深度神经网络为例,虽然第三层的输入可能随着前两层参数的变化而变换,归一化减少了输入值变化的问题。减弱了早期层参数必须做的和后续参数必须做的之间的耦合,允许网络中的每一层独立学习。

正则化效果的原因:

测试时的批量归一化:

在测试的时候,我们需要对每一个测试样本进行预测,无法计算均值和方差。通常的方法就是在我们训练的过程中,对于训练集使用指数加权平均,当训练结束的时候,得到指数加权平均后的均值,这些值直接用于Batch Norm公式的计算,用以对测试样本进行预测。

softmax回归

可以判断出一个或者多个类别,而不是两个类别。

如下图,输出层表示是个类别,输出层的激活函数是一个新的激活函数。

在没有隐藏隐藏层的时候,直接对Softmax层输入样本的特点,则在不同数量的类别下,Sotfmax层的作用:

训练一个softmax分类器:

softmax激活函数g():

逻辑回归实际是softmax分类中c=2的简化形式。

训练具有softmax输出层的神经网络:

网络的损失函数:


http://www.kler.cn/a/353184.html

相关文章:

  • istio-proxy oom问题排查步骤
  • 个人主页搭建全流程(Nginx部署+SSL配置+DCDN加速)
  • C++中的STL
  • 【gin】http方法了解,以及RESTful API与版本控制
  • 基于python的网页表格数据下载--转excel
  • 【Rust】错误处理机制
  • 前端js,vue系统使用iframe嵌入第三方系统的父子系统的通信
  • 如何在UE5中创建加载屏幕(开场动画)?
  • mac上docker desktop 服务指南
  • 【C++刷题】力扣-#163-缺失的区间
  • 拟声 0.37.0 | 拟物风格,超级优美,功能丰富
  • 机器学习——解释性AI
  • java脚手架系列4--测试用例、拦截器
  • AI 驱动的测试用例生成:实现全量覆盖
  • 移情别恋c++ ദ്ദി˶ー̀֊ー́ ) ——13.mapset(无习题)
  • 基于web的酒店客房管理系统【附源码】
  • 单元测试不加载主方法中application.yml配置文件的问题
  • 全星魅|多模卫星定位终端|智能手持终端|北斗定位手持机
  • 解决UNSPSC商品分类的层级不足的方法
  • 探索高效的 PDF 拆分工具及其独特功能
  • SpringBoot 整合 RabbitMQ 的使用
  • Ping32软件介绍,全面保护您的数据安全
  • 更新项目vue版本--入门篇
  • 2.5 Spring Boot整合Spring MVC框架
  • 英语写作中“认为是……”consider/view/regard/deem的用法
  • 使用Hugging Face中的BERT进行标题分类