西瓜书第5章神经网络

神经网络知识点总结

1. 神经元模型

神经网络的基本单位是神经元(Neuron),神经元模型借鉴了生物神经元的构造。一个典型的人工神经元可以表示为:

  • 输入信号:$ x_1, x_2, \dots, x_n $
  • 权重:$ w_1, w_2, \dots, w_n $
  • 偏置:$ b $
  • 输出:$ y $

神经元的计算

神经元计算一个加权和并通过激活函数生成输出:

\[z = \sum_{i=1}^{n} w_i x_i + b \]

激活函数(常用的有 Sigmoid、ReLU、Tanh 等)用于引入非线性:

\[y = f(z) \]

其中,常见的激活函数有:

  • Sigmoid:$ f(z) = \frac{1}{1 + e^{-z}} $
  • ReLU:$ f(z) = \max(0, z) $
  • Tanh:\(f(z) = \frac{e^z - e^{-z}}{e^z + e^{-z}}\)

2. 感知机与多层网络

单层感知机

单层感知机(Perceptron)是最简单的神经网络模型,由一层神经元组成。其输出为二元分类(0或1)。在训练过程中,通过调整权重使得预测尽可能接近目标。

多层感知机(MLP)

多层感知机(Multilayer Perceptron)是由多个神经元层(包括输入层、隐藏层和输出层)组成的网络。多层感知机通过增加隐藏层来学习更加复杂的特征。多层网络使用非线性激活函数,使得模型具备更强的拟合能力。

假设有一输入层 $ x $,两层隐藏层(第1层输出为 $ h^{(1)} $,第2层输出为 $ h^{(2)} $,最终输出为 $ y $,则网络的计算过程为:

\[h^{(1)} = f(W^{(1)} x + b^{(1)}) \]

\[h^{(2)} = f(W^{(2)} h^{(1)} + b^{(2)}) \]

\[y = f(W^{(3)} h^{(2)} + b^{(3)}) \]

3. 误差逆传播算法(Backpropagation)

误差逆传播是训练多层神经网络的关键算法,用于计算和调整网络的参数(权重和偏置)。目标是最小化损失函数 $ L(y, \hat{y}) $,如均方误差(MSE)或交叉熵损失(Cross-Entropy)。

损失函数

假设真实值为 $ y $,预测值为 $\hat{y} $,损失函数定义为:

\[L(y, \hat{y}) = \frac{1}{2} \sum (y - \hat{y})^2 \]

参数更新

通过反向传播算法,利用链式法则从输出层到输入层逐层计算梯度,并根据梯度下降法(如 SGD)调整参数。对于权重 $ w_{ij} $,梯度更新公式为:

\[w_{ij} = w_{ij} - \alpha \frac{\partial L}{\partial w_{ij}} \]

其中,学习率 $ \alpha $ 控制步长大小。

4. 全局最小与局部最小

在神经网络的训练过程中,损失函数$ L $ 通常是非凸的。优化过程可能会陷入局部最小值,即找到的最优解不是全局最优。

在实际应用中,优化算法(如 Adam、RMSProp)和初始化方法可以帮助网络跳出局部最小值,逼近全局最小值。

5. 深度学习(Deep Learning)

深度学习是指拥有多层结构的神经网络模型。由于层数的增加,网络能够学习到更高级的特征表示。

深层神经网络(DNN)的结构

深层神经网络由多层隐藏层组成,结构如下:

  • 输入层:接受原始输入特征。
  • 隐藏层:层数越多,网络越深,抽象能力越强。
  • 输出层:最终输出预测结果。

深度学习中的挑战

  • 过拟合:深层网络更易过拟合,需通过正则化、Dropout 等技术进行防止。
  • 梯度消失与梯度爆炸:特别是在使用 Sigmoid 和 Tanh 激活函数时,反向传播中梯度容易衰减或爆炸。
  • 计算复杂度:深层神经网络对计算资源要求较高,通常需要 GPU 加速。

posted @ 2024-10-31 23:57  yswtg  阅读(65)  评论(0)    收藏  举报