参考:

  1. Stanford前向传播神经网络Wiki

  2. Stanford后向传播Wiki

  3. 神经网络CSDN blog

  4. 感知器

  5. 线性规划

  6. Logistic回归模型

内容:

  1. ANNs又称连接模型(connection model),它是一种模仿动物神经网络行为特征,进行分布式并行信息处理的数学模型。它是由一系列简单的单元相互密集连接构成的,其中每一个单元有一定数量的实值输入,并产生单一的实数值输出。

  2. m-of-n函数:要使函数输出为真,那么感知器的n个输入中至少有m个必须为真。OR函数相当于m=1,AND函数相当于m=n。

  3. 某种类型的ANN系统是以被称为感知器(perception)的单元为基础的。感知器是以一个实数值向量作为输入,计算这些输入的线性组合,然后如果结果大于某个阈值,就输出1,否则输出-1。

  

  这里-w0就是阈值。这里的学习任务就是权向量的值。

  

          图1 单输出神经网络

  

  

  

              图2 多输出神经网络

  4. 学习任务算法:感知器法则与delta法则。

  感知器法则(前提是训练样例线性可分):为得到可接受的权向量,从随机的权值开始,然后反复地应用这个感知器到每个训练样例,只要它误分类样例就修改感知器的权值。重复这个过程,直到感知器正确分类所有的训练样例。

  

  其中,t是当前训练样例的目标输出,o是感知器的输出,η是一个正的常数称为学习速率(learning rate)。

  delta法则(线性不可分也可以):使用梯度下降(gradient descent)来搜索可能的权向量的假设空间,以找到最佳拟合训练样例的权向量。

  把delta训练法则理解为训练一个无阈值的感知器,也就是一个线性单元,它的输出如下:

  

  假设(权向量)相对于训练样例的训练误差如下:

  

  其中,D是训练样例集合,td是训练样例d的目标输出,od是线性单元对训练样例d的输出。这里的1/2是为了抵消求导后的2。其梯度如下:

  

  当梯度被解释为权空间的一个向量时,它确定了是E最陡峭上升的方向。

  

  5. 单个感知器只能表示线性决策面,而反向传播算法所学习的多层网络能表示非线性曲面。多层网络需要这样一种单元,它的输出是输入的非线性函数,并且输出是输入的可微函数。比如sigmoid单元,它的输出如下:

  

  误差E如下:

  

  其中,outputs是网络输出单元的集合,tkdokd是与训练样例d和第k个输出单元相关的输出值。

  ➊ 网络中每个结点被赋予一个序号,这里的“结点”要么是网络的输入,要么是网络中某个单元的输出。

  ➋ xji表示结点i到单元j的输入,wji表示对应的权值。

  ➌ δn表示与单元n相关联的误差项。

  对于网路的每个输出单元k,它的误差项为:

  

  对于网络的每个隐藏单元h,它的误差项为:

  

  权值更新:

  

人工神经网络ANNs的更多相关文章

  1. neurosolutions 人工神经网络集成开发环境 keras

    人工神经网络集成开发环境 :  http://www.neurosolutions.com/ keras:   https://github.com/fchollet/keras 文档    http ...

  2. [DL学习笔记]从人工神经网络到卷积神经网络_2_卷积神经网络

    先一层一层的说卷积神经网络是啥: 1:卷积层,特征提取 我们输入这样一幅图片(28*28): 如果用传统神经网络,下一层的每个神经元将连接到输入图片的每一个像素上去,但是在卷积神经网络中,我们只把输入 ...

  3. [DL学习笔记]从人工神经网络到卷积神经网络_1_神经网络和BP算法

    前言:这只是我的一个学习笔记,里边肯定有不少错误,还希望有大神能帮帮找找,由于是从小白的视角来看问题的,所以对于初学者或多或少会有点帮助吧. 1:人工全连接神经网络和BP算法 <1>:人工 ...

  4. C#中调用Matlab人工神经网络算法实现手写数字识别

    手写数字识别实现 设计技术参数:通过由数字构成的图像,自动实现几个不同数字的识别,设计识别方法,有较高的识别率 关键字:二值化  投影  矩阵  目标定位  Matlab 手写数字图像识别简介: 手写 ...

  5. 开源的c语言人工神经网络计算库 FANN

    这年头机器学习非常的火,神经网络算是机器学习算法中的比较重要的一种.这段时间我也花了些功夫,学了点皮毛,顺便做点学习笔记. 介绍人工神经网络的基本理论的教科书很多.我正在看的是蒋宗礼教授写的<人 ...

  6. 机器学习笔记之人工神经网络(ANN)

    人工神经网络(ANN)提供了一种普遍而且实际的方法从样例中学习值为实数.离散值或向量函数.人工神经网络由一系列简单的单元相互连接构成,其中每个单元有一定数量的实值输入,并产生单一的实值输出. 上面是一 ...

  7. 人工神经网络(Artificial Neural Networks)

    人工神经网络的产生一定程度上受生物学的启发,因为生物的学习系统是由相互连接的神经元相互连接的神经元组成的复杂网络.而人工神经网络跟这个差不多,它是一系列简单的单元相互密集连接而成的.其中每个单元有一定 ...

  8. 人工神经网络简介和单层网络实现AND运算--AForge.NET框架的使用(五)

    原文:人工神经网络简介和单层网络实现AND运算--AForge.NET框架的使用(五) 前面4篇文章说的是模糊系统,它不同于传统的值逻辑,理论基础是模糊数学,所以有些朋友看着有点迷糊,如果有兴趣建议参 ...

  9. [DL学习笔记]从人工神经网络到卷积神经网络_3_使用tensorflow搭建CNN来分类not_MNIST数据(有一些问题)

    3:用tensorflow搭个神经网络出来 为什么用tensorflow呢,应为谷歌是亲爹啊,虽然有些人说caffe更适合图像啊mxnet效率更高等等,但爸爸就是爸爸,Android都能那么火,一个道 ...

随机推荐

  1. python-study1 in hubei

    1.安装好python后要配置环境变量(C:\Python27\Scripts---能找到pip.exe和easy_install.exe和C:\Python27---能找到python.exe) 2 ...

  2. Angular通过CORS实现跨域方案

    以前有一篇很老的文章网上转了很多,包括现在如果你百度"跨域"这个关键字,前几个推荐的都是"Javascript跨域总结与解决方案".看了一下感觉手段有点陈旧了, ...

  3. (转)SVN服务器搭建和使用(三)

    接下来,试试用TortoiseSVN修改文件,添加文件,删除文件,以及如何解决冲突等. 添加文件 在检出的工作副本中添加一个Readme.txt文本文件,这时候这个文本文件会显示为没有版本控制的状态, ...

  4. Java:批量插入、修改数据到数据库中的用法

    在java中使用JDBC实现批处理的对象一般是使用PrepareStatement对象. 如何使用: Class.forName("Oracle.jdbc.driver.OracleDriv ...

  5. zjuoj 3780 Paint the Grid Again

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3780 Paint the Grid Again Time Limit: 2 ...

  6. javascript 中的 let 作用域

    let 声明了一个块级域的局部变量,并且可以给它一个初始化值. 语法EDIT let var1 [= value1] [, var2 [= value2]] [, ..., varN [= value ...

  7. Python爬虫爬取百度贴吧的图片

    根据输入的贴吧地址,爬取想要该贴吧的图片,保存到本地文件夹,仅供参考: #!/usr/bin/python#_*_coding:utf-8_*_import urllibimport urllib2i ...

  8. kali安装谷歌浏览器的方法及启动问题的解决

    在kali上安装谷歌浏览器的时候,遇到了很多问题,经过不懈努力,终于解决,现在把方法总结一下,希望对遇到同样问题的人能有一定帮助.这是给最白的小白参考的,大牛勿喷哈. 说明:我是在kali rolli ...

  9. 列表边框column-rule

    column-rule主要是用来定义列与列之间的边框宽度.边框样式和边框颜色.简单点说,就有点类似于常用的border属性.但column-rule是不占用任何空间位置的,在列与列之间改变其宽度不会改 ...

  10. git config 配置

    1. git config简介 我们知道config是配置的意思,那么git config命令就是对git进行一些配置.而配置一般都是写在配置文件里面,那么git的配置文件在哪里呢?互动一下,先问下大 ...