码农的世界程序员人工智能

JAVAEE与人工智能实战之--BP神经网络的训练过程

2019-04-05  本文已影响7人  山东大葱哥

神经网络的训练过程分为两个过程:1、正向传播得到预测数据;2、反向传播更新权重。如下图所示:


image.png

正向传播得到预测数据

正向传播的过程,即数据从输入层输入,经过隐含层,输出层的计算得到预测值,预测值为输出层的输出结果。网络层的输出即该层中所有节点(神经元)的输出值的集合。我们以图一的神经网络结构为例,分析正向传播过程。

  1. 得到隐含层的输出y1,y2,y3

    image.png
    image.png
    image.png
  2. 获取到第二层的隐含层输出y4,y5
    获取到第二层的隐含层输出y4,y5,输入的数据也就是第一层隐含层的输出数据y1,y2,y3。

    image.png image.png
  3. 通过输出层得到最后的预测值y

    image.png

反向传播计算各层误差

根据样本的真实类标,计算模型预测的结果与真实类标的误差。然后将该误差反向传播到各个隐含层。计算出各层的误差,再根据各层的误差,更新权重。

  1. 计算输出层的误差
    中z为该样本的类标

    image.png
  2. 计算第二层隐含层的误差

    image.png
    image.png
  3. 计算第一次隐含层的误差

    image.png
    image.png
    image.png

更新偏置及权重**

  1. 更新输入层与第一层隐含层之间的权重

    image.png
    image.png
    image.png
  2. 更新第一层隐含层与第二层隐含层之间的权重

    image.png
    image.png
  3. 更新第二层隐含层与输出层之间的权重

    image.png

以上就是反向传播的过程。误差从输出层反向的传到输入层,然后再从输入层向前更新权重。

上一篇 JAVAEE与人工智能目录 下一篇
上一篇下一篇

猜你喜欢

热点阅读