一、BP神经网络的概念

    BP神经网络是一种多层的前馈神经网络,其主要的特点是:信号是前向传播的,而误差是反向传播的。具体来说,对于如下的只含一个隐层的神经网络模型:
简单易学的机器学习算法——神经网络之BP神经网络
(三层BP神经网络模型)
BP神经网络的过程主要分为两个阶段,第一阶段是信号的前向传播,从输入层经过隐含层,最后到达输出层;第二阶段是误差的反向传播,从输出层到隐含层,最后到输入层,依次调节隐含层到输出层的权重和偏置,输入层到隐含层的权重和偏置。

二、BP神经网络的流程

    在知道了BP神经网络的特点后,我们需要依据信号的前向传播和误差的反向传播来构建整个网络。

1、网络的初始化

    假设输入层的节点个数为简单易学的机器学习算法——神经网络之BP神经网络,隐含层的节点个数为简单易学的机器学习算法——神经网络之BP神经网络,输出层的节点个数为简单易学的机器学习算法——神经网络之BP神经网络。输入层到隐含层的权重简单易学的机器学习算法——神经网络之BP神经网络,隐含层到输出层的权重为简单易学的机器学习算法——神经网络之BP神经网络,输入层到隐含层的偏置为简单易学的机器学习算法——神经网络之BP神经网络,隐含层到输出层的偏置为简单易学的机器学习算法——神经网络之BP神经网络。学习速率为简单易学的机器学习算法——神经网络之BP神经网络,激励函数为简单易学的机器学习算法——神经网络之BP神经网络。其中激励函数为简单易学的机器学习算法——神经网络之BP神经网络取Sigmoid函数。形式为:
简单易学的机器学习算法——神经网络之BP神经网络

2、隐含层的输出

    如上面的三层BP网络所示,隐含层的输出简单易学的机器学习算法——神经网络之BP神经网络
简单易学的机器学习算法——神经网络之BP神经网络

3、输出层的输出

简单易学的机器学习算法——神经网络之BP神经网络

4、误差的计算

    我们取误差公式为:
简单易学的机器学习算法——神经网络之BP神经网络
其中简单易学的机器学习算法——神经网络之BP神经网络为期望输出。我们记简单易学的机器学习算法——神经网络之BP神经网络,则简单易学的机器学习算法——神经网络之BP神经网络可以表示为
简单易学的机器学习算法——神经网络之BP神经网络
以上公式中,简单易学的机器学习算法——神经网络之BP神经网络简单易学的机器学习算法——神经网络之BP神经网络简单易学的机器学习算法——神经网络之BP神经网络

5、权值的更新

    权值的更新公式为:
简单易学的机器学习算法——神经网络之BP神经网络
这里需要解释一下公式的由来:
这是误差反向传播的过程,我们的目标是使得误差函数达到最小值,即简单易学的机器学习算法——神经网络之BP神经网络,我们使用梯度下降法:
  • 隐含层到输出层的权重更新
简单易学的机器学习算法——神经网络之BP神经网络
则权重的更新公式为:
简单易学的机器学习算法——神经网络之BP神经网络
  • 输入层到隐含层的权重更新
简单易学的机器学习算法——神经网络之BP神经网络
其中
简单易学的机器学习算法——神经网络之BP神经网络

简单易学的机器学习算法——神经网络之BP神经网络
则权重的更新公式为:
简单易学的机器学习算法——神经网络之BP神经网络

6、偏置的更新

    偏置的更新公式为:
简单易学的机器学习算法——神经网络之BP神经网络
  • 隐含层到输出层的偏置更新
简单易学的机器学习算法——神经网络之BP神经网络
则偏置的更新公式为:
简单易学的机器学习算法——神经网络之BP神经网络
  • 输入层到隐含层的偏置更新
简单易学的机器学习算法——神经网络之BP神经网络
其中
简单易学的机器学习算法——神经网络之BP神经网络

简单易学的机器学习算法——神经网络之BP神经网络
则偏置的更新公式为:
简单易学的机器学习算法——神经网络之BP神经网络

7、判断算法迭代是否结束

    有很多的方法可以判断算法是否已经收敛,常见的有指定迭代的代数,判断相邻的两次误差之间的差别是否小于指定的值等等。

三、实验的仿真

    在本试验中,我们利用BP神经网络处理一个四分类问题,最终的分类结果为:
简单易学的机器学习算法——神经网络之BP神经网络

相关文章:

  • 2022-12-23
  • 2021-12-30
  • 2021-04-14
  • 2022-01-05
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-09-10
  • 2021-10-03
  • 2022-12-23
  • 2021-10-21
  • 2021-08-28
  • 2021-11-19
相关资源
相似解决方案