监督学习算法:RNN、LSTM、SVM与集成学习详解
1. 循环神经网络(RNN)及其问题
在监督学习中,RNN的信息更新过程会考虑时间因素,我们可以在每个时间点计算误差。然而,RNN存在一个问题,其权重更新并非逐个神经元进行,而是所有神经元都参与误差函数的计算,这导致过去时间点的所有神经元权重会同时更新。在反向传播过程中,随着训练轮数的增加,更新次数增多,梯度会逐渐变小。当梯度变得非常小时,它就无法有效地更新过去时间点的神经元权重,进而导致下半部分神经元无法更新。由于模型的预测依赖于所有神经元,未训练的神经元会使模型性能下降,这就是梯度消失问题。
2. 长短期记忆神经网络(LSTM)
2.1 LSTM简介
LSTM是RNN的扩展,RNN的主要问题是需要大量存储来记住大量状态以及对每个先前状态进行的计算。为了解决这个问题,LSTM引入了遗忘门和记忆门。在训练过程中,网络会评估先前状态和当前状态的影响,保留对输出有影响的当前输入和状态,丢弃其余部分。其数学表达式如下:
[
\begin{pmatrix}
i \
f \
o \
g
\end{pmatrix}
=
\begin{pmatrix}
sigm \
sigm \
sigm \
tanh
\end{pmatrix}
W_l
\begin{bmatrix}
h_{l - i}^t \
h_l^{t - 1}
\end{bmatrix}
]
[
c_l^t = f(c_l^{t - 1