西瓜书+南瓜书 第5章 神经网络

201 阅读1分钟

1. M-P神经元模型

M-P神经元(McCulloch-Pitts Neuron)是神经网络的基础单元。它接收多个输入信号,通过权重加权求和,并与阈值进行比较,然后通过激活函数得到输出。

公式表示如下:

y=f(i=1nwixiθ)y = f\left(\sum_{i=1}^{n} w_i x_i - \theta \right)

其中:

  • xix_i :输入信号
  • wiw_i:输入信号的权重
  • θ\theta:神经元的阈值
  • ff:激活函数

常见的激活函数包括:

  • 阶跃函数

    f(x)={1if x00if x<0f(x) = \begin{cases} 1 & \text{if } x \geq 0 \\ 0 & \text{if } x < 0 \end{cases}
  • Sigmoid函数

σ(x)=11+ex\sigma(x) = \frac{1}{1 + e^{-x}}
  • Tanh函数
tanh(x)=exexex+ex\tanh(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}}
  • ReLU函数
ReLU(x)=max(0,x)\text{ReLU}(x) = \max(0, x)

2. 感知机模型

感知机(Perceptron)是一种简单的线性分类器,其激活函数为阶跃函数。感知机通过学习一个线性决策边界来对输入数据进行分类。

感知机的公式如下:

y=f(i=1nwixiθ)y = f\left(\sum_{i=1}^{n} w_i x_i - \theta \right)

感知机的目标是找到一个超平面,将数据集中的样本点正确分类。其学习算法基于梯度下降法,对误分类样本进行权重更新:

ww+η(yy^)xw \leftarrow w + \eta(y - \hat{y})x

其中:

  • η\eta:学习率
  • yy:真实标签
  • y^\hat{y}:预测标签

感知机模型只能处理线性可分的数据,对于非线性可分的数据,需要多层神经网络来解决。

3. 多层前馈神经网络(MLP)

多层前馈神经网络(Multi-Layer Perceptron, MLP)由输入层、一个或多个隐藏层和输出层组成。每层的神经元与下一层的神经元全连接。

MLP中的每个神经元都包含一个激活函数,常见的激活函数包括Sigmoid函数和ReLU函数。通过引入隐藏层,MLP能够处理非线性可分的数据。

4. 反向传播算法(BP算法)

反向传播算法(Backpropagation)用于训练多层前馈神经网络。其基本思想是通过梯度下降法,最小化预测输出与真实标签之间的误差。BP算法分为两个阶段:前向传播和反向传播。

  1. 前向传播:计算每个神经元的输出。
  2. 计算误差:使用损失函数(如均方误差)计算输出误差。
  3. 反向传播:将误差从输出层反向传播到输入层,计算每个权重的梯度。
  4. 更新权重:使用梯度下降法调整权重。

损失函数为均方误差(MSE):

E=1nk=1n(yky^k)2E = \frac{1}{n} \sum_{k=1}^{n} (y_k - \hat{y}_k)^2

权重的更新公式为:

wijwijηEwijw_{ij} \leftarrow w_{ij} - \eta \frac{\partial E}{\partial w_{ij}}

其中:

  • η\eta:学习率
  • Ewij\frac{\partial E}{\partial w_{ij}}:损失函数对权重的偏导数

5. 深度学习

深度学习(Deep Learning)是指具有多个隐藏层的神经网络。通过增加网络的深度,可以提高模型的表达能力,解决更复杂的任务。

常见的深度学习模型包括:

  • 卷积神经网络(Convolutional Neural Network, CNN):主要用于图像处理。
  • 递归神经网络(Recurrent Neural Network, RNN):主要用于序列数据处理。

深度学习中的两个重要策略:

  1. 无监督逐层训练:逐层预训练,然后进行全局微调。
  2. 权重共享:同一层神经元使用相同的连接权重,典型的例子是CNN。

参考文献: