小脑模型神经网络CMAC
一、简介
(1) 在对人类神经学的研究中,得知它由一些神经元覆盖组成。在这项研究的基础上,Albus J.S.于1975年根据神经生理学小脑皮层结构特点提出了一种小脑模型关联控制器,经过多年的完善和发展,形成了成熟的小脑模型神经网络理论(Cerebellar Model Articulation Controller—CMAC)。
(2) CMAC是一种查表型自适应神经网络,它可以准确地描述出非线性函数的特征,同时,具有学习功能,可依据学习结果改变表格内容,对信息可区分存储。顾名思义,它具有人类小脑一般学习的功能,在多维度空间中进行映射,解决了输入端到输出端非线性的问题。
(3) CMAC是一种局部逼近神经网络,它具有一种联想记忆的功能,它的每一个神经元的输入输出是一种线性关系,但总体上是一种表达非线性映射的表格系统。
二、结构与原理
1.结构模型
CMAC把控制器的每个输入状态作为一个状态向量,组成一个输入空间。把网络训练的权值存入存储器,并根据期望输出与实际输出地误差来调整这些权值。它实际上是一种复杂的查表系统,主要用于表达非线性的映射。结构模型如下图所示:
AC:虚拟联想空间 AP:物理存储空间
2.工作原理
(1)概念映射(U→AC)
概念映射是一种输入空间U内的映射,映射至虚拟的存储器AC。假定输入的数值向量为u,维度为n,则有:
对输入量进行量化,表示成[up],每一个量化后的输入状态点激活存储器AC中对应的c个单元,c可以称为CMAC网络的感知器个数。映射后的输出向量表示为:
输入空间中的临近两点通过映射作用激励存储器AC中部分重合的单元,这两点的距离越近,重合的部分越多,相距较远的点在AC中不会产生重合,这样就实现了网络的局域泛化。
(2)实际映射(AC→AP)
实际映射是指利用哈希编码技术,表示概念存储器AC的c个存储地址与实际存储器AP相应的c个存储地址的映射关系,在c个存储地址中存储网络训练的权值,网络输出是实际存储器AP中存储的对应c个值的累加结果。
若只考虑单输出的情况,则:
在上式中,有:
将上式代入合并得:
经过两次映射:相近的输入,产生相近的输出;不同的输入,产生不同的输出。
扩展:哈希编码也称为哈希存储,是一种常见的计算机存储算法,利用哈希表存储数据,实现数据的压缩存储。在CMAC神经网络中,当输入矢量维数为n,并且每个矢量的量化为q个离散点,若n,q较大,存储器AC
需要的空间将会很大。实际应用时, 网络训练只需要局部的调整网络输出层的权值,即在存储器AC中被激
励的单元非零单元是相对稀少的 ,利用哈希存储方法,可以将AC空间进行压缩,压缩后数据存储到存储器
AP中。
三、CMAC学习算法
考虑单输出系统,给定输入/输出样本对,采用有导师的学习算法,取导师信号为ud/dp,p=1,2,…,L。根据δ学习规则修正网络权值:
其中,
综上可得:
为了在CMAC中产生一个非线性映射函数,步骤为:
1)若要求CMAC产生的目标非线性函数为f*,那么对输入矢量u,y*=f*(u)就是输出矢量的期望值。
2)在输入矢量中取一点u,计算该点的函数值y=f(u)。
3)对应y*=(y1*,y2*,…,yn*)和y=(y1,y2,…,yn)中每两点,如果丨yi*-yi丨符合误差允许的要求,就停止训练,函数的各参数存储至存储器中;如果丨yi*-yi丨<ei,那么对网络对应的权值w增加Δw,Δw的计算按上式确定。
4)重复以上步骤,直至各输入矢量计算的误差都小于允许的范围。
四、CMAC泛化能力
泛化能力(generalization ability)是指机器学习算法对新鲜样本的适应能力。 学习的目的是学到隐含在数据背后的规律,对具有同一规律的学习集以外的数据,经过训练的网络也能给出合适的输出。
CMAC网络中,若两个输入向量相近,则他们所触发的神经元有重叠,距离越近,重叠越多;若两个输入向量相距较远,则它们触发的神经元没有重叠。因此CMAC网络具有局部泛化能力,它的泛化能力源自于它的网络结构本身。
影响CMAC泛化精度的主要因素有:训练精度、泛化常数和样本点选择。对于一个神经网络来说,泛化能力越强,意味着经过样本点训练后,对于样本集附近的非样本点的输入,网络输出与期望输出间的误差越小。
五、CMAC优势
1)CMAC是局部逼近神经网络,只对输入空间的小部分范围进行训练,只有相应小部分的几个权值调节神经网络的输出,因此对于每次的输入输出数据需要调整的权值很少,学习速度比全局神经网络快,更能符合实时控制的要求。
2)CMAC具有较强的输入和输出的映射能力,并且可以根据不同的精度要求来逼近任意类型函数。
3)CMAC具有局部泛化能力,对具有同一规律的学习集以外的数据,经过训练,网络也能给出合适的输出。
4)CMAC采用查表寻址方式,易于计算机编程实现,网络形式简单,在线计算速度快。
小脑模型神经网络CMAC相关推荐
- CMAC小脑模型神经网络与Python实现
CMAC 小脑模型神经网络 简述 CMAC是cerebellar model articulation controller,一种模拟小脑的模型.小脑对肢体动作的操作是近似"反射" ...
- 基于小脑模型神经网络的轨迹跟踪研究(Matlab代码实现)
- 基于CMAC小脑模型的数据训练和预测matlab仿真
目录 一.理论基础 二.核心程序 三.仿真结论 一.理论基础 J.S.Albus于20世纪70年代提出了CMAC,即小脑模型关节控制器,它由含局部调整,相互覆盖接受域的神经元组成.它是模拟人的小脑的一 ...
- 小脑神经网络——CMAC
联系方式:860122112@qq.com 小脑神经网络 小脑神经网络(CMAC-Cerebellar Model Articulation Controller)是由Albus最初于1975年基于神 ...
- 【CMAC】基于CMAC小脑模型的人体行走姿态识别算法仿真
1.软件版本 matlab2019a 2.本算法理论知识 CMAC最大特点是局部逼近,因此它具有特殊的结构. 如上图,假设输入是二维,即X=(x1,x2)X=(x1,x2),x1,x2∈[0,5]x1 ...
- 感知机模型[神经网络入门]
感知机模型为神经网络入门所学 O = f(∑wij * Sj - θi) 利用感知机,模拟一个简单的二值逻辑加法 测试数据: x1 x2 y 1 1 1 1 0 1 0 1 ...
- 神经网络是算法还是模型,神经网络 图像相似度
神经网络的准确率是怎么计算的? 其实神经网络的准确率的标准是自己定义的.我把你的例子赋予某种意义讲解:1,期望输出[1 0 0 1],每个元素代表一个属性是否存在. 像着4个元素分别表示:是否肺炎,是 ...
- 神经网络异常检测模型,神经网络异常检测方法
异常检测有哪些主要的分析方法 1.概率统计方法在基于异常检测技术的IDS中应用最早也是最多的一种方法. 首先要对系统或用户的行为按照一定的时间间隔进行采样,样本的内容包括每个会话的登录.退出情况,CP ...
- 神经网络算法有哪些模型,神经网络的简单模型是
有哪些深度神经网络模型? 目前经常使用的深度神经网络模型主要有卷积神经网络(CNN).递归神经网络(RNN).深信度网络(DBN).深度自动编码器(AutoEncoder)和生成对抗网络(GAN)等. ...
最新文章
- Go开发者路线图2019,请收下这份指南
- ORA-00910: specified length too long for its datatype
- 网络编程(32)—— linux中销毁僵尸进程的四种方法
- As3.0与java数据类型的比较总结
- aws es方案_AWS Elasticsearch后模式
- Visual C++编程中的文件操作
- 辽源市强化“智慧城市”建设 提高居民幸福指数
- CentOS第一次安装MySQL的完整步骤
- pytest allure测试报告_pytest文档32allure描述用例详细讲解
- c语言读取文件属性,Java File类(文件操作类)详解
- 宝塔Linux面板如何进入,云服务器怎么进入宝塔面板
- 怎样下载网页上的视屏到本地
- Maven学习记录之依赖问题 Missing artifact org.aspectj:aspectjweaver:jar:1.8.0.M1
- 携程线上测评测试题目,答案解析
- 思迈特软件Smartbi!这才是你该选用的企业bi报表工具!
- python get score gain_机器学习的特征重要性究竟是怎么算的
- 仿热血江湖游戏NpcClass_自动攻击事件 刀反伤
- js replace() 使用
- 移动硬盘怎么连接服务器,无线路由器加USB硬盘组建属于自己的FTP服务器的方法 隐者黑鹰...
- 股票量化投资策略有哪些特点?
热门文章
- 【Vue教程】Vue.js推文
- 手机怎样运行linux命令行,不仅是命令行 Windows 10 也可以运行 Linux 的图形界面程序了...
- LabVIEW练习6
- 大数据和物联网哪个更有前景?
- 用spring管理和实例化对象的四种方式
- CDR快速制作苹果手机照片小图标
- 《中国企业报》专访高承实:区块链的技术本质与应用 | 另:欢迎参加中国数据与存储峰会-【区块链技术与实践】分论坛...
- scratch模拟动态声波图/steam教育/输入输出/声音物理学
- Macbook获取当前文件的路径
- 关于微信编辑器,我有话说~~~