【数据挖掘】神经网络 后向传播算法 向前传播输入 案例计算分析 ( 网络拓扑 | 输入层计算 | 隐藏层计算 | 输出层计算 )
文章目录
- I . 神经网络 后向传播算法 计算 隐藏层 与 输出层 的输入输出实例分析
- II . 神经网络 后向传播算法 输入层公式
- III. 神经网络 后向传播算法 输入层计算
- IV . 神经网络 后向传播算法 隐藏层 / 输出层 输入公式
- V . 神经网络 后向传播算法 隐藏层 / 输出层 输出公式
- VI . 神经网络 后向传播算法 计算单元 4 输入值 ( 隐藏层 )
- VII . 神经网络 后向传播算法 计算单元 5 输入值 ( 隐藏层 )
- VIII . 神经网络 后向传播算法 计算单元 4 输出值 ( 隐藏层 )
- IX . 神经网络 后向传播算法 计算单元 5 输出值 ( 隐藏层 )
- X . 神经网络 后向传播算法 计算单元 6 输入值 ( 输出层 )
- XI . 神经网络 后向传播算法 计算单元 6 输出值 ( 输出层 )
I . 神经网络 后向传播算法 计算 隐藏层 与 输出层 的输入输出实例分析
以下面的三层神经网络为例 , 网络拓扑结构如下 :
1 . 网络拓扑 : 该神经网络本质是有向图 , 由节点 和 有向弧组成 ;
① 输入层 : 有 333 个 神经元单元 ( 节点 ) , 分别是 1,2,31 , 2, 31,2,3 节点 ; 输入属性是经过规范化的属性值 , 取值 [0,1][0, 1][0,1] ;
② 隐藏层 : 有 222 个 神经元单元 ( 节点 ) , 分别是 4,54 , 54,5 节点 , 输入层 与 隐藏层 是全连接方式 ;
③ 输出层 : 有 111 个 单元 , 666 节点 ;
2 . 图中的其它已知条件 :
① 输入属性 : 是规范化为 [0,1][0, 1][0,1] 区间的值 ;
② 连接方式 : 该网络结构中的连接方式是全连接方式 , 即每个节点都连接全部的相邻层的节点 ; ( 与之对应的是局部连接 )
③ 连接权值 : 每两个节点间的连接都有一个权值 , 使用 wijw_{ij}wij 表示 , 如 w14w_{14}w14 表示节点 111 和节点 444 之间连接的权值 ;
④ 偏置 : 输入层 和 隐藏层 的节点 , 每个节点都有一个偏置属性 , 如节点 111 偏置表示为 b1b_1b1 ;
输入输出表示 :
① 输入表示 : 使用 I1I_1I1 表示输入 , III 是 Input 输入 单词首字母 , I1I_1I1 表示第 111 个节点的输入 ;
② 输出表示 : 使用 O1O_1O1 表示输出 , OOO 是 Output 输出单词首字母 , O1O_1O1 表示第 111 个节点的输出 ;
II . 神经网络 后向传播算法 输入层公式
输入层公式 : 不做任何操作 , 只是将样本属性传入即可 , 输入层单元的值 , 就是样本的规范化后的属性值 ;
输入值Oj=输出值Ij=样本属性值Xj输入值 O_j = 输出值 I_j = 样本属性值 X_j 输入值Oj=输出值Ij=样本属性值Xj
Oj=Ij=XjO_j = I_j = X_j Oj=Ij=Xj
jjj 代表单元的索引值 ;
OjO_jOj 代表单元输入值 ;
IjI_jIj 代表单元的输出值 ;
XjX_jXj 代表规范化后的样本属性值 ;
规范化属性值 : 这个属性值 XjX_jXj 是经过规范化的 , 一般是 [0,1][0, 1][0,1] 区间内的值 ;
III. 神经网络 后向传播算法 输入层计算
输入层计算 : 输入层的输出值 OiO_iOi 就是输入值 IiI_iIi , i=1,2,3i = 1 , 2 , 3i=1,2,3 ;
① 节点 111 计算 : I1I_1I1 表示节点 111 输入 , O1O_1O1 表示节点 111 输出 , 其中 I1=O1=输入样本值XI_1 = O_1 = 输入样本值 XI1=O1=输入样本值X ;
② 节点 222 计算 : I2I_2I2 表示节点 222 输入 , O2O_2O2 表示节点 222 输出 , 其中 I2=O2=输入样本值XI_2 = O_2 = 输入样本值 XI2=O2=输入样本值X ;
③ 节点 333 计算 : I3I_3I3 表示节点 333 输入 , O1O_1O1 表示节点 333 输出 , 其中 I1=O3=输入样本值XI_1 = O_3 = 输入样本值 XI1=O3=输入样本值X ;
IV . 神经网络 后向传播算法 隐藏层 / 输出层 输入公式
隐藏层 / 输出层 输入公式 :
单个单元输入计算公式方式 ( 重要 ) : 如果有多个上层单元连接本层的 单元 jjj , 只有一个单元 , 可以使用下面的公式计算 , 如果上层有多个单元连接本单元 , 本公式不适用 , 需要多个输入值累加 ;
输入值=上一层单元输出值×连接权值+偏置输入值 = 上一层单元输出值 \times 连接权值 + 偏置输入值=上一层单元输出值×连接权值+偏置
单元 jjj 的上层有多个单元连接的输入值计算方式 :
Ij=∑i=1n(wijOi+θi)I_j = \sum_{i = 1}^{n} ( w_{ij} O_i + \theta_i )Ij=i=1∑n(wijOi+θi)
i=1,⋯,ni = 1 , \cdots , ni=1,⋯,n
IjI_jIj 表示单元 jjj 的输入 ;
nnn 表示前一层有 nnn 个单元与 本层的 单元 jjj 连接 ; n≥0n \geq 0n≥0 ;
iii 表示前一层的单元索引 ;
wijw_{ij}wij 表示 前一层的单元 iii 与本层的连接的 权值 ;
OiO_iOi 表示上一层的输出 ; 这里注意 上一层的输出 与 连接权重 和 偏置 计算后 , 组成下一层的输入 ;
( 上一层的输出值 是 根据上上层的输出 与 上上层 与 连接 偏置计算 得来的 )
θi\theta_iθi 表示上一层单元 iii 的偏置 , 该值通常与连接权值组合使用 , 可以看做是连接的附属属性 , 这样好理解 ;
V . 神经网络 后向传播算法 隐藏层 / 输出层 输出公式
隐藏层 与 输出层 输出值计算过程 : 使用 激活函数 , 将输入值转为输出值 , 一般使用 Sigmoid 激活函数 ;
Oj=11+e−IjO_j = \dfrac{1}{1 + e^{-I_j}}Oj=1+e−Ij1
Sigmoid 是非线性激活函数 , 作用是将全体实数 映射到 (0,1)(0,1)(0,1) 区间上 , 这样就能保证输出的值是一个 (0,1)(0 , 1)(0,1) 之间的值 ;
OjO_jOj 代表单元 jjj 的输出值 ;
IjI_jIj 代表单元 jjj 的输入值 ;
VI . 神经网络 后向传播算法 计算单元 4 输入值 ( 隐藏层 )
1 . 计算隐藏层 输入值 : 需要根据 前一层的输入 , 结合 权值 , 偏置 进行线性累加计算 ;
2 . 计算单元 444 的输入值 :
① 计算过程 :
I4=(w14O1+b1)+(w24O2+b2)+(w34O3+b3)I_4 = (w_{14}O_1 + b_1 ) + (w_{24}O_2 + b_2 ) + (w_{34}O_3 + b_3 )I4=(w14O1+b1)+(w24O2+b2)+(w34O3+b3)
② 连接权值 : w14,w24,w34w_{14} , w_{24} , w_{34}w14,w24,w34 是三条有向弧连接的权值 ; 如 w14w_{14}w14 是单元 111 与 单元 444 连接的权值 ;
③ 偏置 : b1,b2,b3b_1 , b_2, b_3b1,b2,b3 分别是 单元 1,2,31 , 2 , 31,2,3 的偏置 ;
④ 上层单个单元输出对应的输入值 :
(w14O1+b1)(w_{14}O_1 + b_1 )(w14O1+b1) 对应单元 111 输出到单元 444 的输入值 ;
(w24O2+b2)(w_{24}O_2 + b_2 )(w24O2+b2) 对应单元 222 输出到单元 444 的输入值 ;
(w34O3+b3)(w_{34}O_3 + b_3 )(w34O3+b3) 对应单元 333 输出到单元 444 的输入值 ;
⑤ 汇总输入值 : 单元 444 的总的输入值就是上述三个值的累加 ;
VII . 神经网络 后向传播算法 计算单元 5 输入值 ( 隐藏层 )
计算单元 555 的输入值 :
① 计算过程 :
I5=(w15O1+b1)+(w25O2+b2)+(w35O3+b3)I_5 = (w_{15}O_1 + b_1 ) + (w_{25}O_2 + b_2 ) + (w_{35}O_3 + b_3 )I5=(w15O1+b1)+(w25O2+b2)+(w35O3+b3)
② 连接权值 : w15,w25,w35w_{15} , w_{25} , w_{35}w15,w25,w35 是三条有向弧连接的权值 ; 如 w15w_{15}w15 是单元 111 与 单元 555 连接的权值 ;
③ 偏置 : b1,b2,b3b_1 , b_2, b_3b1,b2,b3 分别是 单元 1,2,31 , 2 , 31,2,3 的偏置 ;
④ 上层单个单元输出对应的输入值 :
(w15O1+b1)(w_{15}O_1 + b_1 )(w15O1+b1) 对应单元 111 输出到单元 555 的输入值 ;
(w25O2+b2)(w_{25}O_2 + b_2 )(w25O2+b2) 对应单元 222 输出到单元 555 的输入值 ;
(w35O3+b3)(w_{35}O_3 + b_3 )(w35O3+b3) 对应单元 333 输出到单元 555 的输入值 ;
⑤ 汇总输入值 : 单元 555 的总的输入值就是上述三个值的累加 ;
VIII . 神经网络 后向传播算法 计算单元 4 输出值 ( 隐藏层 )
计算单元 444 输出值 : 使用 Sigmoid 激活函数将输入值转为输出值 ;
O4=11+e−I4O_4 = \dfrac{1}{1 + e^{-I_4}}O4=1+e−I41
Sigmoid 是非线性激活函数 , 作用是将全体实数 映射到 (0,1)(0,1)(0,1) 区间上 , 这样就能保证输出的值是一个 (0,1)(0 , 1)(0,1) 之间的值 ;
O4O_4O4 代表单元 444 的输出值 ;
I4I_4I4 代表单元 444 的输入值 ;
IX . 神经网络 后向传播算法 计算单元 5 输出值 ( 隐藏层 )
计算单元 555 输出值 : 使用 Sigmoid 激活函数将输入值转为输出值 ;
O5=11+e−I5O_5 = \dfrac{1}{1 + e^{-I_5}}O5=1+e−I51
Sigmoid 是非线性激活函数 , 作用是将全体实数 映射到 (0,1)(0,1)(0,1) 区间上 , 这样就能保证输出的值是一个 (0,1)(0 , 1)(0,1) 之间的值 ;
O5O_5O5 代表单元 555 的输出值 ;
I5I_5I5 代表单元 555 的输入值 ;
X . 神经网络 后向传播算法 计算单元 6 输入值 ( 输出层 )
计算单元 666 的输入值 :
① 计算过程 :
I6=(w46O4+b4)+(w56O5+b5)I_6 = (w_{46}O_4 + b_4 ) + (w_{56}O_5 + b_5 )I6=(w46O4+b4)+(w56O5+b5)
② 连接权值 : w46,w56w_{46} , w_{56}w46,w56 是 222 条有向弧连接的权值 ; 如 w46w_{46}w46 是单元 444 与 单元 666 连接的权值 ;
③ 偏置 : b4,b5b_4 , b_5b4,b5 分别是 单元 4,54 , 54,5 的偏置 ;
④ 上层单个单元输出对应的输入值 :
(w45O4+b4)(w_{45}O_4 + b_4 )(w45O4+b4) 对应单元 444 输出到单元 666 的输入值 ;
(w46O5+b5)(w_{46}O_5 + b_5 )(w46O5+b5) 对应单元 555 输出到单元 666 的输入值 ;
⑤ 汇总输入值 : 单元 666 的总的输入值就是上述三个值的累加 ;
XI . 神经网络 后向传播算法 计算单元 6 输出值 ( 输出层 )
计算单元 666 输出值 : 使用 Sigmoid 激活函数将输入值转为输出值 ;
O6=11+e−I6O_6 = \dfrac{1}{1 + e^{-I_6}}O6=1+e−I61
Sigmoid 是非线性激活函数 , 作用是将全体实数 映射到 (0,1)(0,1)(0,1) 区间上 , 这样就能保证输出的值是一个 (0,1)(0 , 1)(0,1) 之间的值 ;
O6O_6O6 代表单元 666 的输出值 ;
I6I_6I6 代表单元 666 的输入值 ;
O6O_6O6 就是最终的分类结果 ;
【数据挖掘】神经网络 后向传播算法 向前传播输入 案例计算分析 ( 网络拓扑 | 输入层计算 | 隐藏层计算 | 输出层计算 )相关推荐
- 神经网络和反向传播算法——反向传播算法本质上是随机梯度下降,链式求导法则而来的...
原文:https://www.zybuluo.com/hanbingtao/note/476663 写得非常好,适合入门! 神经元 神经元和感知器本质上是一样的,只不过我们说感知器的时候,它的激活函数 ...
- 零基础入门深度学习(3) - 神经网络和反向传播算法
无论即将到来的是大数据时代还是人工智能时代,亦或是传统行业使用人工智能在云上处理大数据的时代,作为一个有理想有追求的程序员,不懂深度学习(Deep Learning)这个超热的技术,会不会感觉马上就o ...
- 深度学习(4) - 神经网络和反向传播算法
神经元 神经元和感知器本质上是一样的,只不过我们说感知器的时候,它的激活函数是阶跃函数:而当我们说神经元时,激活函数往往选择为sigmoid函数或tanh函数.如下图所示: 计算一个神经元的输出的方法 ...
- 机器学习:神经网络的代价函数及反向传播算法
在<机器学习:神经网络的模型构建>中,我记录了神经网络的一些基础知识,包括神经网络的逻辑单元.模型表示.前向传播等等.这篇笔记中,我会整理神经网络的代价函数以及反向传播算法- 那么如何在给 ...
- 吴恩达《机器学习》课程总结(8)_神经网络参数的反向传播算法
Q1代价函数 (1)假设神经网络的训练样本有m个,每一个包含一组输入x和一组输出信号y,L表示神经网络的层数,Sl表示每一层的神经元个数,SL代表最后一层中处理单元的个数. 则代价函数为(同样不对θ0 ...
- 反向传播算法公式推导,神经网络的推导
如何理解神经网络里面的反向传播算法 反向传播算法(Backpropagation)是目前用来训练人工神经网络(ArtificialNeuralNetwork,ANN)的最常用且最有效的算法. 其主要思 ...
- 深度学习(四):卷积神经网络(CNN)模型结构,前向传播算法和反向传播算法介绍。
在前面我们讲述了DNN的模型与前向反向传播算法.而在DNN大类中,卷积神经网络(Convolutional Neural Networks,以下简称CNN)是最为成功的DNN特例之一.CNN广泛的应用 ...
- 人工神经网络反向传播,神经网络后向传播
如何理解神经网络里面的反向传播算法 反向传播算法(Backpropagation)是目前用来训练人工神经网络(ArtificialNeuralNetwork,ANN)的最常用且最有效的算法. 其主要思 ...
- 神经网络反向传播算法推导
反向传播是多数神经网络进行参数更新的基本方法,它的本质是巧妙利用了高数中的链式法则,下面对这一方法进行推导: (1)符号说明 :神经元的激活函数 :神经网络的权重向量 :神经网络的偏置向量 :某层的输 ...
最新文章
- 浅析比特币的找零机制
- 关于中值滤波算法,以及C语言实现(转)
- pdfbox 第一页加内容_你用代码做过哪些很酷/有趣的事?
- MySQL 数据格式化
- spring注解方式注入bean
- python字符串设置字体_python怎么更改字符串后几位
- 农产品加工进销存单_农产品进销存ERP—物资的内部腾挪转换也是交易的一种形式...
- libvirt- Virsh 所有命令详单
- 路由的二次风口,华为与迅游能抓住吗?
- 为什么象网络蚂蚁这样的多线程程序可以加快下载速度?
- SwitchyOmega规则列表地址
- 8个免费图片素材网,赶紧收藏起来
- 淘客外卖返利小程序搭建 - 美团联盟外卖返利小程序平台、饿了么返利小程序系统、外卖cps小程序
- 阿里、京东、拼多多都来了,互联网+疫苗是一门好生意吗?
- Leetcode-二分+递归/回溯-1723. 完成所有工作的最短时间
- 《数值分析》-- 埃尔米特插值与分段插值
- C#的循环控制语句(break,continue)语句
- python中key什么意思_Python中字典的key都可以是什么
- 好问题:为什么有些大公司技术弱爆了?
- Spring Boot 3.0 正式发布,这份升级指南必须收藏