过拟合

一.定义:训练过度的时候,就可能会导致过拟合

eg:

我们要训练出一个y关于x的函数,但我们的训练样本只限于0<x<C_1,但比较完整的定义域应该是0<x<C_2(C_2>C_1),那么后半截的函数,电脑就会自己“臆想”一段出来,这就是数据不足导致的过拟合

二.防止过拟合方法主要有:

1.正则化(Regularization)(L1和L2)

2.数据增强(Data augmentation),也就是增加训练数据样本

3.Dropout

4.early stopping

正则化(Regularizaiton-Regular-Regularize)

​ 其实正则化的意思就是——规则化(看英文名——所以学习机器学习甚至是计算机,英语很重要)。正则化就是防止过拟合,即通过给我们所要训练出的函数加上一些**规则限制**,让他们不要“自己胡思乱想

RNN(循环神经网络)

导入:FCNN(全连接神经网络)传递信息时具有单向性——序列的不同位置之间无法共享特征信息,对于一些需要综合不同时刻信息来解决的问题,FCNN就没那么适用。

(一)RNN结构

在这里插入图片描述

解释:对于时间步S_t,输入输入值X_t同时,也会综合来自前面的激活值a_t-1,a_t-1,是通过S_t-1 与控制它的权值W通过权重运算得到的。(O_t是损失函数)

(二)BRNN(双向循环神经网络)的引入

由于RNN只完成了了**“现在”与“以往”的综合**,并没有综合“将来”考虑。

在这里插入图片描述

解释:BRNN的结构计算与RNN基本一样,只不过会有正向运算(A_0)与反向运算(A_0^1)之分。RNN的前向计算按照时间序列展开,然后使用**基于时间的反向传播算法(Back Propagation Through Time, BPTT)**对网络中的参数进行更新。

在这里插入图片描述

LSTM(长短时神经网络)

在这里插入图片描述

​ (X_t为当前输入,h_t-1为钱一个输出,C_t-1表示前一个细胞状态)

​ LSTM的单元结构主要是细胞状态,表示细胞状态的这条水平线穿过图的顶部。

​ LSTM有添加或删除信息到细胞状态的能力,这个能力由**门(Gata)**控制。

(一)门(Gata)

1.定义:门顾名思义就是信息进出到细胞状态的门卫,满足要求的、经过处理的就可以进入细胞状态。

由一个Sigmoid神经网络层(这个激活函数可以输出0—1的数字,1表示信息可以全部通过,0表示信息都不能通过)和一个点乘法运算组成。

2.类型:LSTM单元中有三种门控——输入门(i)、遗忘门(f)、输出门(o)

3.通用公式(形式)
g ( x ) = σ ( W x + b ) g(x)=\sigma (Wx+b) g(x)=σ(Wx+b)
在这里插入图片描述

(二)正向计算过程

1.输入门:决定可以有多少信息用于数据处理(进入cell)

在这里插入图片描述

输入向量——x_t,输出向量 ——h_t,记忆单元为c_t。

2.遗忘门(LSTM单元关键组成部分):控制哪些信息要保留哪些要遗忘(也可以决定历史信息中的哪些会被遗忘,也就是说C_t可以控制C_t-1的信息对其的影响)

在这里插入图片描述

3.输出门:决定可以有多少信息用于数据输出(离开cell)

在这里插入图片描述

GRU(门控循环单元)——只有两个门

在这里插入图片描述

GRU的向前传播公式:

在这里插入图片描述

(一)更新门

​ **1.定义:**定义了前面记忆保存到当前时间步的量

2.更新门公式
u t = σ ( W x u x t + W h u h t − 1 + b u ) u_t=\sigma(W_{xu}x_t+W_{hu} h_{t-1}+b_u) ut=σ(Wxuxt+Whuht1+bu)

x t 代 表 的 是 第 t 时 间 步 的 输 入 向 量 , h t − 1 代 表 的 是 第 t − 1 时 间 步 的 信 息 x_{t}代表的是第t时间步的输入向量,h_{t-1}代表的是第t-1时间步的信息 xttht1t1

3.作用:决定到底要将多少过去的信息传递到未来,或到底前一时间步和当前时间步的信息有多少是需要继续传递的,从而决定从过去复制所有的信息以减少梯度消失的风险

(二)重置门

​ **1.定义:**决定了如何将新的输入信息与前面的记忆相结合

注意:重置门设置为 1,更新门设置为 0,那么会获得标准 RNN 模型。

2.重置门公式:


r t = σ ( W x r x t + W h r h t − 1 + b r ) r_t=\sigma(W_{xr}x_t+W_{hr} h_{t-1}+b_r) rt=σ(Wxrxt+Whrht1+br)
​ (公式与更新门一样,区别在于不过线性变换的·参数用处

3.作用:本质上来说,重置门主要决定了到底有多少过去的信息需要遗忘

(三)当前时间步的最终记忆

在一个细胞状态的最后一步,需要导出h_t,这个向量会保留当前单元的信息,然后传递到下一个单元。


h t = ( 1 − u t ) ∗ h t − 1 + u t ∗ h ∗   t h_t=(1-u_t)*h_{t-1}+u_t*h^*~_t ht=(1ut)ht1+uth t

其 中 u t 为 更 新 门 的 结 果 , h t 就 是 最 终 的 输 出 结 果 其中u_t为更新门的结果,h_t就是最终的输出结果 utht

参考文章:

文章