神经网络是深度学习的基础,在机器学习和深度学习中应用比较广泛,如函数逼近模式识别分类模型图像分类基于深度学习的CTR预估数据压缩数据挖掘等都离不开神经网络。下面主要介绍BP神经网络的原理。

一. 认识BP神经网络

一个最简单的三层BP神经网络如下图

包含输入层、隐含层、输出层,节点与节点之间有权重。一个样本有m个输入特征,包括ID特征或连续特征。隐含层可以有多个,关于隐含层节点个数的选取,一般设置为2的n次方,例如512,256,128,64,32等。n个输出结果,通常输出结果就一个,例如分类模型或回归模型。

在1989年,Robert Hecht-Nielsen证明了对于任何闭区间内的一个连续函数都可以用一个隐含层的BP网络来逼近,这就是万能逼近定理。所以一个三层的BP网络就可以完成任意的m维到n维的映射。BP神经网络主要分为两个过程

  1. 工作信号正向传递子过程
  2. 误差信号反向传递子过程

二. 工作信号正向传递子过程

设节点i与节点j之间的权重为ω_{ij},节点j的偏置为b_{j},每个节点的输出值为x_{j},每个节点的输出值是根据上层所有节点的输出值、当前节点与上一层所有节点的权值和当前节点的偏置还有激活函数来计算的。具体计算公式如下

其中f为激活函数,一般选取S型函数或tanh函数。正向传递过程比较简单,从前往后计算即可。

三. 误差信号反向传递子过程

在BP神经网络中,误差信号反向传递子过程比较复杂,它是基于Widrow-Hoff学习规则的。假设输出层的所有结果为d_{j},回归模型的误差函数如下

BP神经网络的主要目的是反复修正权值和偏置,使得误差函数值达到最小。Widrow-Hoff学习规则是通过沿着相对误差平方和的最速下降方向,连续调整网络的权值和偏置,根据梯度下降法,权值矢量的修正正比于当前位置上E(w,b)的梯度,对于第j个输出节点有

假设选择激活函数为

对激活函数求导,得到

那么接下来针对ω_{ij},有

其中

同样对于b_{j},有

这就是著名的δ学习规则,通过改变神经元之间的连接权值来减少系统实际输出和期望输出的误差,这个规则又叫做Widrow-Hoff学习规则或者纠错学习规则

上面是对隐含层和输出层之间的权值和输出层的偏置计算调整量,而针对输入层和隐含层和隐含层的偏置调整量的计算更为复杂。假设ω_{ki}是输入层第k个节点和隐含层第i个节点之间的权值,那么有

其中有

有了上述公式,根据梯度下降法,那么对于隐含层和输出层之间的权值和偏置调整如下

而对于输入层和隐含层之间的权值和偏置调整同样有

上述就是BP神经网络原理的公式推导。

bp神经网络_BP神经网络的原理介绍相关推荐

  1. bp神经网络_BP 神经网络驱动的手写体数字识别软件 EasyOCR

    EasyOCR 项目介绍 本软件是一个手写体数字识别软件,采用BP神经网络,基于colt数学库,有完整源码,可以保存训练结果,基于开源例程neuralnetwork-sample,原作可以在GitHu ...

  2. 【机器学习】5:谱聚类算法原理介绍

    前言:学习谱聚类,最好有一些图论.矩阵分解(SVD)方面的知识,这样会更加有利于谱聚类的学习.当然,谱聚类理解起来并不困难,实际操作也大多是谱聚类+K-means聚类联合使用的. –--------- ...

  3. 【深度学习入门系列】径向基函数(RBF)神经网络原理介绍及pytorch实现(内含分类、回归任务实例)

    文章目录 1 RBF神经网络 1.1 简介 1.2 步骤 输入 rbf层 核函数 中心点求解方法 输出 1.3 几个问题 2 分类 2.0 数据集 2.1 网络架构 2.2 代码 2.3 结果 3 回 ...

  4. 卷积神经网络(CNN)详细介绍及其原理详解

    文章目录 前言 一.什么是卷积神经网络 二.输入层 三.卷积层 四.池化层 五.全连接层 六.输出层 七.回顾整个过程 总结 前言 本文总结了关于卷积神经网络(CNN)的一些基础的概念,并且对于其中的 ...

  5. 机器学习算法-09-深度学习、BP神经网络、Hopfield神经网络、基于数学原理的神经网络、径向基函数RBF(B站一条会说666的咸鱼)

    Deep Learning 深度学习的概念源于人工神经网络的研究,含多隐层的多层感知器就是有一种深度学些的结构 ,深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征的 ...

  6. 循环神经网络(RNN, Recurrent Neural Networks)介绍

    循环神经网络(RNN, Recurrent Neural Networks)介绍   循环神经网络(Recurrent Neural Networks,RNNs)已经在众多自然语言处理(Natural ...

  7. bp神经网络和神经网络,bp神经网络是什么网络

    神经网络BP模型 一.BP模型概述误差逆传播(Error Back-Propagation)神经网络模型简称为BP(Back-Propagation)网络模型. Pall Werbas博士于1974年 ...

  8. 解析深度神经网络背后的数学原理!

    作者 | Piotr Skalski 译者 | 巧克力 编辑 | Jane 出品 | AI科技大本营 [导读]为了更好地理解神经网络的运作,今天只为大家解读神经网络背后的数学原理.而作者写这篇文章的目 ...

  9. 循环神经网络(RNN)原理通俗解释

    循环神经网络(RNN)原理通俗解释 1.RNN怎么来的? 2.RNN的网络结构及原理 3.RNN的改进1:双向RNN 4.RNN的改进2:深层双向RNN 4.1 Pyramidal RNN 5.RNN ...

最新文章

  1. AI开发者们,2017年你们过得好吗?
  2. BIEE建模 之 Administration 导入元数据时无法显示表
  3. Skype For Business 2015实战系列6:后端数据库安装CU6补丁
  4. 石川es6课程---3、变量let和常量const
  5. JavaWeb 安全问题及解决方案
  6. 河北大学计算机在哪学,河北大学计算机科学与技术学院
  7. oracle10.2.0.4 dbca,在rhel5上oracle 10.2.0.4 上dbca silent删除数据库
  8. python 2.7下的正则将中文分隔符去掉
  9. PYTHON1.day07
  10. Swift 2.0 自定义cell和不同风格的cell
  11. Linux vim编辑器在哪,【Linux】Linux中VIM编辑器的使用
  12. 技术分享| 如何部署安装分布式序列号生成器系统
  13. 深思新推出高性价比智能卡加密锁--魔锐1
  14. Chrome有些网站打不开,但是其他浏览器可以打开,Chrome无痕模式有事也可以打开。解决思路。
  15. easyui的datagrid可编辑框小功能实例
  16. Android获取WiFi名称/路由器AP地址总结
  17. 面经-腾讯前端开发工程师
  18. python from用法_python学习笔记1_import与from方法总结
  19. 写给产品经理的第4封信:关于产品经理的十万个为什么?你为什么要做产品经理?
  20. USB 驱动程序(转贴)

热门文章

  1. 逆向工程核心原理读书笔记-API钩取之隐藏进程(二)
  2. TCP发送接口(如send(),write()等)的返回值与成功发送到接收端的数据量无直接关系
  3. dnf辅助外挂C++源代码
  4. 复制SQLSERVER数据库文件
  5. 2_2 DecorateMode.cpp 装饰者模式
  6. LXC C API 使用
  7. python 实现HMAC_SHA1算法
  8. 设计模式:组合模式(Composite)
  9. LiveData学习
  10. 【线上分享】高性能视频推理引擎优化