1.模糊规则库生成的两种方法[1]^{[1]}[1]

1.1 划分空间方法的模糊规则库生成

(1)把输入空间和输出空间划分成模糊区间:假设各个变量有取值范围,将每一个输入变量的取值范围划分成N个模糊子集,每一个模糊子集用一个模糊隶属函数表示,如三角形函数、高斯函数等。

(2)根据已知的输入-输出数据对产生模糊规则:根据已知的输入-输出数据对在不同区间上确定每个输入数据点所应该对应的隶属度,将已知的数据点分别定位于最大隶属度对应的区间上,从而确定了各自的隶属函数,并将输入-输出数据对中的输出作为模糊规则的实际输出,从而形成一条模糊“IF-THEN”规则。

1.2 模糊聚类方法的模糊规则库生成

模糊c-均值聚类问题:

MinimizeJ(U,V)=∑j=1n∑i=1cμijmdij2(xj,vj)(1)\\Minimize J(U,V) = \sum_{j=1}^n \sum_{i=1}^c \mu_{ij}^md_{ij}^2(x_j, v_j) \tag{1} MinimizeJ(U,V)=j=1∑n​i=1∑c​μijm​dij2​(xj​,vj​)(1)

聚类完成后,采用适应度较好的高斯函数构造模糊规则库。通过FCM算法将已知的数据分为CCC类,聚类中心为CiC_iCi​,则CCC为模糊规则的数目,规则中的前提部分的μAji(xi)\mu_{A_j}^i(x_i)μAj​i​(xi​)用高斯函数表示:

μAji(xi)=exp⁡[−(xi−mij)22(σij)2],j=1,2,...,c(2)\mu_{A_j}^i(x_i) = \exp[- \frac{(x_i-m_{ij})^2}{2(\sigma_{ij})^2}], j=1,2,...,c \tag{2} μAj​i​(xi​)=exp[−2(σij​)2(xi​−mij​)2​],j=1,2,...,c(2)

其中,mijm_{ij}mij​为高斯函数的中心,σij\sigma_{ij}σij​为高斯函数的方差,都是模糊聚类生成规则的重要参数,

mij=(σ1j,σ2j,...,σ(p−1)j)(3)m_{ij} = (\sigma_{1j}, \sigma_{2j}, ..., \sigma_{(p-1)j}) \tag{3} mij​=(σ1j​,σ2j​,...,σ(p−1)j​)(3)

σij\sigma_{ij}σij​通过计算第jjj类的输入数据点与其聚类中心的偏差即可得到。
最后,模糊系统总的输出用所有规则结论表示

y=∑j=1cajwj∑j=1caj(4)y = \frac {\sum_{j=1}^c a_jw_j}{\sum_{j=1}^ca_j} \tag{4} y=∑j=1c​aj​∑j=1c​aj​wj​​(4)

wjw_{j}wj​ 可以表示为:wj=cpjw_{j} = c_{pj}wj​=cpj​

a=∏i=1p−1μAjJ(xi)(5)a = \prod_{i=1}^{p-1}\mu_{A_j}^J(x_i) \tag{5} a=i=1∏p−1​μAj​J​(xi​)(5)

2.模糊推理系统(fuzzy inference system)[2]^{[2]}[2]

模糊推理系统也被称为基于模糊规则的系统、模糊模型、模糊联想记忆(FAM)或模糊控制器。由以下五个功能块组成:

  • 包含许多模糊 if-then 规则的规则库(rule base);
  • 定义在生成模糊规则时使用的 模糊集合的隶属度函数(membership function) 的数据库;
  • 基于规则执行推理操作的决策单元(decision-making unit)
  • 一个 fuzzy interface,将清晰的输入转变为与linguistic value相匹配的程度;
  • 一个 defuzzification interface,将清晰的结果转变为清晰的输入。

通常,规则库和数据库统称为知识库(knowledage base)

模糊推理系统进行模糊推理的步骤为:

1)将输入变量与前提部分的隶属度函数进行compare不太懂,来得到每个linguistic label的隶属度值,通常称为模糊化(fuzzification);

2)将前提部分的隶属度值结合(通过一个特定的T-norm operator,相乘或取最小值),得到每条规则的激励强度(firing strength);

3)根据激励强度,生成每条规则的qualified consequent;

4)Aggregate the qualified consequents来产生crisp输出。
根据模糊推理的种类和应用的模糊if-then规则,大多数模糊推理系统可以分为三类:
Type1:Type{\,}{\,}1:Type1: 总输出是由规则的触发强度和输出隶属度函数得到的每个规则的清晰输出的加权平均值。其中,使用的输出隶属度函数必须是单调(monotonic)函数。
Type2:Type{\,}{\,}2:Type2: 通过对符合条件的模糊输出进行Max运算,得到整体模糊输出。基于综合模糊输出,提出了多种选择最终清晰输出的方案:如面积质心(centroid)、面积平分线(bisector)、极大值均值、极大值判值等。
Type3:Type{\,}{\,}3:Type3:使用Takagi-Sugeno模糊if-then规则。每条规则的输出是输入变量加上常数项(constant term)的线性组合,最后的输出是每条规则输出的加权平均值。

3.架构和基本的学习规则[2]^{[2]}[2]

为了反映不同的适应能力,在自适应网络中同时使用圆节点和方节点。方节点(自适应节点)有参数而圆节点(固定节点)没有。一个自适应网络的参数集是每个自适应节点参数集的并集。为了得到一个desired输入-输出mapping,这些参数会根据训练数据和如下的基于梯度学习过程进行更新。
用(k,i)(k,i)(k,i)表示第kkk层第iii个位置的节点,OikO_i^kOik​表示节点函数(节点输出)。假设给定的训练数据集有PPP类,第ppp类训练数据的误差度量为误差平方和:
Ep=∑m−1#(L)(Tm,p−Om,pL)2E_p=\sum_{m-1}^{\#(L)}(T_{m,p}-O_{m,p}^L)^2 Ep​=m−1∑#(L)​(Tm,p​−Om,pL​)2
其中,Tm,pT_{m,p}Tm,p​是第ppp个目标输出向量的第mmm个分量,Om,pLO_{m,p}^LOm,pL​是第ppp个输入向量产生的实际输出的第mmm个分量。因此总的误差度量为E=∑p−1PEpE=\sum_{p-1}^PE_pE=∑p−1P​Ep​。
为了在参数空间EEE中实现梯度下降(gradient dascent)的学习过程,首先计算第ppp类训练数据对每个节点输出OOO的误差率∂Ep/∂O\partial E_p/\partial O∂Ep​/∂O。输出节点(L,i)(L,i)(L,i)的误差率为:
∂Ep∂Oi,pL=−2(Ti,p−Oi,pL)(6)\frac{\partial E_p}{\partial O_{i,p}^L}=-2(T_{i,p}-O_{i,p}^L) \tag{6} ∂Oi,pL​∂Ep​​=−2(Ti,p​−Oi,pL​)(6)
如果α\alphaα是给定的神经网络的一个参数,则,
∂Ep∂α=∑O∗∈∂Ep∂O∗∂O∗∂α(7)\frac{\partial E_p}{\partial \alpha}=\sum_{O*\in}\frac{\partial E_p}{\partial O*}\frac{\partial O*}{\partial \alpha} \tag{7} ∂α∂Ep​​=O∗∈∑​∂O∗∂Ep​​∂α∂O∗​(7)
其中,SSS是输出依赖α\alphaα的节点的集合。总的误差度量EEE对α\alphaα的导数是
∂E∂α=∑p=1P∂Ep∂α(8)\frac{\partial E}{\partial \alpha}=\sum_{p=1}^P\frac{\partial E_p}{\partial \alpha} \tag{8} ∂α∂E​=p=1∑P​∂α∂Ep​​(8)
因此,generic参数α\alphaα的更新公式为
Δα=−η∂E∂α(9)\Delta\alpha=-\eta\frac{\partial E}{\partial \alpha} \tag{9} Δα=−η∂α∂E​(9)
其中η\etaη是学习率,可以进一步表示为
η=k∑α(∂E∂α)2(10)\eta = \frac{k}{\sqrt{\sum_\alpha(\frac{\partial E}{\partial \alpha})^2}} \tag{10} η=∑α​(∂α∂E​)2​k​(10)
其中,kkk为步长。
实际上,自适应网络有两种学习模式。在批量(batch)学习或离线学习中,更新参数α\alphaα基于公式(8)(8)(8),并且更新只发生在整个训练数据集展示后,即每次epoch或sweep后。另一方面,如果我们项要参数在每个输入-输出对出现后立刻更新,则基于公式(7)(7)(7),被称为模式(pattern)学习或在线学习

4.ANFIS原理[2]^{[2]}[2]

假设模糊推理系统有两个输入xxx,yyy,一个输出zzz。假设规则库包含两个模糊if-then规则,类型是Takagi-Sugeno。

$$
Rule{,}{,}1: If {,}{,} x {,}{,} is{,}{,} A_1{,}{,} and{,}{,} y{,}{,} is{,}{,} B_1, {,}{,}then{,}{,} f_1 = p_1x+q_1y+r_1,\

Rule{,}{,}2: If{,}{,} x {,}{,}is{,}{,} A_1 {,}{,}and {,}{,}y {,}{,}is{,}{,} B_2, {,}{,}then {,}{,}f_2 = p_2x+q_2y+r_2
$$

Layer1:Layer{\,}{\,}1:Layer1: 该层的每个节点 iii 都是一个具有节点函数的方形节点,

Oi1=μAi(x)(11)O_i^1 = \mu_{A_i}(x) \tag{11} Oi1​=μAi​​(x)(11)

其中,xxx是节点iii的输入,AiA_iAi​是与该节点相关的不同的标签。Oi1O_i^1Oi1​是AiA_iAi​的隶属度函数,指定给定的xxx满足AiA_iAi​的程度,通常选择钟形函数,取值范围为[0,1][0,1][0,1],

μAi(x)=11+[(x−ciai)2]bi(12)\mu_{A_i}(x) = \frac{1}{1+[(\frac{x-c_i}{a_i})^2]^{b_i}} \tag{12} μAi​​(x)=1+[(ai​x−ci​​)2]bi​1​(12)

其中,ai,bi,ci{a_i,b_i,c_i}ai​,bi​,ci​是参数集合。任何连续、分段可微的函数都可作为备选,比如梯形或三角形隶属函数。该层的参数为前向参数(premise parameter)。

Layer2:Layer{\,}{\,}2:Layer2: 该层的每个节点都是一个标识为∏\prod∏的圆形节点,将输入信号相乘并输出,比如,

ωi=μAi(x)∗μBi(y),i=1,2(13)\omega_i = \mu_{A_i}(x)*\mu_{B_i}(y), i=1,2 \tag{13} ωi​=μAi​​(x)∗μBi​​(y),i=1,2(13)

每个节点的输出表示规则的触发强度(firing strength),其他的如AND等范数操作也可以。
Layer3:Layer{\,}{\,}3:Layer3: 该层的每个节点是标识为NNN的圆形节点。第iii个节点计算第iii条规则的触发强度占所有规则触发强度之比:

ωiˉ=ωiω1+ω2,i=1,2(14)\bar{\omega_i}=\frac{\omega_i}{\omega_1+\omega_2},{\,}{\,}{\,}{\,}i=1,2 \tag{14} ωi​ˉ​=ω1​+ω2​ωi​​,i=1,2(14)

为方便,该层的输出称为“归一化的触发强度”。
Layer4:Layer{\,}{\,}4:Layer4: 该层的每个节点是一个有节点函数的方形节点,

Oi4=ωiˉfi=ωiˉ(pix+qiy+ri)(15)O_i^{4}=\bar{\omega_i}f_i=\bar{\omega_i}(p_ix+q_iy+r_i) \tag{15} Oi4​=ωi​ˉ​fi​=ωi​ˉ​(pi​x+qi​y+ri​)(15)

其中,ωiˉ\bar{\omega_i}ωi​ˉ​是第三层的输出,pi,qi,ri{p_i,q_i,r_i}pi​,qi​,ri​是参数集合。该层的参数被称为后件参数。
Layer5:Layer{\,}{\,}5:Layer5: 该层中的单个节点是一个标记为∑\sum∑的圆形节点,计算所有输入信号之和作为整体输出,即,

O15=overalloutput=∑iωiˉfi=∑iωifi∑iωi(16)O_1^5=overall{\,}{\,}output = \sum_i{\bar{\omega_i}f_i}=\frac{\sum_i{\omega_if_i}}{\sum_i\omega_i} \tag{16} O15​=overalloutput=i∑​ωi​ˉ​fi​=∑i​ωi​∑i​ωi​fi​​(16)

参考论文
[1]张东亮. 模糊规则库的生成与优化[D]. 燕山大学硕士论文, 2006.
[2] Jang J S R. ANFIS: adaptive-network-based fuzzy inference system[J]. IEEE transactions on systems, man, and cybernetics, 1993, 23(3): 665-685.

模糊规则、FCM、ANFIS学习笔记(持续更新中......)相关推荐

  1. JS逆向学习笔记 - 持续更新中

    JS逆向学习笔记 寻找深圳爬虫工作,微信:cjh-18888 文章目录 JS逆向学习笔记 一. JS Hook 1. JS HOOK 原理和作用 原理:替换原来的方法. (好像写了句废话) 作用: 可 ...

  2. typescript-----javascript的超集,typescript学习笔记持续更新中......

    Typescript,冲! Typescript 不是一门全新的语言,Typescript是 JavaScript 的超集,它对 JavaScript进行了一些规范和补充.使代码更加严谨. 一个特别好 ...

  3. 专升本 计算机 公共课学习笔记(持续更新中...)

    计算机公共课学习笔记 第一章 计算机基础知识(30分) 1.计算机概述 计算机(Computer)的起源与发展 计算机(Computer)也称"电脑",是一种具有计算功能.记忆功能 ...

  4. Docker快速入门学习笔记-持续更新中

    Docker安装 #1.卸载旧的版本 yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker ...

  5. Java学习笔记(持续更新中)

    文章目录 项目实战 mall项目(SpringBoot项目) 1. 添加Swagger-UI配置,修改MyBatis Generator注释的生成规则 2. redis基础配置 3. SpringSe ...

  6. 重拾CCNA,学习笔记持续更新ing......(4)

    重拾CCNA,学习笔记持续更新ing......(4) 路由器作用功能的经典解说(笑)(非原创) 假设你的名字叫小不点,你住在一个大院子里,你的邻居有很多小伙伴,在门口传达室还有个看大门的李大爷,李大 ...

  7. SpringCloud学习笔记,课程源自黑马程序员,笔记持续更新中...

    @SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式: 学习内容 1.服务拆分-服务远程调用: 2.搭建eureka服务: 2.1.eureka服务注册-client 2 ...

  8. Admin.NET管理系统(vue3等前后端分离)学习笔记--持续更新

    我的学习笔记 - 9iAdmin.NET 欢迎学习交流 (一)前端笔记 1.1 关于.env的设置 1.2 关于路由模式问题 1.3 关于 vue.config.ts 1.4 关于 打包(pnpm r ...

  9. [Hadoop] Hadoop学习历程 [持续更新中…]

    1. Hadoop FS Shell Hadoop之所以可以实现分布式计算,主要的原因之一是因为其背后的分布式文件系统(HDFS).所以,对于Hadoop的文件操作需要有一套全新的shell指令来完成 ...

  10. opencv-python学习笔记【更新中】

    opencv-python 基于明日科技的<Python OpenCV从入门到实践>的学习笔记 import cv2 1 图像处理的基本操作 (1)读取图像 image = cv2.imr ...

最新文章

  1. Jmeter之完整的HTTP接口测试
  2. (五)Java工具类ArrayUtils详解
  3. [ZZOJ#31]类欧几里得
  4. 为什么说无线数传电台和增益天线是相辅相成关系?
  5. C++:08---成员变量初始化方式
  6. Part1 R语言的基本操作
  7. 让IE8按照IE7的模式解释网页-【一句话】
  8. 验证身份证合法性的js
  9. Python之旅.第八章.网络编程
  10. 三维点云学习(4)3-Model Fitting Least Square
  11. 制作1G的U盘启动盘
  12. ARP命令详解和解决ARP攻击
  13. mac如何彻底删除/卸载程序
  14. android dialog设置背景图片,如何为Dialog设置背景图片?
  15. CRM 项目实战-笔记
  16. delphi使用TDelphiZXingQRCode生成二维码条形码
  17. 旧金山犯罪预测与可视化分析
  18. 第二章 ObjectARX类库简介
  19. T-SNE可视化高维数据,亮瞎审稿人
  20. Matlab中的匿名函数如何使用?

热门文章

  1. 移植FreeModbus
  2. 没有logo不要紧,手动为你的BIOS添加开机logo[AMI]
  3. Virtual PC 和 VMWare两大虚拟机BIOS修改方法
  4. Java中定义抽象类Shape,其中包含抽象方法double getPeremeter( )求周长和double getArea( )求面积。 定义一个矩形类,继承此抽象类,并自行扩充成员变量和方法。
  5. 微星B450M迫击炮MAX开启CPU虚拟化功能
  6. 分辨率 像素 密度和 屏幕尺寸的关系
  7. 【转】不需要 Root,也能用上强大的 Xposed 框架:VirtualXposed
  8. 计算机组成原理16-指令系统
  9. 上海调整私车额度参拍条件:申请前一年内无交通违法行为记录
  10. 车辆逆行识别检测系统 opencv