关于模糊认知图的背景

模糊认知图(Fuzzy Cognitive Map, FCM)是一种软计算的方法,是由模糊逻辑和神经网络相结合的产物。FCM与神经网络、图论等领域都有密切联系,正因为其强大的直观表达能力以及推理能力,使得其在各个领域都有应用,也成为了人工智能领域的一个研究方向。

从神经网络的角度来看,可以把它看做是一个单层神经网络,因此很多基于神经网络的研究都可以进行借鉴;从图的角度来看,它是一种有向加权图,因此我们也可以借助一些图论方面的知识对其进行研究。另一方面,FCM允许反馈机制的存在,这样也就为复杂系统建模提供了可能。

模糊认知图的基本概念

FCM描述了系统概念集和概念间的因果关系,它的具体定义如下:
FCM可以表示为一个四元组 G = ( C , E , U , f ) G = (C, E, U, f) G=(C,E,U,f)
1、其中 C = ( C 1 , C 2 , . . . . C c ) C = (C_{1}, C_{2}, ....C_{c}) C=(C1,C2,....Cc)表示构成有向图的顶点的概念集,
2、 E : ( C i , C j ) → w i j E:(C_{i}, C_{j}) \rightarrow w_{ij} E:(Ci,Cj)wij表示概念节点 C i C_{i} Ci C j C_{j} Cj的有向边的权重,则所有节点构成的权重矩阵表示为 W W W
3、 U : C i → u i U:C_{i} \rightarrow u_{i} U:Ciui表示概念节点 C i C_{i} Ci到激活度 u i u_{i} ui的映射,则 U ( t ) = ( u 1 ( t ) , u 2 ( t ) , . . . , u c ( t ) ) U(t) = (u_{1}(t), u_{2}(t), ...,u_{c}(t)) U(t)=(u1(t),u2(t),...,uc(t))表示当前 t t t时刻所有概念节点的激活度,也就是 G G G的在 t t t时刻的状态,其中 u i ( t ) ∈ [ 0 , 1 ] u_{i}(t) \in [0, 1] ui(t)[0,1]
4、 f f f表示压缩函数(squashing function),表示概念节点的激活度在 t t t时刻到 t + 1 t+1 t+1时刻的转换函数,即: u i ( t + 1 ) = f ( ∑ j = 1 c w i j u j ( t ) ) u_{i}(t+1) = f(\sum_{j=1}^{c}w_{ij}u_{j}(t)) ui(t+1)=f(j=1cwijuj(t))其中 f f f用sigmoid函数进行表示,以此将激活度映射到[0,1]的区间中: f ( u ) = 1 1 + e − τ u f(u) = \frac{1}{1+e^{-\tau u}} f(u)=1+eτu1sigmoid函数中的 τ \tau τ表示一个陡峭参数(steepness parameter),其中, τ \tau τ越大,sigmoid函数形状越接近阶跃函数。通常情况下, τ \tau τ设置为5。

FCM的参数训练

通常概念节点会通过模糊C均值(Fuzzy C-means)聚类得到的中心表示,这也是信息粒化的过程,之后,对FCM的训练即是转换为一个对其权重矩阵 W W W的优化问题。
权值的优化一般是通过启发式(heuristic)算法,例如PSO,或者基于梯度(gradient-based)的算法。
通过训练数据进行优化的loss function一般选取为SSE(Sum of Square Errors):
S S E = ∑ j = 1 N ∑ i = 1 c ( u i j − t i j ) 2 SSE = \sum_{j=1}^{N}\sum_{i=1}^{c}(u_{ij} - t_{ij})^{2} SSE=j=1Ni=1c(uijtij)2
即最小化期望输出与实际输出之间的差异。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐