一、神经网络

神经网络由大量的神经元相互连接而成。神经元接收到来自n个其他神经元传递过来的输入信号,这些输入信号通过带权重进行传递,当某个神经元接收到的总输入值与该神经元的阈值进行比较,然后通过激活函数处理产生 神经元的输出。每个神经元接受线性组合的输入后,最开始只是简单的线性加权,后来给每个神经元加上了非线性的激活函数,从而进行非线性变换后输出。每两个神经元之间的连接代表加权值,称之为权重(weight)。不同的权重和激活函数,则会导致神经网络不同的输出。

如下图为一个神经元的模型:

基本wx + b的形式,其中

  • 表示输入向量

  • 为权重,几个输入则意味着有几个权重,即每个输入都被赋予一个权重

  • b为偏置bias

  • g(z) 为激活函数

  • a 为输出

举个例子,这周末北京有一草莓音乐节,那去不去呢?决定你是否去有二个因素,这二个因素可以对应二个输入,分别用x1、x2表示。此外,这二个因素对做决策的影响程度不一样,各自的影响程度用权重w1、w2表示。一般来说,音乐节的演唱嘉宾会非常影响你去不去,唱得好的前提下 即便没人陪同都可忍受,但如果唱得不好还不如你上台唱呢。所以,我们可以如下表示:

x1:是否有喜欢的演唱嘉宾。 x1= 1 你喜欢这些嘉宾, x1= 0 你不喜欢这些嘉宾。嘉宾因素的权重 w1= 7
              x2:是否有人陪你同去。 x2= 1 有人陪你同去, x2= 0 没人陪你同去。是否有人陪同的权重 w2= 3。

这样,决策模型便建立起来了:g(z) = g( x1*w1 + x2*w2 + b ),g表示激活函数,这里的b可以理解成 为更好达到目标而做调整的偏置项。

典型的激活函数有:sgn(n)阶跃函数和sigmoid函数

二、逆误差传播算法(BP算法)

误差逆传播算法是迄今为止最成功的神经网络学习算法,现实任务中使用神经网络时,大多使用BP算法进行训练。正如其名,误差逆传播算法的原理是:先将输入示例提供给输入层的神经元,然后逐层将信号前传,直到产生输出层的结果;然后计算输出层与真实值的误差,再将误差逆向的传播至隐层神经元,最后根据隐层神经元的误差来对连接权和阈值进行调节。

BP网络中的变量及符号如下图:

给定训练集D=(x1,y1),(x2,y2),......(xm,ym),xi∈Rd,yi∈RlD=(x1,y1),(x2,y2),......(xm,ym),xi∈Rd,yi∈Rl,即输入示例由d个属性描述,输出l个结果。如图所示,是一个典型的单隐层前馈网络,它拥有d个输入神经元、l个输出神经元、q个隐层神经元,其中,θj表示第j个神经元的阈值,表示隐层第h个神经元的阈值,输入层第i个神经元与隐层第h个神经元连接的权值是,隐层第h个神经元与输出层第j个神经元连接的权值是

未完待续。。。。。。。。。。

第五章 神经网络和误差逆传播法算法(BP)的推导相关推荐

  1. 人工智能知识全面讲解:多层神经网络与误差逆传播算法

    7.3.1 从单层到多层神经网络 明斯基教授曾表示,单层神经网络无法解决异或问题,但是当增加一个计 算层以后,两层神经网络不仅可以解决异或问题,而且具有非常好的非线性分 类效果.只是两层神经网络的计算 ...

  2. 《机器学习与数据挖掘》实验五 编程实现误差逆传播算法(BP算法)

    前言: 摘要:本文对机器学习实验五 标准BP算法的代码进行实现,如果不了解的BP算法的话,可以自行上网搜索BP算法的详解. 实验题目:编程实现误差逆传播算法(BP算法) 实验目的:掌握误差逆传播算法( ...

  3. 西瓜书研读——第五章 神经网络:BP神经网络

    西瓜书研读系列: 西瓜书研读--第三章 线性模型:一元线性回归 西瓜书研读--第三章 线性模型:多元线性回归 西瓜书研读--第三章 线性模型:线性几率回归(逻辑回归) 西瓜书研读--第三章 线性模型: ...

  4. 《机器学习》 周志华学习笔记第五章 神经网络(课后习题) python实现

    1.神经元模型 2.感知机与多层网络 3.误差逆传播算法 (A)BP算法:最小化训练集D上的累积误差 标准BP算法:更新规则基于单个Ek推导而得 两种策略防止过拟合:(1)早停(通过验证集来判断,训练 ...

  5. elman神经网络_西瓜书第五章——神经网络

    5.1 神经元模型 定义:神经网络是具有适应性的简单单元组成的广泛并行互联的网络,他的组织能够模拟生物神经系统对真实世界所做出的交互反应 5.2 感知机与多层网络 *感知机由两层神经元组成 感知机只能 ...

  6. BP算法误差逆传播参数更新公式推导

    BP算法误差逆传播参数更新公式推导

  7. 神经网络之误差反向传播法

    1.计算图:将计算过程用数据结构图表示,通过多个节点和边表示,节点用O表示,O中是计算内容,将计算的中间结果写在箭头上方,表示各个节点的计算结果从左向右传递.用计算图解题的流程即:①构建计算图:②在计 ...

  8. 机器学习第五章 神经网络

    参考链接https://www.cnblogs.com/maybe2030/p/5597716.html 梯度检测 确认没有错误之后就关掉这个梯度检测,否则会变得很慢,因为他比反向传播慢的很 选择神经 ...

  9. 误差逆传播算法公式理解及推导

    前言:公式理解及推导参考自<机器学习>周志华 P101 BP网络 BP网络一般是指由 误差逆传播(error BackPropagation, BP)算法训练的多层前馈神经网络. 给定训练 ...

  10. bp神经网络代码_机器学习(周志华)课后习题——第五章——神经网络

    5.1 试述将线性函数 用作神经元激活函数的缺陷. 答: 使用线性函数作为激活函数时,无论是在隐藏层还是在输出层(无论传递几层),其单元值(在使用激活函数之前)都还是输入 的线性组合,这个时候的神经网 ...

最新文章

  1. helm部署Loki
  2. 10-27 插入学生总学分表 (10 分)
  3. 7-1 内存分区分配--首次适应算法 (100 分)
  4. linux下安装两个tomcat,linux安装两个tomcat-Go语言中文社区
  5. 我不够格,但我还是希望事情到此为止,继续工作罢
  6. crc16码表的使用_查表法计算CRC16校验值
  7. antares harmony engine安装_PS CC2017安装教程
  8. 统计信号处理基础_0基础学Python,就业中你需要建立360度无死角技能树
  9. 阿里面试官居然问我如何设计一个本地缓存
  10. Fiddler的安装和使用教程(详细)
  11. am335x linux 的uboot工作流程.doc,am335x uboot2016.05 (MLO u-boot.img)执行流程(转)
  12. 【AI with ML】第 7 章 :用于自然语言处理的递归神经网络
  13. 软件测试之构建测试---BVT
  14. 51单片机——共阳数码管的动态显示(有一个小问题)
  15. 怎么修改代码文件创建时间
  16. Python编程:socket实现文件传输(文件服务器简易版)
  17. qrc路径_QT下添加*.qrc(图标Icon、图像)资源
  18. 从Foursquare看手机程序设计(3)(转)
  19. Linux——什么是环境变量?
  20. daysmatter安卓版_倒数日 · DaysMatter

热门文章

  1. 如何图片格式批量转换?
  2. 平均数、中位数、众数,在分析中如何使用?
  3. DIrectX错误,提示显卡驱动更新
  4. ZUFE 2017院赛 - Problem M: 图样图森破(树状数组)
  5. 2020晓庄学院专转本C语言考试试卷,南京晓庄学院五年一贯制专转本模拟考试c语言...
  6. 统一用户认证和单点登录解决方案
  7. C语言基础丨(六)程序结构——顺序结构【1】
  8. 大数据分析的学习感悟
  9. java8 treemap 排序_java中TreeMap排序的示例代码
  10. iRingg for Mac(iPhone铃声制作工具)