神经网络是由大量处理单元(神经元)相互连接而成的网络,ANN(Artificial Neural Network)是生物神经系统的一种抽象、简化和模拟。神经网络的信息处理是通过神经元的相互作用来实现的,知识与信息的存储表现在网络元件互连的分布式结构与联系,神经网络的学习与识别就是神经元连接权系数的动态演化过程。实践中常用的基本神经网络模型有:感知器(perceptron)神经网络、线性神经(AdalinePerceptron)网络、BP神经网络、径向基神经网络、自组织神经网络、Hopfield反馈神经网络等。

关键词:整合()-激发()-映射()

感知器(perceptron)神经网络

感知器中的神经元称之为PRC神经元,有如下中的结构。一般在处理中都会将阈值b转换为输入和权重的x0形式,得到如下右的等效结构。

那么感知器的工作算法也就是整合过程比较简单,只需要利用向量乘积表示即可:,经过激发(特殊的一种映射,只是利用sign符号函数进行的映射)就可以得到输出了。而感知器的组织算法(学习规则)主要是进行权重的调节,有如下的表示:

是调整的步长,一般情况下,比如机器学习中最简单的学习算法PLA中,用到的就是。其几何意义十分明显,犯错误了就进行调整,没犯错误就不调整。对于线性可分的问题,PLA总能找到分类边界。但并不一定是最好。想一下SVM中的large marge。perception\points.m是关于利用PLA进行学习二维平面点的二分类演示程序。感知器是最简单和最基础的神经网络。同时也阅读了BP神经网络中关于通过隐含层增加感知器的分类能力的论述。

单层感知器不能解决异或运算(实际上不是线性可分的问题),增加隐藏层之后便能解决。多层感知器能够突破线性可分局限性。

Kolmogorov定理:  给定任意连续映射F:[0,1] (n) →Rm可以精确地由一个三层前馈神经网络实现,第一层有n个神经元,第二层有2m+1个神经元,第三层有m个神经元。

自适应线性神经(Adaline Perceptron)网络

可以直接类比自适应滤波器(预估器,平滑器。。。)。神经网络的工作算法是一以贯之的,都是那样从前往后推算就行了。只需要关注的是网络的结构以及网络的两个映射:整合映射和激发映射。一般整合映射没差,对于激发映射往往可能不同。ADALINE顾名思义,激发映射肯定是线性的,如下图中的F(sigmoid)换成线性的u(t)-b即可。

下面要关注的就是组织算法,这里只关心LMS学习算法,最小均方误差为代价,计算均方差的梯度,求出梯度下降的方向,然后进行迭代学习。

这个公式应当最熟悉不过了。其实对比感知器的学习算法调整起来都是比较类似的。具体的不再深入,可以参看在现代数字信号处理课程报告中的论述。

BP神经网络

BP神经网络的神经元结构如下:

整合映射没差,激发映射函数一般采用的有:1)sign符号函数,2)sigmoid函数,3)线性映射(Adaline)。(recall: logical regression,output in[0,1])

这里只列出sigmoid函数,b也可以融入u(t)中进行等效。

仅仅是这样似乎与上面的多层感知器一样,并没有什么特别的。那么下面就是特别的:误差回传(back-Propagation,BP)机制,前馈型神经网络最重要的学习机制。目标:误差平方性能最小,利用梯度下降进行推导,通过链式求导法则,将误差回传给网络中间层,输出节点的误差被分配给网络中间层各个节点。而中间层最终将误差回传至输入层。实际上单层感知器和Adaline正是如此实现了网络的自学习,从而能自组织地调节其节点链接强度值。

BP神经网络的局部误差,上式便体现出了误差回传的思想。而实际中求取均方误差往往是不现实的,需要代之以某种估计函数,因此对应着不同的性能函数,比如Widrow性能函数(用单个学习模式激励下神经网络响应误差的平方作为对均方误差的估计),Rumelhart性能函数(当知识集给定后,一个可选的或者更为合理的均方误差函数估计应该是所有学习模式激励下输出误差平方之和的平均值)。下图就是基于Rumelhart性能函数的链接权重w更新的公式,整个流程还是十分清晰的。至于编程实现,可以参考source code andshow\nnc\BPN中的写法,具体的结构可能比较复杂,但是只要封装好了,进行移植的时候也将非常方便。开发语言是C,因此,可以基于DSP进行实现移植,看看训练效果如何。

BP神经网络备受关注的重要原因在于它具有表达复杂非线性映射的能力,但这种能力并不是无限的。BP网络的表达能力是BP网络实现特定输入输出映射关系的能力。

BP神经网络的泛化学习,是一种归纳学习的能力,从sample到out of sample.  跟机器学习中定义差不多。机器学习是从VC dimension入手解释为何machinecan learn ?这里通过论述均方误差的估计并不是真的均方误差,而是在已有的知识集上进行的估计,所以,当对整个映射的定义域中能否成功的表达呢?这就是所谓的Generalization。依然记得对于以前用到的自适应LMS正弦点预测训练出来的W,随着预测的长度越长,误差在逐渐积累,最终可能发散,或者逐渐缩小。

BP算法的改进:(1) 启发式算法:动量算法和自适应算法,(2) 数值优化算法:共轭梯度法和牛顿法。

径向基神经网络

RBF径向基神经网络的结构如下,其实结构上没有什么特别的,只是在激发映射上采用了径向基函数(一般采用高斯函数)。径向基函数(RBF联想神经元的激发函数)有:GaussianFunction,MultiquadraticFunction,CubicFunction和LinearFunction。实际上神经网络可分为感觉神经元(整合映射,不融入b)、联想神经元(激发映射)和反应神经元(阈值b的激发)。

具体的学习算法可以参看网络文档径向基函数(RBF)神经网络 - Orisun - 博客园.pdf。RBF学习收敛的条件是:训练数据投影到隐空间后是线性独立的。其最大的特点是:< RBF网络能够逼近任意的非线性函数,可以处理系统内的难以解析的规律性,具有良好的泛化能力,并有很快的学习收敛速度,已成功应用于非线性函数逼近、时间序列分析、数据分类、模式识别、信息处理、图像处理、系统建模、控制和故障诊断等。简单说明一下为什么RBF网络学习收敛得比较快。当网络的一个或多个可调参数(权值或阈值)对任何一个输出都有影响时,这样的网络称为全局逼近网络。由于对于每次输入,网络上的每一个权值都要调整,从而导致全局逼近网络的学习速度很慢。BP网络就是一个典型的例子。如果对于输入空间的某个局部区域只有少数几个连接权值影响输出,则该网络称为局部逼近网络。常见的局部逼近网络有RBF网络、小脑模型(CMAC)网络、B样条网络等。>

自组织神经网络

有些难度,暂时不做总结。

Hopfield反馈神经网络

典型的结构是反馈型,输出反馈回来做输入。不同于组织算法中的反馈调节,这里指的是工作结构图中包括了输出的反馈。(其余暂不做总结)。

神经网络的理论研究将主要体现在利用神经科学基础研究成功,用数理方法探索智能水平更高的网络模型,深入研究网络的算法和性能,开发新的网络数理理论;应用研究主要体现在网络的软硬件实现及各个领域特定问题的研究等。

转载于:https://www.cnblogs.com/huty/p/8519358.html

神经网络总结(初稿)相关推荐

  1. 目前看的图神经网络(GNN)论文的一些总结

    该文首发于知乎专栏:在天大的日日夜夜 已获得作者授权 最近组会轮到我讲了,打算讲一下目前看的一些GNN论文以及该方向的一些重要思想,其中有借鉴论文[1].[2]的一些观点和<深入浅出图神经网络: ...

  2. 深度解析LSTM神经网络的设计原理

    引人入胜的开篇: 想要搞清楚LSTM中的每个公式的每个细节为什么是这样子设计吗?想知道simple RNN是如何一步步的走向了LSTM吗?觉得LSTM的工作机制看不透?恭喜你打开了正确的文章! 前方核 ...

  3. 由深度神经网络想到的人生意义和哲理

    ◆ ◆ ◆ 导读 几周前,我经历工作项目的调动,恰好给了我空余时间重拾那些很久没有碰过的感兴趣的话题.机器学习是我兴趣列表中的第一项.这是一个已经广泛渗入科技领域的话题,但我对其一无所知.仅几周的泛读 ...

  4. 机器学习笔记(六)-神经网络:概述

    本次学习笔记主要记录学习机器学习时的各种记录,包括吴恩达老师视频学习.李宏毅老师视频学习.周志华老师的<机器学习>(西瓜书)以及李航老师的<统计学习方法>.作者能力有限,如有错 ...

  5. 卷积神经网络(一)- 卷积神经网络

    本次学习笔记主要记录学习深度学习时的各种记录,包括吴恩达老师视频学习.花书.作者能力有限,如有错误等,望联系修改,非常感谢! 卷积神经网络(一)- 卷积神经网络 一.计算机视觉(Computer vi ...

  6. 【深度学习】Hinton 最新研究:神经网络的未来是前向-前向算法

    来源:AI科技评论 作者:李梅.黄楠 编辑:陈彩娴 在未来万亿参数网络只消耗几瓦特的新型硬件上,FF 是最优算法. 过去十年,深度学习取得了惊人的胜利,用大量参数和数据做随机梯度下降的方法已经被证明是 ...

  7. Hinton 最新研究:神经网络的未来是前向-前向算法

    来源:AI科技评论 作者:李梅.黄楠 编辑:陈彩娴 在未来万亿参数网络只消耗几瓦特的新型硬件上,FF 是最优算法. 过去十年,深度学习取得了惊人的胜利,用大量参数和数据做随机梯度下降的方法已经被证明是 ...

  8. 《MATLAB智能算法30个案例》:第27章 无导师学习神经网络的分类——矿井突水水源判别

    <MATLAB智能算法30个案例>:第27章 无导师学习神经网络的分类--矿井突水水源判别 1. 前言 2. MATLAB 仿真示例 3. 小结 1. 前言 <MATLAB智能算法3 ...

  9. 【吴恩达deeplearning.ai】深度学习(7):卷积神经网络

    计算机视觉(Computer Vision)是一门研究如何教机器"看"的科学,计算机视觉研究相关的理论和技术,试图创建能够从图像或者多维数据中获取"信息"的人工 ...

最新文章

  1. RDKit | 基于随机森林(RF)预测SARS-CoV 3CL蛋白酶抑制剂的pIC50
  2. 美国商务部工业和安全局(BIS)发布《关于拟制定脑机接口技术出口管制规则的通知》...
  3. JavaScript 笔记(2) -- 类型转换 正则表达 变量提升 表单验证
  4. 情人节特效.羞答答的玫瑰静悄悄的开效果....
  5. Spring - bean的lazy-init属性(懒加载)
  6. 最实用的机器学习算法Top5
  7. 1.8_heapq模块_优先队列
  8. 服务器powershell占用百分百,使用PowerShell统计服务器C盘空间
  9. 多线程三大概念:并发并行,阻塞,同异步
  10. Maven本地仓库下载及配置
  11. 万用表测电容方法-电子技术方案
  12. mac以及windows日语键盘快捷键
  13. Flac无损音频怎么转换格式
  14. 英语思维导图大全 定语从句(十四)
  15. 中国制造2025与工业以太网
  16. 学习编程语言最好的方法是什么
  17. jQuery的版本比较及使用
  18. oracle导出数据到文本文件,Oracle数据直接导出到文本文件的方法
  19. 工程计算——不动点迭代法
  20. FreeBSD安装samba(转)

热门文章

  1. MYSQL专题-MySQL三大日志binlog、redo log和undo log
  2. 工商银行打造在线诊断平台的探索与实践
  3. Arthas | 定位线上 Dubbo 线程池满异常
  4. Serverless 解惑——函数计算如何访问 Mongo 数据库
  5. 从零开始入门 K8s | 应用编排与管理:Job DaemonSet
  6. mysql5.7+主从不一致_Mysql5.7安装错误处理与主从同步及!
  7. 消防信号总线原理_消防报警系统中消防模块分类与用途简介
  8. 怎么把动态图从python弄下来_Python将视频或者动态图gif逐帧保存为图片的方法
  9. sql优化常用的几种方法_MySQL常用30种SQL查询语句优化方法
  10. springmvc整合redis_111 SpringBoot整合Servlet JSP Filter Listener