【模糊认知图】RCGA-FCM进化算法学习模糊认知图 Genetic learning of fuzzy cognitive maps

摘要

以前生成FCM需要结合专家知识,本文提出的是使用基于遗传算发,只使用历史数据,并不需要人为干预,自动的生成FCM,本文还对FCM的规模大小和连接密度进行了比较。

  • 提出了一种新的算法,在建立发展FCM模型的时候使用连续状态的经验数据集,没有进行人为干预。提供一种全自动的解决方案来学习FCMs。
  • 比较了几种基于遗传算法(GA)的学习FCM的方法,并在大量的实验环境基础上选择了最有效的设计环境。
  • 进行有组织、全面的测试,考虑到大量不同类型的FCMs,并提出确定的设计方针。
FCM定义
  1. N = { N 1 , N 2 , … , N n } N=\left\{N_{1}, N_{2}, \ldots, N_{n}\right\} N={N1,N2,,Nn} 是模糊认知图中概念点的集合。
  2. E : ( N i , N j ) → e i j \mathbf{E} :\left(N_{i}, N_{j}\right) \rightarrow e_{i j} E:(Ni,Nj)eij N × N N \times N N×N到K的函数,它将 e i j e_{ij} eij ( N i , N j ) \left(N_{i}, N_{j}\right) (Ni,Nj)概念点联系起来,如果 i ≠ j i \neq j i̸=j e i j e_{ij} eij代表概念点 N i N_i Ni N j N_j Nj有向边的权重;如果 i = j i = j i=j e i j 为 0 e_{ij}为0 eij0,因此 E ( N × N ) = ( e i j ) ∈ K n × n \mathbf{E}(N \times N)=\left(e_{i j}\right) \in K^{n \times n} E(N×N)=(eij)Kn×n为一个连接矩阵。
  3. C : N i → C i \mathbf{C} :N_{i} \rightarrow C_{i} C:NiCi代表每个概念点 N i N_i Ni将其激活度序列关联起来,如 t ∈ N , C i ( t ) ∈ L t \in \mathbf{N}, C_{i}(t) \in L tN,Ci(t)L给定 t t t时刻的激活度。 C ( 0 ) ∈ L n \mathbf{C}(0) \in L^{n} C(0)Ln表示初始向量,并指定所有概念节点的初值, C ( t ) ∈ L n \mathbf{C}(t) \in L^{n} C(t)Ln是在某一迭代数 t t t
  4. f : R → L f : \mathbf{R} \rightarrow L f:RL是个转化函数,当 t ⩾ 0 t \geqslant 0 t0包涵 C ( t + 1 ) \mathbf{C}(t+1) C(t+1) C ( t ) \mathbf{C}(t) C(t)之间循环关系
    ∀ i ∈ { 1 , … , n } , C i ( t + 1 ) = f ( ∑ i = 1 j ≠ i n e j i C j ( t ) ) \forall i \in\{1, \ldots, n\}, \quad C_{i}(t+1)=f\left(\sum_{i=1 \atop j \neq i}^{n} e_{j i} C_{j}(t)\right) i{1,,n},Ci(t+1)=fj̸=ii=1nejiCj(t)
    规范化函数 f f f
    f ( x ) = 1 1 + e − C x f(x)=\frac{1}{1+e^{-C x}} f(x)=1+eCx1
    C是一个参数,来调整函数的形状
    文中提到两个概念为极限环定点吸引子,两个概念都是用来描述收敛性质的,定点吸引子较好理解,极限环就像天体运动中,地球围绕太阳运动的一种稳定状态一样。
算法介绍(RCGA-FCM)

本文使用实数编码的遗传算法来学习FCM的连接矩阵,使用历史数据组成的状态向量进行输入学习,该算法是全自动的,不需要专家知识的人为干预。

  1. 染色体结构
    每个染色体都为一个浮点向量,代表FCM中连接矩阵,将其变成一维向量的形式,如下所示。
    E ^ = [ e 12 , e 13 , … , e 1 N , e 21 , e 23 , … , e 2 N , … , e N N − 1 ] T \hat{\mathbf{E}}=\left[e_{12}, e_{13}, \ldots, e_{1 N}, e_{21}, e_{23}, \ldots, e_{2 N}, \ldots, e_{N N-1}\right]^{\mathrm{T}} E^=[e12,e13,,e1N,e21,e23,,e2N,,eNN1]T
    其中 e i j e_{ij} eij的值代表概念点 i i i到概念点 j j j的权重值。
  2. 适应度函数
     Error  − L p = α ∑ t = 1 K − 1 ∑ n = 1 N ∣ C n ( t ) − C ^ n ( t ) ∣ p \text { Error }_{-} L_{p}=\alpha \sum_{t=1}^{K-1} \sum_{n=1}^{N}\left|C_{n}(t)-\hat{C}_{n}(t)\right|^{p}  Error Lp=αt=1K1n=1NCn(t)C^n(t)p
    定义 C ( t ) \mathbf{C}(t) C(t)为初始化向量, C ( t + 1 ) \mathbf{C}(t+1) C(t+1)为系统响应,输入的数据是由{初始化向量系统响应}这样的数据对组成。公式中 C ( t ) = [ C 1 ( t ) , C 2 ( t ) , … , C n ( t ) ] \mathbf{C}(t)=\left[C_{1}(t), C_{2}(t), \ldots, C_{n}(t)\right] C(t)=[C1(t),C2(t),,Cn(t)] C ( t − 1 ) \mathbf{C}(t-1) C(t1)作为系统初始化向量的已知系统响应。
    C ^ ( t ) = [ C ^ 1 ( t ) , C ^ 2 ( t ) , … , C ^ n ( t ) ] \hat{\mathbf{C}}(t)=\left[\hat{C}_{1}(t), \hat{C}_{2}(t), \ldots, \hat{C}_{n}(t)\right] C^(t)=[C^1(t),C^2(t),,C^n(t)]是候选FCM初始化向量为 C ( t − 1 ) \mathbf{C}(t-1) C(t1)的系统响应。
    最终的适应度函数为:
     Fitness function  = h (  Error  − L p ) \text { Fitness function }=h\left(\text { Error }_{-} L_{p}\right)  Fitness function =h( Error Lp)
    其中h为一个辅助函数
    h ( x ) = 1 a x + 1 h(x)=\frac{1}{a x+1} h(x)=ax+11
  3. 停止条件
    学习成功或者达到最大迭代次数
  4. 进化算子和选择策略
    交叉算子:单点交叉
    变异算子:随机变异、非均匀变异(non-uniform mutation)、Mühlenbein’s 变异
    选择算子:轮盘赌、锦标赛
实验和结果

衡量结果标准

  1. 输入数据误差标准:把输入数据和候选FCM根据相同的初始状态向量生成的数据进行相似度比较:
     error  −  initial  = 1 ( K − 1 ) ⋅ N ∑ t = 1 K − 1 ∑ n = 1 N ∣ C n ( t ) − C ^ n ( t ) ∣ \text { error }_{-} \text { initial }=\frac{1}{(K-1) \cdot N} \sum_{t=1}^{K-1} \sum_{n=1}^{N}\left|C_{n}(t)-\hat{C}_{n}(t)\right|  error  initial =(K1)N1t=1K1n=1NCn(t)C^n(t)
    其中 C n ( t ) C_n(t) Cn(t)是第n个节点第 t t t次迭代的输入数据, C ^ n ( t ) \hat{C}_{n}(t) C^n(t)是第n个节点在候选FCM中第 t t t次迭代的模拟值,K是输入数据的长度,N是概念点的个数。

  2. 模型行为误差标准:测量候选FCM的泛化能力。
     error  −  behavior  = 1 P ⋅ ( K − 1 ) ⋅ N ∑ p = 1 P ∑ t = 1 K − 1 ∑ n = 1 N ∣ C n p ( t ) − C ^ n p ( t ) ∣ \text { error }_{-} \text { behavior }=\frac{1}{P \cdot(K-1) \cdot N} \sum_{p=1}^{P} \sum_{t=1}^{K-1} \sum_{n=1}^{N}\left|C_{n}^{p}(t)-\hat{C}_{n}^{p}(t)\right|  error  behavior =P(K1)N1p=1Pt=1K1n=1NCnp(t)C^np(t)
    C n p ( t ) C_{n}^{p}(t) Cnp(t)是从第p初始状态向量开始输入FCM模型生成的数据在迭代 t t t时节点n的值, C ^ n p ( t ) \hat{C}_{n}^{p}(t) C^np(t)是从第p初始状态向量开始候选FCM模型生成的数据在迭代 t t t时节点n的值,K是输入数据的长度,N是概念点的个数,P是不同个初始化向量的数量。

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值