IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 吴恩达-02 改善深层神经网络:超参数调试、正则化以及优化 -> 正文阅读

[人工智能]吴恩达-02 改善深层神经网络:超参数调试、正则化以及优化

1. 深度学习的实用层面

1.1 训练、开发、测试集

1.1.1 作用

(1)训练集:用来训练模型;
(2)验证机:通过验证集选择最好的模型,确定最终模型;
(3)测试集:测试最终效果。

1.1.2 划分比例

数据规模训练集验证集测试集
小数据量(10-10000)70%-30%
60%20%20%
100万98%1%1%
>100万99.5%2.5%2.5%

注:确保验证集和测试集来自同一分布

1.2 偏差和方差

1.2.1 区别

方差: 是预测值自身的一个指标;
偏差: 是预测值和真实值的一个指标。

1.2.2 示例

在这里插入图片描述

1.2.3 高偏差或高方差的处理情况

在这里插入图片描述

1.4 正则化

1.4.1 正则化的作用

深度学习可能存在过拟合问题——高方差,有两个解决方法,一个是正则化,另一个是准备更多的数据,这是非常可靠的方法,但你可能无法时时刻刻准备足够多的训练数据或者获取更多数据的成本很高,但正则化通常有助于避免过拟合或减少你的网络误差。

1.4.2 L 2 L2 L2 正则化

J ( w , b ) = 1 2 ∑ i = 1 m L ( y ^ i , y i ) + λ 2 m ∣ ∣ w ∣ ∣ 2 2 J(w, b) = {1\over2} \sum_{i=1}^m L(\hat{y}^{i}, y^{i}) + {\lambda \over{2m}} ||w||^2_2 J(w,b)=21?i=1m?L(y^?i,yi)+2mλ?∣∣w22?
其中:
λ \lambda λ :正则化参数,通常使用验证机来配置这个参数
∣ ∣ w ∣ ∣ 2 2 ||w||^2_2 ∣∣w22? :欧几里得范数(2范数)的平方,其中:
∣ ∣ w ∣ ∣ 2 2 = ∑ n j = 1 w j 2 = w T w ||w||^2_2= \underset{j=1}{\overset{n}{\sum}} w^2_j=w^Tw ∣∣w22?=j=1n??wj2?=wTw

1.5 为什么正则化可以减少过拟合

在这里插入图片描述
左图是高偏差,右图是高方差,中间是Just Right。
在这里插入图片描述
在我们来看下这个庞大的深度拟合神经网络。我知道这张图不够大,深度也不够,但你可以想象这是一个过拟合的神经网络。

直观上理解就是如果正则化 λ \lambdaλ 设置得足够大,权重矩阵 w ww 被设置为接近于0的值,直观理解就是把多隐藏单元的权重设为0,于是基本上消除了这些隐藏单元的许多影响。如果是这种情况,这个被大大简化了的神经网络会变成一个很小的网络,小到如同一个逻辑回归单元,可是深度却很大,它会使这个网络从过度拟合的状态更接近左图的高偏差状态。

但是 λ \lambda λ 会存在一个中间值,于是会有一个接近“Just Right”的中间状态。

直观理解就是 λ \lambda λ 增加到足够大, w w w 会接近于0,实际上是不会发生这种情况的,我们尝试消除或至少减少许多隐藏单元的影响,最终这个网络会变得更简单,这个神经网络越来越接近逻辑回归,我们直觉上认为大量隐藏单元被完全消除了,其实不然,实际上是该神经网络的所有隐藏单元依然存在,但是它们的影响变得更小了。神经网络变得更简单了,貌似这样更不容易发生过拟合, 因此我不确定这个直觉经验是否有用,不过在编程中执行正则化时,你实际看到一些方差减少的结果。
在这里插入图片描述
总结一下,如果正则化参数变得很大,参数 w w w 很小, z z z 也会相对变小,此时忽略 b b b 的影响, z z z 会相对变小,实际上, z z z 的取值范围很小,这个激活函数,也就是曲线函数 t a n h tanh tanh会相对呈线性,整个神经网络会计算离线性函数近的值,这个线性函数非常简单,并不是一个极复杂的高度非线性函数,不会发生过拟合。

1.6 Dropout(随机失活)正则化

1.6.1 Dropout的作用

减少模型过拟合

1.6.2 Dropout为什么可以防止过拟合?

因为它使得模型随机失活一些节点,让模型变得更加简单。 就让人思考一样,如果思考的越多,思考的越久,往往就越准确。减少模型过拟合,就是希望模型结果不要那么准确。所以,减少模型节点,就像人思考的更少,最终想出的结果就不那么准确。
在这里插入图片描述
Step1: 对每个节点设置一个随机失活的概率p;
Step2: 模型运行时,随机生成一个失活概率q;
Step3: 如果 q < p, 就将改节点失活; 反之,保持原样。

1.9 归一化输入

作用: 加速网络训练。

1.10 梯度消失和梯度爆炸

梯度消失: 反向传播时,导数变得非常小;
梯度爆炸: 反向传播时,导师变得非常大。

1.11 神经网络的权重初始化

作用: 有助于解决梯度消失和梯度爆炸。
初始化:
一般来说,权重初始化与后续用的激活函数有关,如下表:

激活函数权重初始化
Relu W [ l ] = n p . r a n d o m . r a n d n ( s h a p e ) ? n p . s q r t ( 2 n [ l ? 1 ] ) W^{[l]}=np.random.randn(shape)*np.sqrt({2\over{n^{[l-1]}}}) W[l]=np.random.randn(shape)?np.sqrt(n[l?1]2?)
Tanh W [ l ] = n p . r a n d o m . r a n d n ( s h a p e ) ? n p . s q r t ( 1 n [ l ? 1 ] ) W^{[l]}=np.random.randn(shape)*np.sqrt({1\over{n^{[l-1]}}}) W[l]=np.random.randn(shape)?np.sqrt(n[l?1]1?)

其中:
(1)shape表示输入数据的shape;
(2) n [ l ? 1 ] n^{[l-1]} n[l?1] 表示输入数据的维度。

如下图:
在这里插入图片描述
(1)shape = (1, 4);
(2) n [ l ? 1 ] n^{[l-1]} n[l?1] = n [ 1 ? 1 ] n^{[1-1]} n[1?1] = n [ 0 ] n^{[0]} n[0] = 4

2. 优化算法

3. 超参数调优、Batch正则化和程序框架

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-07-21 21:32:47  更:2022-07-21 21:34:24 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 1:38:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码