此贴仅做课程作业使用!!!按自己的理解对上课内容进行总结
1 一些预备
1.1 序列模型
分类问题与预测问题的区别
图像分类问题:当前输入->当前输出
时间序列预测问题:当前+过去输入->当前输出
在预测的过程中保留一些对过去的观察总结,并且同时更新预测与总结,构成序列模型。
1.2 数据预处理
(1)特征编码
特征编码是将原始数据转换成机器学习算法可以处理的特征表示形式的过程。在特征编码中,原始数据的各种属性或特征被映射到数值化的形式,以便机器学习算法能够对其进行有效的处理和分析。常见的编码方式有:
独热编码:将分类变量转换为二进制向量的形式,其中每个可能的类别对应一个二进制位,只有属于某个类别的位被设置为1,其余位被设置为0。
标签编码:将分类变量转换为从0到N-1的整数形式,其中N是类别的数量。这种编码适用于某些机器学习算法,如决策树和随机森林。
(2)文本处理
文本处理是对文本数据进行预处理、分析、理解和转换的过程。它是自然语言处理(NLP)的一个重要组成部分,涉及到从原始文本中提取信息、进行文本挖掘、文本分类、文本生成等各种任务。常见的处理方式有:
按字母处理:
按单词处理:
1.3 文本预处理
一篇文章可以被简单地看作一串单词序列,甚至是一串字符序列。 我们将解析文本的常见预处理步骤。 这些步骤通常包括:
- 将文本作为字符串加载到内存中。
- 将字符串切分为词元(如单词和字符)。
- 建立一个字典,将拆分的词元映射到数字索引。
- 将文本转换为数字索引序列,方便模型操作。
1.4 词嵌入
词嵌入是一种词的类型表示,具有相似意义的词具有相似的表示,是将词汇映射到实数向量的方法总称。将词映射为向量比较直接的想法是使用独热向量:
但是这样的编码维数过高,因此可以将独热向量映射为低维向量:
原始向量:𝑣维;映射后:𝑑维,𝑑 ≪ 𝑣
映射矩阵:𝑑 × 𝑣 , 根据训练数据学习得到
2 RNN
2.1 RNN模型
RNN背后的想法是利用顺序信息。RNN被称为"循环",因为它们对序列的每个元素执行相同的任务,输出取决于先前的计算。考虑RNN的另一种方式是它们有一个“记忆”,它可以捕获到目前为止计算的信息。理论上,RNN可以利用任意长序列中的信息,但实际上它们仅限于回顾几个步骤。下面是典型的RNN网络在某一时刻展开的样子:
2.2 RNN误差反传
每个时间步的隐状态和输出可以写为:
通过一个目标函数在所有𝑇个时间步内 评估输出𝑜𝑡 和对应的标签𝑦𝑡 之间的差异:
按照链式法则:
ℎ𝑡 既依赖于ℎ𝑡−1 ,又依赖于𝑤ℎ , 其中ℎ𝑡−1 的计算也依赖于𝑤ℎ 。因此,用链式法则产生:
使用下面的公式移除循环计算:
我们可以在𝜏步后截断上页式中的求和计算。
3 其他循环神经网络
3.1 门控循环单元(GRN)
门控循环单元的基本思想是:不是每个观察都同等重要。引入关注机制与遗忘机制。
其中:
其中:
其中:
3.2长短期记忆网络(LSTM)
(1)传送带:新引入状态记忆
(2)遗忘门
(3) 输入门
𝑖𝑡 确定传送带 𝐶𝑡 的那些值被更新
新值 𝐶𝑡 加到𝐶𝑡−1 上
(4)计算传送带更新值
(5)输出门
(6)更新状态