之前观看了李宏毅老师的机器学习视频,当中有些内容还是不甚了解,正好b站2020年的机器学习课程视频出了,就这这个机会再梳理一下课程的内容与知识。
基础概念
回归(regression)与分类(classification)
回归问题的输出是一个数值(连续量),而分类问题在训练前就规定了多个类别,训练的输出是在多个类别当中选择一个(如果类别是2个为binary classification,多个为mult-class classification)。另外现在还有一个为生成(generation),输出产生有结构的图片、句子等。
有监督学习(Supervised Learning)、无监督学习(Unsupervised Learning)与强化学习(Reinforcement Learning)
提供给机器有标签的训练数据,从而计算Loss进行学习的方法称为有监督学习;强化学习不会提供有标签的训练数据,而是根据最后结果的reward调整自己的模型,alpha go就是有监督学习与强化学习的结合;无监督学习就是提供无标签的训练数据进行训练。
RNN 循环神经网络
由于一般的RNN方法(将上一个时间点的隐藏信息直接传入下一个时间点)会遇到梯度消失或者梯度爆炸的问题,所以提出了LSTM以及多种的变种RNN结构
LSTM结构
可以看到图中LSTM的结构包括四个单元:Input gate(控制是否输入信息到Memory Cell)、Memory Cell(存储过去的信息)、Forget Gate(控制是否对Memory Cell中的信息)、Output Gate(控制是否将Memory Cell中的信息进行输出)。
其中的激活函数f大多取为sigmoid函数,原因是将每个gate的值设置为[0,1],sigmoid的函数以及图像如下所示:
S ( x ) = 1 1 + e − x S(x) = \frac{1}{1+e^{-x}} S(x)=1+e−x1
原始的神经网络的架构为:
网络的结构可以当作将每一个神经元当作是LSTM的结构(所以有多少个神经元就有多少个LSTM结构,而每个LSTM的每个input都是输入加权得到的),神经网络神经元是一个input一个output,而LSTM是四个input一个output(参数*4),下面这张图很明确的写出了LSTM结构与时序之间的关系
其中 z f z^f zf