BP神经网络

简介: BP神经网络

讲解视频:学习视频


BP神经网络


1.激活函数


激活函数(Activation Function)是在人工神经网络的神经元上运行的函数,负责将神经元的输入映射到输出端。激活函数对于人工神经网络模型去学习、理解复杂的非线性函数,具有十分重要的作用。


如果不使用激活函数,每一层输出都是上一层输入的线性运算,无论神经网络有多少层,最终的输出只是输入的线性组合,相当于感知机。如果使用了激活函数,将非线性因素引入到网络中,使得神经网络可以任意逼近任何非线性函数,能够应用到更多的非线性模型。


常用的激活函数


sigmoid 函数

Sigmoid函数是一个在生物学中常见的S型函数,也称为S型生长曲线。在信息科学中,由于其单增以及反函数单增等性质,Sigmoid函数常被用作神经网络的阈值函数,将变量映射到0,1之间,公式如下:

image.png

7f8b3506a8e14c9697aefc031c2fd8d2.png

ReLU函数


Relu激活函数(The Rectified Linear Unit),用于隐藏层的神经元输出。公式如下:


f(x)=max(0,x)

204192c237964747a8bd85425c55dbd3.png


Tanh 函数


Tanh 是双曲函数中的一个,Tanh() 为双曲正切。在数学中,双曲正切“Tanh”是由基本双曲函数双曲正弦和双曲余弦推导而来。公式如下:

image.png

softmax 函数


softmax 函数用于输出层。假设输出层共有n个神经元,计算第k个神经元的输出ky

softmax 函数的分子是输入信号ak的指数函数,分母是所有输入信号的指数函数的和。softmax 函数公式如下:

image.png


2.神经网络结构


第0层是输入层(2个神经元),第1层是隐含层(3个神经元),第2层是隐含层(2个神经元),第3层是输出层。

6d4265363d5a4c2c808c972347685e2c.png


符号约定


image.png

image.png

image.png


3.损失函数


在有监督的机器学习算法中,我们希望在学习过程中最小化每个训练样例的误差。通过梯度下降等优化策略完成的,而这个误差来自损失函数。

损失函数用于单个训练样本,而成本函数是多个训练样本的平均损失。优化策略旨在最小化成本函数。下面例举几个常用的损失函数。


回归问题


image.png


分类问题


image.png


4.反向传播


反向传播的基本思想:通过计算输出层与期望值之间的误差来调整网络参数,使得误差变小(最小化损失函数或成本函数)。反向传播基于四个基础等式,非常简洁优美,但想要理解透彻还是挺烧脑的。


求解梯度矩阵


image.png

矩阵相乘


image.png

矩阵对应元素相乘


使用符号⊙ \odot表示:

image.png


梯度下降法


从几何意义,梯度矩阵代表了函数增加最快的方向,沿着梯度相反的方向可以更快找到最小值。

658832a6258d42bcb95724095a11a6fd.png


反向传播的过程就是利用梯度下降法原理,逐步找到成本函数的最小值,得到最终的模型参数。


反向传播公式推导(四个基础等式)


image.png


等式一 输出层误差


image.png

写成矩阵形式是:

image.png


表示成公式:

image.png


推导

image.png


等式二 隐藏层误差


image.png

写成矩阵形式:

image.png

矩阵形状:(j,k) * (k,1) ⊙ (j,1) = (j,1)


权重矩阵的形状从(k,j)转置变成(j,k)。


表示成公式:

image.png


推导


image.png


等式三 参数变化率


image.png

写成矩阵形式:

image.png


矩阵形状:(j,1)

image.png


矩阵形状:(j,1) * (1,k) = (j,k)

image.png

表示成公式:

image.png


推导


image.png


等式四 参数更新


根据梯度下降法原理,朝着梯度的反方向更新参数

image.png


写成矩阵形式:

image.png


这里的α 指的是学习率。学习率决定了反向传播过程中梯度下降的步长。


反向传播图解


计算输出层误差

爱吃.png

计算隐藏层误差

风格.png

image.png

366ca6547c4343709d6b592ecd527042.png

的.png


改变.png


计算参数变化率

充分的.png


反向传播公式总结


单样本输入公式表

image.png


多样本输入公式表


成本函数

多样本输入使用的成本函数与单样本不同。假设单样本的成本函数是交叉熵损失函数。

L(a,y)=[ylog(a)+(1y)log(1a)]

那么,对于m个样本输入,成本函数是每个样本的成本总和的平均值。

image.png


误差


单样本输入的每一层的误差是一个列向量

image.png

而多样本输入的每一层的误差不再是一个列向量,变成一个m列的矩阵,每一列对应一个样本的向量。那么多样本的误差定义为:

image.png


参数变换率


image.png

image.png


目录
相关文章
|
7月前
|
机器学习/深度学习 算法 调度
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
548 0
|
6月前
|
机器学习/深度学习 算法
采用蚁群算法对BP神经网络进行优化
使用蚁群算法来优化BP神经网络的权重和偏置,克服传统BP算法容易陷入局部极小值、收敛速度慢、对初始权重敏感等问题。
464 5
|
7月前
|
机器学习/深度学习 并行计算 算法
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
172 8
|
7月前
|
机器学习/深度学习 传感器 算法
【表面粗糙度】基于粒子群PSO算法优化-BP神经网络的表面粗糙度研究(Matlab代码实现)
【表面粗糙度】基于粒子群PSO算法优化-BP神经网络的表面粗糙度研究(Matlab代码实现)
325 7
|
7月前
|
机器学习/深度学习 编解码 并行计算
【创新未发表!】基于BKA算法优化-BP、HO算法优化-BP、CP算法优化-BP、GOOSE算法优化-BP、NRBO算法优化-BP神经网络回归预测比较研究(Matlab代码)
【创新未发表!】基于BKA算法优化-BP、HO算法优化-BP、CP算法优化-BP、GOOSE算法优化-BP、NRBO算法优化-BP神经网络回归预测比较研究(Matlab代码)
452 0
|
7月前
|
机器学习/深度学习 数据采集 运维
改进的遗传算法优化的BP神经网络用于电厂数据的异常检测和故障诊断
改进的遗传算法优化的BP神经网络用于电厂数据的异常检测和故障诊断
|
8月前
|
机器学习/深度学习 算法 调度
基于遗传算法GA算法优化BP神经网络(Python代码实现)
基于遗传算法GA算法优化BP神经网络(Python代码实现)
513 0
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
399 17
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
309 10
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。

热门文章

最新文章