深度学习:知识回收(神经网络模型:BPNN原理)
BPNN原理及推导
- 序
- BPNN
- 神经网络
- 正向传播
- BP算法
- Wn权重更新推导
- 最后
序
今天看tensorflow的时候,看到一个BPNN的例子,就顺便把BPNN的原理给看了一遍
OpenCV的书也到了,想尽快结束复习开始新的模块学习
哼~
BPNN
即是BP神经网络,是一种入门经典的神经网络模型,分为forward和backward的传播
神经网络
首先我们了解一下神经网络
分为输入层、隐藏层及输出层
下图的神经网络就包括一个输入层、两个隐藏层以及一个输出层
下面举个例子并从左到右解释一下这个神经网络到底在做什么操作
假设输入层开始叫第一层,隐藏层1为第二层,隐藏层二为第三层,输出层为第四层
- 输入层 到 隐藏层1
输入的是一个二维向量xn=i1=o1,在与中间的权重矩阵进行线性组合后,得到了隐藏层1的输入i2
而在隐藏层1中对输入的i2用激活函数进行激活得到输出O2
那么可以知道i2=W1*O1 设f为激活函数则O2=f(i2)
- 那么同理从隐藏层1到2的权重即为W2,隐藏层2的输入为i3=W2*o2,输出为O3=f(i3)
- 最后隐藏层2到输出层得到的输出y=W3*O3
那么对于神经网络的分析就到这
正向传播
对于正向传播来说,输入样本xn,从而一步一步通过神经网络得到输出结果y
那么y =f(w3f(w2f(w1*o1))) 即是通过该神经网络得到的结果
但是为了BP算法,我们需要再做一步对y的处理,O4 = loss_function(y)
令输出层也有一个损失函数进行计算,从y得到o4
- 一般我们的loss_function 取 O4 = 1/2(L-y)^2
其中L为训练集的label
BP算法
BP算法作为BPNN的核心算法,是对权重的一种更新算法
通过BP算法对之前的权重w1 2 3 进行更新优化
那么对于Wn来说,更新权重的方法也是利用梯度下降进行更新
其中已知η(学习率)、O4(loss_function(y))那么重点来了,如何计算O4对于Wn的偏导
Wn权重更新推导
先对每个位置代表什么进行明确
所以我们重点就是在计算O4对Wn的偏导
n = 3,也就是离输出层最近的时候
W3的权重该如何更新
W3 = W3 - η△W3
同理△W2
那么△W1
至此权重Wn的更新就讲完了
剩下的就是将样本带入不断的进行正向和BP传播即可完成对权值w的更新从而进行预测
BPNN神经网络的原理也算是讲完了
哼
最后
还有一点小问题,我在W1的公式推导中对矩阵的位置进行了调换,但是不知道其真正原理
只是为了将矩阵凑成2*2
如果有小伙伴了解该情况的话
可以评论戳我一下
希望能像你请教一番,谢谢大家的支持~
深度学习:知识回收(神经网络模型:BPNN原理)相关推荐
- 【深度学习笔记】神经网络模型及经典算法知识点问答巩固(算法工程师面试笔试)
文章目录 前言 一.前馈神经网络模型 1.请说说你对前馈神经网络中"前馈"二字的理解. 2.记忆和知识是存储在_____上的.我们通常是通过逐渐改变_____来学习新知识. 3.在 ...
- 深度学习:知识回收(Lecture1and2)
知识回收~ 回到深度学习(基础知识回收) Lecture 1 数据集处理 Lecture 2 K近邻与朴素贝叶斯 --分类和回归 KNN算法 NB朴素贝叶斯算法 复习路线 回到深度学习(基础知识回收) ...
- 深度学习:知识回收(Lecture3+4 PLA+Decision Tree)
Lecture 3 PLA and Lecture 4 Decision Tree 序 Lecture 3 PLA Lecture 4 Decision Tree 特征划分 ID3 信息增益 C4.5 ...
- 复旦大学邱锡鹏教授:一张图带你梳理深度学习知识脉络
Datawhale 作者:邱锡鹏,复旦大学教授 寄语:本文梳理了深度学习知识体系,分为机器学习.神经网络和概率图模型,同时对机器学习算法类型.深度学习原理框架等进行了梳理,帮助大家更好地学习和入手深度 ...
- 【深度学习系列】卷积神经网络CNN原理详解(一)——基本原理(1)
上篇文章我们给出了用paddlepaddle来做手写数字识别的示例,并对网络结构进行到了调整,提高了识别的精度.有的同学表示不是很理解原理,为什么传统的机器学习算法,简单的神经网络(如多层感知机)都可 ...
- 深度学习教程(6) | 神经网络优化算法(吴恩达·完整版)
作者:韩信子@ShowMeAI 教程地址:https://www.showmeai.tech/tutorials/35 本文地址:https://www.showmeai.tech/article-d ...
- 深度学习的数学-神经单元误差和反向传播
文章目录 前言 正文 神经单元误差 梯度下降算法在实际应用中的难点 神经单元误差的定义和含义 神经单元误差关于权重和偏置的偏导数(重点) 关于权重的偏导数推导 偏置的偏导数推导 公式一般化 误差反向传 ...
- 你不得不了解的深度学习知识(二)
你不得不了解的深度学习知识 书接上回,你不得不了解的深度学习知识(一),了解了卷积神经网络,以及循环神经网络.这节把剩下的两种常见网络给讲述完毕! 3 生成对抗网络 – Generative Adve ...
- 【深度学习】CNN神经网络应用(用于亚洲大黄蜂分类)
[深度学习]CNN神经网络应用(用于亚洲大黄蜂分类) 文章目录 1 概述 2 假设条件 3 网络结构 4 数据集和参数 5 Asian hornet classification experiment ...
- 深度学习(神经网络) —— BP神经网络原理推导及python实现
深度学习(神经网络) -- BP神经网络原理推导及python实现 摘要 (一)BP神经网络简介 1.神经网络权值调整的一般形式为: 2.BP神经网络中关于学习信号的求取方法: (二)BP神经网络原理 ...
最新文章
- out与ref的区别
- Zend Studio 10代码格式化设置
- mockito 外部接口_【IDEA开发SpringBoot2.0】使用Mockito进行常规接口测试#05
- python多久能学会爬虫-python一般学多久
- Spring的依赖注入和管理Bean
- Burst trie(爆炸式字典树)解读
- 机器学习实战-KNN算法-20
- 使用sftp不用输入密码
- 计算机在材料科学中的应用上机二,计算机在材料科学中的应用-上机实验二.doc...
- 调整窗口大小时进行页面刷新(设定定时器)
- 微型计算机控制技术第三版第六章课后答案,(完整版)微型计算机控制技术第6章习题答案...
- Region Proposal Network
- Python Gym ImportError cannot import name ‘rendering‘ from ‘gym.envs.classic_control‘
- uniapp定位和选择城市
- 【Android】app应用内版本更新升级(DownloadManager下载,适配Android6.0以上所有版本)
- c语言设计计算器的意义,C语言结课设计之计算器功能
- 巨人纪学峰:未来网游发展趋势是社区化
- 关于Arista DCS 7048交换机不支持ECN功能的说明
- vscode中 用svn插件下拉代码
- Bat批处理方式发邮件
热门文章
- MySQL基础面试题总结
- 全球十大外汇交易平台2020最新排名
- 数据结构算法书籍推荐
- 如何用echarts创建市区地图
- 23种设计模式JAVA案例
- #Qt#QListView的两种用法,亲测有效
- AcWing 兔子与兔子
- linux/ubuntu16.04系统上snowboy swig源码安装及使用全记录和遇到的错误
- java聊天服务器架构_基于Spring 4.0 的 Web Socket 聊天室/游戏服务端简单架构
- f1c100s 源码_全志 F1C100S/200S Ucos Kile MDK emwin 408M-ARM9内置DDR 源码