【数据挖掘】神经网络 后向传播算法 ( 线性回归与逻辑回归 | 单个神经元本质及逻辑 | 神经网络每一层分析 | 神经网络矩阵形式 | 线性变换与非线性变换 )
文章目录
- I . 线性回归 与 逻辑回归
- II . sigmod 非线性激活函数
- III . 神经元单元 逻辑
- IV . 单个 神经元单元 总结
- V . 神经网络 每一层分析
- VI . 神经网络 矩阵形式
I . 线性回归 与 逻辑回归
1 . 神经元单元本质 : 一个 神经元 单元 , 其本质是 逻辑回归单元 ;
2 . 逻辑回归 与 线性回归 :
① 回归 : 用于预测连续的值 , 叫做回归 ; 预测离散的值叫做分类 ;
② 线性回归 : 确定若干变量之间的相互依赖关系 ; 回归分析中 , 自变量 xxx , 因变量 yyy , y=wx+by=wx +by=wx+b , 自变量和因变量之间的关系是一条直线 , 叫做一元线性回归分析 ; 如果有多个自变量 , 自变量与因变量是线性关系 , 叫做多远线性回归分析 ;
③ 逻辑回归 : 是广义的线性回归 , 类似于多重线性回归分析 , 其模型都包含 wx+bwx+bwx+b ; 多重线性回归将 wx+bwx+bwx+b 作为因变量 ; 逻辑回归 通过函数 LLL , 将 wx+bwx+bwx+b 转为状态 ppp , p 决定因变量的值 , LLL 函数如果是逻辑函数 , 该回归就是逻辑回归 ;
④ sigmod 激活函数 : 这里的 sigmod 激活函数就是逻辑回归函数 , 因此该回归也叫作逻辑回归 ;
⑤ 线性支持向量机 : 某种程度上是逻辑回归 ;
II . sigmod 非线性激活函数
1 . sigmod 非线性变换函数的作用 : 目的是为了进行非线性变换 ;
没有逻辑回归后果 : 如果没有非线性变换 , 不管神经网络是多少层的 , 只能进行 111 个线性变换 ; 每一层的输出都是上一层的输出的线性变换结果 , 即使有 100100100 层 , 其变换还是线性的 , 无法拟合复杂的的函数变换 ;
sigmod 函数是非线性的激活函数 , 目的是将线性的计算 , 转为非线性的计算方式 ;
引入了非线性激活函数 , 使整个神经网络的模型更加 灵活 ;
2 . 线性计算 : 神经元单元 输入的计算方式是 将上一层单元的输出进行线性叠加 , 乘以一个权值 , 再加上偏置 , 这是线性计算 , 该操作执行 100100100 次也是线性操作 ;
3 . 非线性计算 : 神经元单元 输出的计算方式是 将输入的数值 , 经过 sigmod 激活函数 , 转为一个 (0,1)(0,1)(0,1) 的输出结果 , 该计算过程是非线性的操作 ;
III . 神经元单元 逻辑
神经元单元 逻辑 :
hw,b(x)=f(wx+b)h_{w,b}(x) = f(w x + b)hw,b(x)=f(wx+b)
f(z)=11+e−zf(z) = \dfrac{1}{1 + e^{-z}}f(z)=1+e−z1
xxx 是上一层连接单元的输出 ;
www 指的是单元之间连接的权重 ;
bbb 指的是单元本身的偏置属性 , 可能是一个单元的偏置 , 如果有多个连接 , 就是多个单元的偏置之和 ;
hhh 就是将线性的 wx+bwx+bwx+b 结果转为 (0,1)(0,1)(0,1) 区间值的隐藏状态 ;
wx+bw x + bwx+b 是本层的输入 ;
fff 函数是一个非线性的激活函数 , 这里指的是 sigmod 激活函数 , 将本层的输入转为本层的输出 , 该函数将全体实数映射到 (0,1)(0,1)(0,1) 之间 ;
hw,b(x)h_{w,b}(x)hw,b(x) 是将上一层的输出 , 转为本层的输出 ;
IV . 单个 神经元单元 总结
1 . 单个 神经元单元 总结 :
① 线性回归转换成输入 : 计算中间层单元的输入时 , 通过上一层的输出值 乘以 连接权值 , 加上偏置 , 等一系列线性计算 , 得到输入值 , 这是线性回归变换 ;
② 逻辑回归转换成输出 : 将上述线性回归变换的结果 , 经过 sigmod 激活函数计算 , 将多个线性输入 , 转化成了 (0,1)(0, 1)(0,1) 区间内的 单个输出 ,
2 . 通过线性回归将输出转为输入 ;
然后通过 sigmod 激活函数 , 将输入转换成了 (0,1)(0,1)(0,1) 区间的 输出值 ;
单层的 多个神经元单元 , 可以看做是同时并发运行的逻辑回归单元 ;
V . 神经网络 每一层分析
1 . 神经网络本质 : 神经元的本质是运行单个逻辑回归单元 , 神经网络的本质是 在每一层并行运行多个逻辑回归单元 , 先后运行多层 ( 输入层 / 隐藏层 / 输出层 ) ;
2 . 神经网络每层单元运行机制 ( 并行运行多个单元 ) : 对于神经网络中的每一层 , 有若干个神经元单元 , 该层的运行相当于若干个 神经元单元 并行运行 , 即 该层的神经元单元同时进行 输入计算 , 同时进行输出计算 , 然后根据输出 , 计算后一层的每个单元的输入值 ;
3 . 神经网络每层的输入输出 :
① 线性输入 : 神经网络每一层的输入 , 可以看做若干线性回归 计算 ;
② 逻辑输出 : 神经网络每一层的输出 , 可以看做若干逻辑回归 计算 ;
4 . 神经网络层计算本质 : 将 向量值 ( 多个单元的输入值 ) 传入一组逻辑回归函数 ( sigmod 激活函数 ) , 得到的也是向量值输出 ( 多个单元的输出值 ) ;
向量值就是多个变量组成的一维矩阵 ;
VI . 神经网络 矩阵形式
1 . 使用上一篇博客的示例 : 以计算下图中的 4,54 , 54,5 两个节点的输入 和 输出为例 ;
① 节点 4,54 , 54,5 输入计算
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)
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)
② 连接权值 : w14,w24,w34,w15,w25,w35w_{14} , w_{24} , w_{34}, w_{15} , w_{25} , w_{35}w14,w24,w34,w15,w25,w35 是 666 条有向弧连接的权值 ; 如 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 的输入值 ;
(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 的输入值 ;
2 . 隐藏层 输入 计算的矩阵形式 :
隐藏层输入计算 : Z=Wx+bZ = Wx + bZ=Wx+b
隐藏层输出计算 : a=f(z)a = f(z)a=f(z)
① www 矩阵 : 上一层单元 与 本层单元 连接的 权值矩阵 , 共有 666 个连接 , 如 w14w_{14}w14 代表单元 111 和单元 444 的连接 ;
W=[w14w24w34w15w25w35]W = \begin{bmatrix} w_{14} & w_{24} & w_{34} \\\\ w_{15} & w_{25} & w_{35} \end{bmatrix}W=⎣⎡w14w15w24w25w34w35⎦⎤
② xxx 矩阵 : 代表上一层单元的输出值 矩阵 , O1O_1O1 代表单元 111 的输出 , O2O_2O2 代表单元 222 的输出 , O3O_3O3 代表单元 333 的输出 ;
x=[O1O2O3]x=\begin{bmatrix} O_1 \\\\ O_2 \\\\ O_3 \end{bmatrix}x=⎣⎢⎢⎢⎢⎡O1O2O3⎦⎥⎥⎥⎥⎤
③ bbb 矩阵 : b 代表上一层单元的偏置矩阵 ;
b=[b1b2b3]b=\begin{bmatrix} b_1 \\\\ b_2 \\\\ b_3 \end{bmatrix}b=⎣⎢⎢⎢⎢⎡b1b2b3⎦⎥⎥⎥⎥⎤
④ zzz 矩阵 : 代表隐藏层输入值矩阵 , 使用上面的 w,x,bw, x , bw,x,b 三个矩阵计算出的结果也是矩阵 , 结果是线性计算输入的值组成的矩阵 ;
z=[I1I2]z=\begin{bmatrix} I_1 \\\\ I_2 \end{bmatrix}z=⎣⎡I1I2⎦⎤
⑤ aaa 矩阵 : 代表隐藏层的 222 个单元的输出值 ;
a=[O1O2]a=\begin{bmatrix} O_1 \\\\ O_2 \end{bmatrix}a=⎣⎡O1O2⎦⎤
即 :
O1=11+e−I1O_1 = \dfrac{1}{1 + e^{-I_1}}O1=1+e−I11
O2=11+e−I2O_2 = \dfrac{1}{1 + e^{-I_2}}O2=1+e−I21
3 . 矩阵形式 展开 :
① 隐藏层输入计算 : Z=Wx+bZ = Wx + bZ=Wx+b
② 隐藏层输出计算 : a=f(z)a = f(z)a=f(z)
③ 隐藏层输入计算矩阵形式展开后为 :
[I1I2]=[w14w24w34w15w25w35]×[O1O2O3]+[b1b2b3]\begin{bmatrix} I_1 \\\\ I_2 \end{bmatrix} = \begin{bmatrix} w_{14} & w_{24} & w_{34} \\\\ w_{15} & w_{25} & w_{35} \end{bmatrix} \times \begin{bmatrix} O_1 \\\\ O_2 \\\\ O_3 \end{bmatrix} + \begin{bmatrix} b_1 \\\\ b_2 \\\\ b_3 \end{bmatrix}⎣⎡I1I2⎦⎤=⎣⎡w14w15w24w25w34w35⎦⎤×⎣⎢⎢⎢⎢⎡O1O2O3⎦⎥⎥⎥⎥⎤+⎣⎢⎢⎢⎢⎡b1b2b3⎦⎥⎥⎥⎥⎤
④ 隐藏层输出计算矩阵形式展开后为 :
[O1O2]=f([I1I2])\begin{bmatrix} O_1 \\\\ O_2 \end{bmatrix} = f( \begin{bmatrix} I_1 \\\\ I_2 \end{bmatrix} )⎣⎡O1O2⎦⎤=f(⎣⎡I1I2⎦⎤)
【数据挖掘】神经网络 后向传播算法 ( 线性回归与逻辑回归 | 单个神经元本质及逻辑 | 神经网络每一层分析 | 神经网络矩阵形式 | 线性变换与非线性变换 )相关推荐
- 【数据挖掘】神经网络 后向传播算法 向前传播输入 案例计算分析 ( 网络拓扑 | 输入层计算 | 隐藏层计算 | 输出层计算 )
文章目录 I . 神经网络 后向传播算法 计算 隐藏层 与 输出层 的输入输出实例分析 II . 神经网络 后向传播算法 输入层公式 III. 神经网络 后向传播算法 输入层计算 IV . 神经网络 ...
- 【数据挖掘】神经网络 后向传播算法( 向后传播误差 | 输出层误差公式 | 隐藏层误差公式 | 单元连接权值更新公式 | 单元偏置更新公式 | 反向传播 | 损失函数 | 误差平方和 | 交叉熵 )
文章目录 I . 向后传播误差 简介 II . 输出层误差计算公式 III . 隐藏层层误差计算公式 IV . 使用误差更新 连接权值 V . 使用误差更新 单元偏置 VI . 反向传播 过程 VII ...
- 【数据挖掘】神经网络 后向传播算法 ( 梯度下降过程 | 梯度方向说明 | 梯度下降原理 | 损失函数 | 损失函数求导 | 批量梯度下降法 | 随机梯度下降法 | 小批量梯度下降法 )
文章目录 I . 梯度下降 Gradient Descent 简介 ( 梯度下降过程 | 梯度下降方向 ) II . 梯度下降 示例说明 ( 单个参数 ) III . 梯度下降 示例说明 ( 多个参数 ...
- 李宏毅机器学习笔记4:Brief Introduction of Deep Learning、Backpropagation(后向传播算法)...
李宏毅老师的机器学习课程和吴恩达老师的机器学习课程都是都是ML和DL非常好的入门资料,在YouTube.网易云课堂.B站都能观看到相应的课程视频,接下来这一系列的博客我都将记录老师上课的笔记以及自己对 ...
- 机器学习之五:神经网络、反向传播算法推导
一.逻辑回归的局限 在逻辑回归一节中,使用逻辑回归的多分类,实现了识别20*20的图片上的数字. 但所使用的是一个一阶的模型,并没有使用多项式,为什么? 可以设想一下,在原有400个特征的数据样本中, ...
- 机器学习——人工神经网络之后向传播算法(BP算法)
目录 一.后向传播算法的本质--梯度下降法求局部极值 1.w迭代公式的合理性 二.后向传播算法的推导(以二层神经网络为例) 1.问题描述(创建目标函数loss函数,求参数) 2.求解参数的流程(四步曲 ...
- 通俗理解神经网络BP反向传播算法
转载自 通俗理解神经网络BP反向传播算法 通俗理解神经网络BP反向传播算法 在学习深度学习相关知识,无疑都是从神经网络开始入手,在神经网络对参数的学习算法bp算法,接触了很多次,每一次查找资料学习 ...
- 零基础入门深度学习(3) - 神经网络和反向传播算法
无论即将到来的是大数据时代还是人工智能时代,亦或是传统行业使用人工智能在云上处理大数据的时代,作为一个有理想有追求的程序员,不懂深度学习(Deep Learning)这个超热的技术,会不会感觉马上就o ...
- 卷积神经网络之前向传播算法
0.杂谈 本来个人是准备毕业直接工作的,但前段时间学校保研大名单出来之后,发现本人有保研机会,于是就和主管请了几天假,回学校准备保研的事情.经过两天的准备,也是非常幸运,成功拿到本院的保研名额.明确得 ...
最新文章
- linux之创建临时文件的方法
- OpenCV3源代码目录解析(算法模块解析 和 示例目录解析)
- 功能农业奠基人-农业大健康·万祥军:赵其国安康工作站揭牌
- MySQL(六)InnoDB锁详解
- C#读写XML的演示程序(1)
- SDN:势不可挡的网络演进大潮
- Delphi7安装及补丁安装详解
- 正解:《Java 程序员的黄金 5 年》看完我才知道当时有多蠢
- ABBYY2022PDF个人版
- T5:Exploring the Limits of Transfer Learning with a UnifiedText-to-Text Transformer
- 十大经典的心理学效应
- c++ 获取文件夹文件并排序
- LaTeX如何输入空集
- python中compile的作用_Python compile函数有什么用?
- Halcon常见错误
- Python地理数据处理 四:矢量数据读写(二)
- Chunk Extend/Overlapping | 堆拓展、重叠
- PM应该了解的九大项目管理问题
- 干货 | 区块链的技术世界观
- 文献阅读2019-Computer-aided diagnosis system for breast ultrasound images using deep learning