基于深度学习的模糊认知图方法

1 文章信息

文章题目为“Deep Fuzzy Cognitive Maps for Interpretable Multivariate Time Series Prediction”,该文于2019年发表于“IEEE TRANSACTIONS ON FUZZY SYSTEMS”。文章提出了深度模糊认知图(FCM)用于多变量时间序列预测,同时增加了可解释性。

2 摘要

模糊认知图(FCM)是一种用于系统状态预测和可解释知识表示的强大模型。近年来,许多研究通过引入时间因素、不确定性或模糊规则从而提升模型的可解释性,引入模糊神经网络或小波方法从而改进时间序列预测精度。文章提出深度模糊认知图(DFCM)用于多元时间序列预测,该方法结合FCM在可解释性方面的优势和深度神经网络在预测方面的优势。具体而言,为提高预测性能,深度FCM利用一个全连接神经网络来模拟系统中概念(Concept)之间的连接(Relationships),并利用一个循环神经网络模拟影响系统动力学的未知外生因素。此外,为提高模型的可解释性,文章提出了一种基于偏导数的方法来测量深度FCM中概念之间的连接强度,并提出了一种替代函数梯度下降算法进行参数推理。深度FCM为构建现实应用中的可解释预测器提供了重要帮助。   

3 准备知识

         0a7f25a0d69259dec3783b61ee4af6e0.png

模糊认知图-FCM:基本的FCM框架由三个元素描述:概念(Concept)、激活状态(Activation States)和关系(Relationships)。其中,概念表示系统中的组件,激活状态表示组件的状态,关系表示组件之间的影响。如上图所示,FCM利用构建一个由I个点构成的加权有向图刻画一个系统。设42acf3ae396e175c4f2c91661b752bde.png为图的节点,即第i个概念,5cdacc8096010e88d767950d2342e76d.png表示节点i和节点j之前的加权边,f88b4188144b9ee2dc2903ce5e8d5c0d.png表示第i个概念的激活状态,激活状态为1时表示完全激活,激活状态为0时表示完全不激活。对于第i个概念而言,其激活状态为一个动态的时间序列81f9c1a787b9917a9d8c6320b488d8c8.png,t+1时刻的激活状态可以由下式计算:

8793aab53795c896800963383ade222c.png

其中,2775d0659579814863a345d3b9609774.png为隶属度函数,将激活状态模糊化至[0,1]区间内。通常情况下,激活状态即为观测的时间序列,但ebe70bc1f3e1d9c5b78ffa5f52a754bc.png通常难以直接获取。给定随机的初值,DHL算法通过t时刻的观测数据调整b2c9be129354e055e1dfadfdeeb9e2a8.png

44bfc8f86a67d8ebb55dcf7c3e438879.png

39c103b4b7d5ebb1cf262b4e1ff5d72f.png

相关符号定义:文章涉及的符号定义如下所示。   

a0b86c5a8d91c756bf47560e3d59cc03.png

4 深度模糊认知图-DFCM

a2164682b8828cb77a73700f15b9d053.png

模型的框架如图所示,将从4个部分进行介绍:时间序列模糊化、刻画非线性影响、刻画外在因素、衡量概念之间的联系。

时间序列模糊化:给定一个由若干概念构成的系统,文章设第j个概念对应的原始时间序列为00df22508b18be83e33fe6993c317977.png,其值为cb7bead60b95bfc9a8bdb58f5f4b8854.png。DFCM首先通过z-score对时间序列进行归一化处理:

ed1cb4b81cb2d294e19955afabc3d454.png

进一步,FCM利用隶属度函数对归一化后的时间序列进行模糊化,得到模糊状态,其中40e5b332d6b990d62e075be681543fa6.png为Sigmoid函数:

9a5dd10fbea9c49feaf3d9b305b666fc.png

基于上式,给定一个由FDCM预测的模糊状态,为实现预测,文章通过下式对模糊状态进行去模糊化,得到预期的未来值:   

0ce4733fe0307018fe4b2d1902fd51ec.png

刻画非线性影响:基础FCM的一个缺点在于该模型难以刻画非线性关系,为解决这一问题,DFCM通过下式更新激活状态:

c7434acd49f341cf706d34dc857ddf73.png

其中,ca6c85d4686fa711ea73d6f8e72efc17.png用于刻画系统状态524b0e48375c2b7af13fff689b4f39ca.png与aj的联系,称为f-函数80eda30db559df0a47d7d7ef5f76f4b4.png用于刻画外在因素(未知因素)对于aj的影响,称为u-函数。f-函数和u-函数的求和通过Sigmoid函数进行模糊化,从而生成下一个时刻的激活状态。显然,当u-函数为0,f-函数为d90f0fc2c886f396389b80bd28bbd425.png时,DFCM退化为基本的FCM。

文章定义f-函数为前馈神经网络,第k层中,第m个神经元在第t时刻的预测值通过下式计算:

f843c76e76667b2f4bcc17b8b5ad75c8.png

其中,在k=0时,248b36b0a01ce7d253ca7eecea4eb634.png,且在最后一层不使用ReLU函数。

刻画外在因素:DFCM中的外在因素指那些对系统状态a有影响,但不能预先定义和直接测量的因素。以道路运输系统的DFCM为例,在该系统中,路段可以建模为概念,路段是否拥挤可以建模为激活状态。相邻路段的交通速度可以相互影响,形成概念之间的关系,可以用f-函数刻画。然而,交通速度也受到一些外生因素的影响,例如居民的通勤方式、交通管制、重大事件等。由于这些外生因素的状态不能直接测量,因此不能使用预定义的FCM概念来描述它们。为解决这个问题,文章提出基于LSTM的u-函数。具体而言,文章定义u-函数如下:   

62bbfa702b0485466c0142656640136f.png

其中,包括三个输入时间步t,以及时间步与预测长度τ的模,以及历史外在因素。文章基于三个考虑将u-函数设计:1. u-函数是与时间步t相关的函数,因为外在因素的影响通常随时间变化;2. 在许多情况下,外在因素具有周期性,如一天、一周、一个月等,因此也采用时间步与预测长度τ的模作为输入;3. 外在因素的动态通常具有“记忆”,即依赖于它们的历史状态。值得注意的是,对于u-函数的计算从t=2时开始。

f6f9ffa0714eb3d3c1fccb280c867d2b.png

衡量概念之间的联系:FCM的最大优势在于它能够揭示复杂系统中的概念关系。这种优势也被称为FCM的可解释性,如上图所示。简单而言,82a70fcbcd67868c29227d644347d7e0.png刻画当概念cj增加时,概念ci增加的程度。类似的,文章提出一种基于偏导数的关系计算方式:

882c7b1dddb44e41228f04968a598d12.png

其中,1e7634ec88e53c35cacba0aa64271282.png表示除了ai以外的所有激活状态。该偏导数反映了在给定所有激活状态的条件下,当ai增加时,fj增加的幅度。值得注意的是,78b5817a1812eb2173b3eb79cdf4664a.png是一个关于非关注状态(除ak以外的状态)对应激活状态的函数,为除去这些非关注状态的影响,文章对所有be1c580ab728ac81fa14c0b614752f24.png的可能值计算了55cfea8caad4a9df02300e21056a07c7.png的期望值:

66d4c79758384ad8ca2fc8399d3a8942.png

进一步,概念ai对于aj的总影响通过下式计算:

d457650b350b791cf6b42d59ffc17a0b.png

在实际应用中,依据大数定律对上述两式进行近似,由于FCM框架要求关系的值在[−1,1]的范围内,因此文章使用Tanh函数对关系值进行调整。    

c46cf229ab342539e29b2dd3cceba858.png

c08bedc05b0590e4cf83c29bef018a45.png

3175d018ee42592374e4bcce5cf448cf.png

此外,由于文章设定的DFCM模型定义f-函数为全连接神经网络,因此可以通过链式法则对部分偏导数进行计算,如下式所示,其中,66ff10fae2d05672a5c8dc21577ea12c.png为ReLU函数的导数。

c79ba82e4b50f393ece1bb2f92275929.png

d550d342a5c7452dfe415aa551dc5750.png

5 目标函数和AFGD算法

目标函数构建:由于文章构建的DFCM模型刻画了未知的外在因素,因此预测值6188576f35df6edc5be3bea8403f71f4.png和真实值504f47436ce469fda29e837a493dbd6c.png之间的误差应该是一个随机误差,文章假设59f67e33d6aa65c227b7bcd50f862597.png服从0均值的高斯噪声,文章利用最大似然估计(MLE)构建目标函数:

0a8ebff2c240653e9fca1be7dab62309.png

AFGD算法:DFCM与基本FCM的最大区别在于DFCM包含了许多深度神经网络成分,如f-函数和u-函数。然而,传统的FCM训练算法不能直接用于训练深度神经网络,因此文章基于反向传播算法提出一种新的训练方法,称为交替函数梯度下降(AFGD)。AFGD算法通过迭代的方式学习f-函数和u-函数中的参数,如下式所示:

3873aadb2625cf549db81cabc5c50d26.png    

进一步,上述计算公式可转化为下述公式:

f68b584ea9a989736cf59e6682e00760.png

上述两式可以直观地理解为u-函数和f-函数交替使用对方的预测残差来训练它们的参数。F-函数的预测残差是无法用内部FCM概念建模的影响,即外在因素的影响,因此应由u-函数吸收。相反,u-函数的预测残差应该通过f-函数进行刻画。算法总结如下:

8b7b454b068f7960485cb3d946952d0f.png

6 实验

059b0ca4b4d9dcfaaee6b6d4febc255b.png

文章选用的数据集如上表所示,包括空气质量数据集、交通速度数据集、电力消耗数据集和温度数据集。具体而言,空气质量指数(AQI):该数据集包含2017年2月至2018年2月在中国北京收集的气象和空气质量指数的时间序列。文章使用4个气象指标和5个时间点的空气质量指标作为输入来预测时间点t+1的空气质量指数;交通数据集(Traffic):该数据集包含2016年4月1日至30日北京6个路段的交通速度。文章使用t时刻所有路段的交通速度作为输入来预测t+1时刻每个路段的速度。电力消耗数据集(EPC):该数据集包含一个家庭的电力消耗测量数据3。不同的电量和一些分计量值是可用的。文章实验所用数据集对应的时间跨度为2016年12月16日至31日。文章使用四个电量和三个分计量值作为输入来预测下一个周期的三个分计量值。温度数据集(Temp):该数据集包含24个特征,这些特征是从安装在家庭房屋中的监控系统收集的。文章使用的数据集对应时间跨度为2012年3月3日至4月11日。文章使用时间t的所有特征来预测时间t+1时餐厅和房间的室内温度。实验结果如下表所示,可以看到DFCM取得了较好的预测性能。   

86e8372d0b31ddb6226424e4be7b4873.png    cb6fbc5be2a2c11e38d12fb8251f038c.png

此外,文章利用交通速度数据集对模型的组成成分进行消融实验,DFCM-1L:该模型包含一个f-函数隐藏层和一个u-函数隐藏层;DFCM-3L: 该模型包含三个f-函数隐藏层和一个u-函数隐藏层;fi-1L:该模型仅包含一层f-函数隐藏层;fi-3L: 该模型仅包含三个f-函数隐藏层;FCM:基础的FCM模型。实验结果如下。

fe7588a2e4603f3fbbd23f9d296807f9.png    

7 总结

文章提出了一种基于深度神经网络的模糊认知图模型,称为DFCM,以实现可解释的多元时间序列预测。DFCM模型将深度神经网络模型引入到FCM的知识表示框架中,从而将FCM在解释方面的优势和深度神经网络在预测方面的优势集成到同一个模型中。文章通过真实数据集验证了深度FCM在可解释性和预测能力方面的优异性能。深度FCM为构建现实应用中的可解释预测器提供了重要帮助。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/663758.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

一个良好的嵌入式系统框架(基于FreeRTOS)

目录 Unix操作系统里的优先级嵌入式系统里的优先级 Unix操作系统里的优先级 在《Unix传奇》中有这样一句话,用户态的进程/线程是三等公民、root线程是二等公民、硬件中断是一等公民。 在操作系统中,"用户态"和"内核态"是两种不同的…

BERT模型学习(1)

BERT(Bidirectional Encoder Representations from Transformers)由谷歌在2018年推出,迅速成为自然语言处理(NLP)领域的一个突破性成果。 基本概念 在深入了解BERT之前,需要先简单了解一下自然语言处理&a…

五分钟“手撕”链表

为了提高大家的学习效率,我把代码放开头,供查阅。 目录 一、链表的实现代码 二、什么是链表 三、链表的分类 四、链表的常见操作 插入 删除 五、Java自带的LinkedList 两个构造方法 一些常用方法 六、LinkedList的遍历 七、ArrayList和Linke…

达梦数据库写文件的方式探索

0x01 前沿 这篇文章整体算是《达梦数据库手工注入笔记》的续集,达梦作为国内优秀的信创数据库,在关基单位中拥有越来越大的用户使用量。 通过SQL注入来写文件一直以来都是SQL注入漏洞深入利用的一种方式,对于不同的数据库通常写文件的方式也是…

探索无限可能性——微软 Visio 2021 改变您的思维方式

在当今信息化时代,信息流动和数据处理已经成为各行各业的关键。微软 Visio 2021 作为领先的流程图和图表软件,帮助用户以直观、动态的方式呈现信息和数据,从而提高工作效率,优化业务流程。本文将介绍 Visio 2021 的特色功能及其在…

【管理咨询宝藏119】翰威特组织架构设计优化方案

本报告首发于公号“管理咨询宝藏”,如需阅读完整版报告内容,请查阅公号“管理咨询宝藏”。 【管理咨询宝藏119】翰威特组织架构设计优化方案 【格式】PDF版本 【关键词】人力资源、组织设计、组织架构 【核心观点】 - 城镇化建设和居民可支配收入的增长…

Python实现定时任务的方式

大家好,在当今数字化的时代,定时任务的需求在各种应用场景中频繁出现。无论是数据的定时更新、周期性的任务执行,还是特定时间点的操作触发,Python 都为我们提供了强大而灵活的手段来实现这些定时任务。当我们深入探索 Python 的世…

代理 模式

一、什么是代理模式 代理模式指代理控制对其他对象的访问,也就是代理对象控制对原对象的引⽤。在某些情况下,⼀个对象不适合或者不能直接被引⽤访问,⽽代理对象可以在客⼾端和⽬标对象之间起到中介的作⽤。 二、为什么使用代理模式 模式作…

MySQL各种锁

目录 1. 从粒度上区分锁 1.1 全局锁(第一粒度) 1.2 表级锁(第二粒度) 1.3 行锁(第三最小粒度) 2 从模式上区分锁 2.1 什么是乐观锁 2.2 什么是悲观锁 2.3 意向共享锁和意向排他锁 2.4 临键锁和记录…

【Python】 深入理解Python中的UnicodeDecodeError及其解决方案

基本原理 在Python编程中,我们经常需要处理各种类型的数据,尤其是文本数据。文本数据在计算机中通常以字节的形式存在,而字节需要被解码成我们能够理解的字符。这个过程涉及到编码和解码的概念。 编码是将字符转换为字节的过程,…

23 vue3面试重难点复习:响应式原理、特点、8大生命钩子、data数据定义、组件、全家桶

vue作为用的最为广泛的当前热门框架,总结如下重难点核心知识: 1.vue特点是什么? 1.1优点 渐进式 vue本身只提供数据响应式,需要全局缓存用 vuex,需要路由用 vue-router 组件化 封装组件,利于复用 响应式数…

k8s——Pod进阶(资源限制和探针)

一、资源限制 1.1 资源限制的定义 当定义Pod时可以选择性地为每个容器设定所需要的资源数量。 最常见的可设定资源是CPU和内存大小,以及其他类型的资源。 当为Pod中的容器指定了request资源时,调度器就使用该信息来决定将Pod调度到哪个节点上。当还为容器…

汇凯金业:量化交易有风险吗

量化交易是一种通过复杂的数学模型和算法在金融市场中进行高频和自动化交易的方式。尽管量化交易在提高市场效率、减少人为错误等方面具有诸多优点,但它也同样存在着不少风险。以下列举了一些主要的风险因素: 1. 模型风险 模型缺陷:量化交易…

网络协议。

一、流程案例 接下来揭秘我要说的大事情,“双十一”。这和我们要讲的网络协议有什么关系呢? 在经济学领域,有个伦纳德里德(Leonard E. Read)创作的《铅笔的故事》。这个故事通过一个铅笔的诞生过程,来讲述…

数据安全之翼:天空卫士在汽车数据安全领域的卓越领航

近期,中国汽车网络安全与数据安全产业的积极倡导者谈思实验室发布首份《汽车网络与数据安全行业全景图》,天空卫士入选,并且位列榜首。 天空卫士在汽车数据安全领域有丰富的实践经验,曾为多家汽车行业用户提供数据安全产品与服务&…

LeetCode - 贪心(Greedy)算法集合(Python)[分配问题|区间问题]

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/139242199 贪心算法,是在每一步选择中,都采取当前状态下,最好或最优(即最有利)的选择&…

不同linux账户切换不同的cuda版本

原因 由于服务器中安装了两个版本的cuda(cuda10.1和cuda11.1),不同项目可能需要应用不同的cuda版本,但是自己又没有root权限或者只想在使用指定conda环境时改为用指定的cuda版本。总结起来有三种方法: 1、修改软链接指…

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-24.1,2 SPI驱动实验-SPI协议介绍

前言: 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM(MX6U)裸机篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…

Linux实验六:进程间通信(二)

目录 一、实验目的二、实验内容三、实验环境四、参考代码五、实验步骤步骤1. 编辑源代码test6.c步骤2. 编译源代码test6.c步骤3. 运行可执行程序test6步骤4. 进一步调试源代码test6.c 六、实验结果七、实验总结 一、实验目的 1、理解 POSIX 和 System V 提供的 IPC 相关概念&a…

安防监控视频平台LntonCVS视频监控汇聚平台遏制校园暴力保护校园学生安全应用方案

未成年人被誉为祖国的花朵,是我们国家的未来。然而,最近频繁曝出的未成年霸凌事件却引发了社会的广泛关注。这些事件手段残忍,事态恶劣,引发了全社会对如何保护未成年身心健康、规避霸凌事件发生的深刻思考。 为了更好地保障学生的…