神经网络复习--神经网络算法模型及BP算法

文章目录

  • 神经网络模型的构成
  • BP神经网络

神经网络模型的构成

三种表示方式:
在这里插入图片描述
神经网络的三要素:

  1. 具有突触或连接,用权重表示神经元的连接强度
  2. 具有时空整合功能的输入信号累加器
  3. 激励函数用于限制神经网络的输出

感知神经网络
在这里插入图片描述

BP神经网络

BP神经网络的学习由信息的正向传播和误差的反向传播两个过程组成,学习规则采用W-H学习规则(最小均方差,梯度下降法),通过反向传播,不断调整网络的权重和阈值,使得网络的误差平方和最小。

BP神经网络模型通用描述:
z ( k ) = w ( k ) x ( k ) + b ( k ) y ( k ) = f ( z ( k ) ) z^{(k)} = w^{(k)}x^{(k)} + b^{(k)} \\y^{(k)} = f(z^{(k)}) z(k)=w(k)x(k)+b(k)y(k)=f(z(k))

o ( k ) = f ( w ( k ) o ( k − 1 ) + b ( k ) ) o^{(k)} = f(w^{(k)}o^{(k - 1)} + b^{(k)}) o(k)=f(w(k)o(k1)+b(k))

损失函数的构建 E = 1 2 n ∑ p = 1 n ( T p − Q p ) 2 E = \frac{1}{2n} \sum\limits_{p=1}^{n}(T_p - Q_p)^2 E=2n1p=1n(TpQp)2
预测的输出值减期望的输出值的均方差

梯度下降法:
W ( k + 1 ) = W k − a ∗ α α w k ∗ E ( w k , b k ) b ( k + 1 ) = b k = a ∗ α α b k ∗ E ( w k , b k ) W_{(k +1)} = W_{k} - a * \frac{\alpha}{\alpha w_k} * E(w_k, b_k) \\ b_{(k + 1)} = b_k = a * \frac{\alpha}{\alpha b_k} * E(w_k, b_k) W(k+1)=WkaαwkαE(wk,bk)b(k+1)=bk=aαbkαE(wk,bk)

而:
α α w k ∗ E = 1 2 m ∗ ∑ i = 1 m ∗ 2 ∗ ( w k x i + b − y i ) ∗ x i α α b k ∗ E = 1 2 m ∗ ∑ i = 1 m ∗ 2 ∗ ( w k x i + b − y i ) \frac{\alpha}{\alpha w_k} * E = \frac{1}{2m} * \sum\limits_{i = 1}^{m} *2 * (w_k x^i + b - y^i) * x^i \\ \frac{\alpha}{\alpha b_k} * E = \frac{1}{2m} * \sum\limits_{i = 1}^{m} *2 * (w_k x^i + b - y^i) αwkαE=2m1i=1m2(wkxi+byi)xiαbkαE=2m1i=1m2(wkxi+byi)

当采用sigmoid激活函数:
导数: f ′ ( n e t j l ) = f ( n e t j l ) ( 1 − f ( n e t j l ) ) f'(net^l_j) = f(net^l_j)(1 - f(net^l_j)) f(netjl)=f(netjl)(1f(netjl))
( 1 1 + e − z ) ′ = ( 1 1 + e − z ) ∗ ( 1 − 1 1 + e − z ) (\frac{1}{1 + e^{-z}})' = (\frac{1}{1 + e^{-z}}) * (1 - \frac{1}{1 + e^{-z}}) (1+ez1)=(1+ez1)(11+ez1)
对于交叉熵损失函数有:
在这里插入图片描述
例题:
给定神经网络如下:
在这里插入图片描述
输入值为:x1, x2 = 0.5, 0.3
期望输出值为y1, y2 = 0.23, -0.07
给出正向传播的初始参数为 w 1 w_1 w1~ w 8 w_8 w8为0.2 -0.4 0.5 0.6 0.1 -0.5 -0.3 0.8
采用平方损失函数,梯度下降法求解第一轮更新后的参数。

在这里插入图片描述

训练步骤

  1. 表达:计算训练的输出矢量 A = W ∗ P + B A = W * P + B A=WP+B,以及与期望输出之间的误差;
  2. 检查:将网络输出误差的平方和与期望误差相比较,如果其值小于期望误差,或训练以达到实现设定的最大训练次数,则停止训练;否则继续。
  3. 学习:采用最小均方差和梯度下降方法计算权值和偏差,并返回到1

BP算法的改进

  1. 带动量因子算法
  2. 自适应学习速率
  3. 改变学习速率的方法
  4. 作用函数后缩法
  5. 改变性能指标函数

最近更新

  1. .Net Core WebAPI参数的传递方式

    2024-05-13 06:34:09       0 阅读
  2. QT--气泡框的实现

    2024-05-13 06:34:09       1 阅读
  3. LeetCode 968.监控二叉树 (hard)

    2024-05-13 06:34:09       0 阅读
  4. leetcode热题100.完全平方数(动态规划进阶)

    2024-05-13 06:34:09       0 阅读
  5. leetcode328-Odd Even Linked List

    2024-05-13 06:34:09       0 阅读
  6. C 语言设计模式(结构型)

    2024-05-13 06:34:09       0 阅读
  7. v-if 与 v-show(vue3条件渲染)

    2024-05-13 06:34:09       0 阅读
  8. kafka防止消息丢失配置

    2024-05-13 06:34:09       0 阅读

热门阅读

  1. RabbitMQ 如何使用延迟队列

    2024-05-13 06:34:09       4 阅读
  2. yolov9c-seg 在自动驾驶领域的应用

    2024-05-13 06:34:09       3 阅读
  3. Python基础语法【1】

    2024-05-13 06:34:09       2 阅读
  4. 队列(详解)

    2024-05-13 06:34:09       3 阅读
  5. 使用Docker容器在Linux上部署MySQL

    2024-05-13 06:34:09       2 阅读
  6. ffmpeg推流flv到rtmp

    2024-05-13 06:34:09       3 阅读
  7. cpu常用命令

    2024-05-13 06:34:09       2 阅读
  8. Hadoop快速搭建指南

    2024-05-13 06:34:09       3 阅读