一、人工神经元模型

1、突触权值(连接权)

每一个突触都由其权值作为特征表征,各个神经元之间的连接强度由突触权值来表示。与神经元相连的突触上,连接的输入信号通过权值的加权进入神经元的求和单元。

2、求和单元

求和单元用于求取各输入信号的突触加权和,这个操作构成一个线性组合器。

3、激活函数

激活函数起非线性映射的作用,并用来限制神经元输出振幅。激活函数也称限制函数,或传输函数。通常一个神经元输出的正常范围在[0, 1]区间或[−1, 1]区间。

4、外部偏置

此外,神经元模型还包括一个外部偏置,或外部偏置称为阀值,偏置的作用是根据其为正或负,相应的增加或者降低激活函数的网络输入。

5、一对方程描述神经元

6、激活函数

(1)阶跃函数

(2)分段线性函数

(3)Sigmoid函数

(4)双曲正切函数:

二、神经网络的结构

1、前馈型网络

这类网络将每一层的神经元串联起来,一层的输出是下一层的输入,网络中没有反馈连接

(1)节点分类

节点有输入单元、计算单元和输出单元三类

(2)层级分类

输入层:源节点构成输入层,输入层没有计算,直接将输入信号传递到下一层的计算单元

可见层:输入、输出节点直接与外界相连,可直接受外界环境影响

隐含层:中间层与外界无直接联系,所以称为隐含层

(3)前馈型网络常常可以有多个隐含层,从而构成多层前馈网络,图中是一个n-p-q的三层前馈网络

前馈型网络是一类静态非线性映射,通过简单非线性处理的复合映射可获得复杂的非线性处理能力。但是,从计算的观点看,前馈型网络并非是一种强有力的计算系统,不具备丰富的动力学行为

2、反馈型网络

在反馈型网络中,输入信号决定反馈系统的初始状态,然后系统经过一系列状态转移后,逐渐收敛于平衡状态,这样的平衡状态就是反馈型网络经计算后输出的结果,需要注意的是通常有多个平衡态。因此,稳定性是反馈网络最重要的问题之一。如果能找到网络的李雅普诺夫(Lyapunov)函数,就能保证网络从任意初始状态都能收敛到局部最小点,即求得局域最优解。

3、如何确定网络结构

(1)网络的输入个数 = 应用问题的输入数

(2)输出层神经元的数目 = 应用问题的输出数目

(3)输出层的传输函数选择至少部分依赖于应用问题的输出描述

三、神经网络的学习

1、概述

对于神经网络具有首要意义的性质是网络能从环境中学习的能力,并通过学习改善其行为。在学习过程中,神经网络的突触权值和偏置(阀值)水平随时间依据某一规定的度量不断修改,理想情况下,神经网络在每一次重复学习过程后对它的环境便有更多的了解。在神经网络的背景中,关于学习的定义如下:
     学习是一个过程,通过这个过程神经网络的自由参数在其嵌入的环境机理过程之下得到调节。学习类型由参数改变的方式决定。这个学习过程的定义隐含着如下的事实:神经网络被一个环境所激励;作为这个激励的结果,神经网络的自身参数发生变化;由于神经网络内部的改变而以新的方式响应环境。

2、学习方式

(1)有监督学习

有监督学习也称有导师学习,这种学习需要外界存在一个“导师”,它可以根据自身掌握的一些知识为神经网络提供对输入训练样本的期望响应。期望响应一般代表着神经网络的最优输出结果。当输入作用到网络时,神经网络的期望响应和实际响应相比较,产生误差信号,根据误差信号逐步而又反复地调整网络的权值和阀值,从而使网络的实际输出不断地接近于期望输出,最终目的是使神经网络模拟导师,在某种统计意义上,这种模拟是最优的。利用这种学习方式,导师对环境掌握的知识就可以通过训练最大限度地传授给神经网络,当条件成熟时,就可以将导师排除在外,让神经网络完全自主地应对环境。

(2)无监督学习

无监督学习时不存在外部导师,学习系统完全按照环境所提供数据的某些统计规律来调节自身参数或结构,这是一种自组织过程,以表示外部输入的某种固有特性(如聚类,或某种统计上的分布特征)。在无监督学习中,仅仅根据网络的输入调整网络的权值和阀值,它没有目标输出。乍一看这种学习似乎不可行,不知道网络的目的是什么,还能够训练网络吗?实际上,大多数这种类型的算法是要完成某种聚类操作,学会将输入模式分为有限的几种类型。这种功能特别适合于诸如向量量化等应用问题。

(3)增强式学习

增强式学习也称再励学习。在这种学习方式中学习系统建立在一个评价的基础上,评价将从外部环境中接收到的原始增强信号转换成一种启迪增强信号的高质量增强信号。需要注意的是,外部环境对学习系统的输出结果给出的是评价(奖或惩),而不是正确答案,学习系统通过强化那些受到奖励的动作来改善自身性能。增强式学习与有监督学习有类似的地方,只是它不像有监督学习那样为每个输入提供相应的目标输出,而仅仅是给出一个级别(评价),这个级别是对网络在某些输入序列上的性能度量。当前,增强式学习比有监督学习少见,它最适合控制系统应用领域。

3、学习方式

(1)误差修正学习-学习规则

学习规则利用神经元的期望输出与实际输出之间的误差进行学习,通过调整突触权值,使误差减小

(2)Hebb学习规则

(3)竞争学习规则

(4)Boltzmann学习规则

神经网络及其PID控制的更多相关文章

  1. PID控制及整定算法

    一.PID控制算法 PID是比例.积分.微分的简称,PID控制的难点不是编程,而是控制器的参数整定.参数整定的关键是正确地理解各参数的物理意义,PID 控制的原理可以用人对炉温的手动控制来理解.阅读本 ...

  2. 【iCore3应用开发平台】发布 iCore3 应用开发平台PID控制代码

    说明:1.本代码包包含FPGA和STM32F407两部分内容2.FPGA工程为出厂代码FPGA工程,版本为REV43.STM32F407为只含PID控制的ARM工程4.在使用风扇过程中,请勿将手伸入扇 ...

  3. 两轮自平衡小车双闭环PID控制设计

                                                                                            两轮自平衡小车的研究意义 ...

  4. 数字式PID控制的应用总结

    PID控制是一个二阶线性闭环控制器,通过调整比例.积分和微分三项参数,使得大多数的工业控制系统获得良好的闭环控制性能.PID控制优点:a. 技术成熟,b. 易被人们熟悉和掌握,c. 不需要建立数学模型 ...

  5. PID控制学习笔记(二)

    不管是基本的PID控制还是变形的PID控制算法,其核心都是对输入信号(设定值信号.测量信号或者偏差信号等)做基本的比例.积分.微分运算,最终提供给被控过程良好的调节信号. 在过程控制仪表,特别是在数字 ...

  6. SLAM+语音机器人DIY系列:(四)差分底盘设计——5.底盘PID控制参数整定

    摘要 运动底盘是移动机器人的重要组成部分,不像激光雷达.IMU.麦克风.音响.摄像头这些通用部件可以直接买到,很难买到通用的底盘.一方面是因为底盘的尺寸结构和参数是要与具体机器人匹配的:另一方面是因为 ...

  7. MATLAB-离散系统的数字PID控制仿真

    %PID Controller clear all; close all; ts=0.001; %采样时间=0.001s  sys=tf(,]); %建立被控对象传递函数 dsys=c2d(sys,t ...

  8. 了解PID控制

    @2019-03-07 [小记] 了解PID控制 比例 - 积分 - 微分 积分 --- 记忆过去 比例 --- 了解现在 微分 --- 预测未来

  9. PID控制最通俗的解释与PID参数的整定方法

    转自->这里 PID是比例.积分.微分的简称,PID控制的难点不是编程,而是控制器的参数整定.参数整定的关键是正确地理解各参数的物理意义,PID控制的原理可以用人对炉温的手动控制来理解.阅读本文 ...

随机推荐

  1. js-JavaScript高级程序设计学习笔记21 改善JavaScript性能的方法

    第24章 最佳实践 1.性能 1.避免全局查找 将在一个函数中会用到多次的全局对象保存在局部变量.比如多次使用document.getElement...,可以首先var doc=document,把 ...

  2. bzoj 4318 OSU!

    期望dp. 考虑问题的简化版:一个数列有n个数,每位有pi的概率为1,否则为0.求以每一位结尾的全为1的后缀长度的期望. 递推就好了. l1[i]=(l1[i-1]+1)*p[i]+0*(1-p[i] ...

  3. Java 虚拟机

    Java 虚拟机工作原理详解 一.类加载器 首先来看一下 java 程序的执行过程. 从这个框图很容易大体上了解 java 程序工作原理.首先,你写好 java 代码,保存到硬盘当中.然后你在命令行中 ...

  4. ionic 界面数据缓存问题

    在ionic开发过程中列表到详情,在返回是可能存在,列表重新加载问题,不能回到用户上次点击的地方 在处理前期各种坑,把详情设置为弹出层,缓存数据等等,然而会出现各种问题,无意间发现一篇文章,一个属性解 ...

  5. 精简高效的css命名准则

    对于css,为了避免样式冲突,我们总会赋予相当特殊的命名,或是在选择符上添加html标记,或是使用层级.我们为避免在冲突上做文章,就会把代码的命名变得复杂化. 如果css的重用性越高,相比就越高效.如 ...

  6. git gui 学习

    目的 自己以前使用过3,4个月的SVN,因为公司使用的是git,git gui.所以打算自学git gui,并记录一下学习心得.^_^ 原因 为什么不是学命令行而是用git gui呢.我觉得首先因为公 ...

  7. 今天又学了一招,牛逼!!!解决"-bash:No such file or directory"问题

    今天在64服务器上:发现好像bash 坏了,用户名前边   用-bash 显示,,前几天就发现这个问题,,,但是当时忙没有解决,,,,,今天来看看到底是怎么回事! File Exists but... ...

  8. Android ViewPager sharedpreferences

    http://www.cnblogs.com/dwinter/archive/2012/02/27/AndroidViewPager%E5%A4%9A%E9%A1%B5%E9%9D%A2%E6%BB% ...

  9. 一些PHP性能优化汇总

    PHP优化对于PHP的优化主要是对php.ini中的相关主要参数进行合理调整和设置,以下我们就来看看php.ini中的一些对性能影响较大的参数应该如何设置. # vi /etc/php.ini (1) ...

  10. POJ2195 最小费用流

    题目:http://poj.org/problem?id=2195 处理出每个人到每个门的曼哈顿距离,分别建立容量为1费用为曼哈顿距离的边,在源点和每个人人之间建立容量为1费用为0的边,在门和汇点之间 ...