GNN金融应用之Classifying and Understanding Financial Data Using Graph Neural Network学习笔记_using external knowledge for financial event predi-程序员宅基地

技术标签: 深度学习  Deep learning学习笔记  神经网络  


阅读该文献,记录中文翻译,方便复习。

摘要

从不同应用程序收集的实际数据通常不具有预定义的数据模型或未以预定义的方式组织。 难以分析凌乱的非结构化数据并提取有用的数据信息。对于在金融机构中收集的数据,通常具有附加的拓扑结构,并且可以用图形表示。 例如,社交网络,通信网络,金融系统和支付网络。可以从每个实体(例如金融机构,客户或计算中心)的连接中构建图结构。 我们通过基于图结构的标签预测问题,分析不同实体如何影响彼此的标签。有了结构化数据,GNNs就是一个功能强大的工具,可以模仿专家来标记节点。 GNN通过图结构组合节点特征,使用神经网络嵌入节点信息并将其通过图的边传递。我们想要通过识别GNN模型的输入数据中的信息交互来实现图中节点的分类,并检查模型是否按我们的期望工作。 然而,由于复杂的数据表示和非线性转换,解释GNN做出的决策具有挑战性。在这项工作中,我们提出了用于金融交易数据的图表示方法和新的图特征的解释方法,以识别信息丰富的图形拓扑。 我们使用四个数据集(一个合成的和三个实数)来验证我们的方法。 我们的研究结果表明,图结构表示法有助于分析金融交易数据,而我们的解释方法可以模仿人类解释的模式并解决图中的不同特征。

1. 概述

近年来,随着大数据,云计算,人工智能等新技术的迅猛发展,这些新技术已与金融服务深度融合,释放了金融创新的生命力和应用潜力,极大地促进了金融业的发展。在这一发展过程中,大数据技术是最成熟,应用最广泛的技术。但是,面对如此广阔的信息,尤其是非结构化数据信息,如何存储,查询,分析,挖掘和利用这些庞大的信息资源尤为关键。传统的关系数据库主要面向交易过程和数据分析应用程序。他们擅长解决结构化数据管理问题。管理非结构化数据存在一些固有的缺陷,尤其是在处理大量非结构化信息时。为了应对非结构化数据分析的挑战,一种策略是将非结构化数据转换为结构化数据,这将有助于类似的信息标记,检索,查找和聚类,并将有助于更好地为实体经济服务并有效促进金融业的整体发展。
我们的当代社会高度依赖人际关系/文化关系(社会网络),我们的经济紧密联系和结构化(商业关系,金融转移,供应/分配链),地缘政治关系也非常结构化(商业和政治联盟),它还依赖于运输网络(公路,铁路,海上和航班连接),而且我们的网络系统在结构上也相互连接(计算机网络,互联网)。而且,那些复杂的网络结构也出现在自然界中,出现在诸如大脑,血管和神经系统的生物系统,也出现在化学系统,例如分子的原子连接。如今,利用现代技术,我们从上述所有系统及其关系中收集数据,因为该数据极度结构化且严重依赖于网络内部的关系,因此将数据表示为图是有意义的,其中节点表示实体和边表示他们之间的联系。
人工智能正在成为金融大数据应用的新方向。诸如GCN(Kipf和Welling 2016),GraphSage(Hamilton,Ying和Leskovec 2017)之类的图神经网络(GNN)是一种深度学习架构,可以通过保留图的信息结构来处理图结构数据。我们着重于节点标记问题,例如欺诈检测,信用发放,客户定位,社交网络用户分类,它们可以模仿专家对节点标记的决定。GNN通过使用神经网络嵌入节点信息并将其通过图的边传递,从而能够组合节点特征,连接模式和图形结构。然而,由于复杂的数据表示和对数据执行的非线性转换,解释GNN做出的决策是一个具有挑战性的问题。图1是一个关于从解释GNN节点分类决策来理解诈骗检测的例子。
在这里插入图片描述
尽管在卷积神经网络(CNN)中已经开发了深度学习模型可视化技术,但这些方法并不直接适用于解释用于进行分类任务的具有节点特征的加权图。关于解释GNN的工作很少((Pope等人2019; Baldassarre和Azizpour 2019; Ying等人2019; Yang等人2019))。但是,据我们所知,还没有已完成的关于解释加权图中的综合特征(即节点特征,边特征和连接模式)的工作,特别是对于节点分类问题。在这里,我们提出了几种基于图形结构的图形特征解释方法来表示财务数据。我们使用三个数据集(一个合成数据和两个真实数据)来验证我们的方法。我们的结果表明,通过使用解释方法,我们可以发现用于节点分类的数据模式与人工解释相符,并且这些解释方法可以用于理解数据,调试GNN模型和检查模型决策以及其他任务。
我们的工作总结如下:
1. 我们提出将金融交易数据转移到加权图表示中,以进行进一步分析和理解数据信息。
2. 我们建议使用GNN分析金融交易数据,包括欺诈检测和帐户匹配。
3. 我们提供解释结构化图形中的实体标记时实体之间的信息交互。
论文结构:在第2节中,我们介绍图表示。然后在第3节中,我们将逐步介绍GNN中的操作。在第4节中,描述了图形解释的公式,并介绍了相应的方法。在第5节中,我们提出了评估指标和方法。实验和结果在第6节中介绍。我们在第7节中总结本文。

2. 数据表示-加权图

对于包含用户和交互信息的财务数据,我们可以将每个实体建模为一个节点,并基于它们之间的交互在它们之间建立连接。在本节中,我们介绍必要的符号和定义。我们用 G = ( V , E ) G = (V,E) G=(V,E)表示一个图,其中 V V V是节点集, E E E是链接节点的边集, X X X是节点特征集。对于每对相连的节点 u , v ∈ V u,v ∈ V u,vV,我们用 e v u ∈ R e_{vu} ∈ R evuR表示连接它们的边 ( v , u ) ∈ E (v,u) ∈ E (v,u)E的权重。我们表示 E [ v , u ] = e v u E[v, u] = e_{vu} E[v,u]=evu,其中 E ∈ R ∣ E ∣ E ∈ R^{|E|} ERE。对于每个节点 u u u,我们关联特征的d维向量 X u ∈ R d X_u ∈ R^d XuRd,并将所有特征的集合表示为 X = { X u : u ∈ V } ∈ ( R d ) ∣ V ∣ X = \left\{X_u: u∈V\right\} ∈ (R^d)^{|V|} X={ Xu:uV}(Rd)V
边特征包含有关图形的重要信息。例如,图 G G G可以表示一个银行系统,其中节点 V V V代表不同的银行,而边 E E E是它们之间的交易;图 G G G也可以代表一个社交网络,其中节点 V V V代表不同的用户,边 E E E是用户之间的接触频率。我们考虑节点分类任务,其中为每个节点 u u u分配标签 y u ∈ I C = { 0 , . . . , C − 1 } y_u ∈ I_C = \left\{0,..., C−1\right\} yuIC={ 0,...,C1}。在金融应用程序中,节点分类问题可能是欺诈检测,新客户发现,帐户匹配等。

3. GNN利用边权值

与现有的GNN架构不同,即图卷积网络(GCN)(Kipf和Welling 2016)和图注意力网络(GAT)(Velickovic等2018),某些GNN可以利用图上的边信息(Gong 和Cheng 2019; Shang et al.2018; Yang et al.2019)。在这里,我们考虑加权有向图,并建立使用节点和边权重的图神经网络,其中边权重会影响消息聚合。我们的方法不仅可以处理有向加权图,而且可以在GNN的传播中保留边信息。对于许多现实场景,例如银行支付网络,推荐系统(使用社交网络)以及其他严重依赖于连接拓扑的系统,保留和使用边信息非常重要。这是因为除了节点(原子)特征之外,边(键)的属性对于预测图形的局部和全局属性也很重要。一般而言,GNN通过递归聚合和转换其相邻节点的特征向量来归纳学习节点表示。参考(Battaglia等人2018; Zhang,Cui和Zhu 2018; Zhou等人2018),在我们的集合中GNN的每层更新涉及这三个计算,即消息传递等式(1),消息聚合等式(2),并更新节点表示式(3),可以表示为:
m v u ( l ) = M S G ( h u ( l − 1 ) , h v ( l − 1 ) , e v u ) (1) m_{vu}^{(l)} = MSG(h_u^{(l-1)}, h_v^{(l-1)}, e_{vu})\tag 1 mvu(l)=MSG(hu(l1),hv(l1),evu)(1)
M i ( l ) = A G G ( { m v u ( l ) , e v u } ∣ v ∈ N ( u ) ) (2) M_i^{(l)} = AGG(\left\{m_{vu}^{(l)}, e_{vu}\right\} | v ∈ N(u))\tag 2 Mi(l)=AGG({ mvu(l),evu}vN(u))(2)
h u ( l ) = U P D A T E ( M u ( l ) , h u ( l − 1 ) ) (3) h_u^{(l)} = UPDATE(M_u^{(l)}, h_u^{(l-1)})\tag 3 hu(l)=UPDATE(Mu(l),hu(l1))(3)
其中 h u ( l ) h_u^{(l)} hu

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Moer_hou/article/details/106465084

智能推荐

计算机网络sequence number,TCP协议中SequenceNumber和Ack Numbe-程序员宅基地

文章浏览阅读1k次。Sequence Numberlzyws7393074532892018-04-25Number Sequenceqq_391789932452017-09-21理解TCP序列号(Sequence Number)和确认号(Acknowledgment Number)hebbely9822017-01-14Number Sequence(规律)l25336363712902017-07-18Numb..._ack num

计算机系统启动项设置密码,电脑开机第一道密码怎么设置 - 卡饭网-程序员宅基地

文章浏览阅读5.9k次。笔记本电脑怎么进CMOS密码巧设置笔记本电脑怎么进CMOS密码巧设置 笔记本电脑为了保护用户的数据安全,往往采用加密的方式,最常见的还是CMOS密码加密技术。为了让你的重要数据更加安全,你可能需要设置不同的密码,这也就要求你记住许多密码。对于笔记本电脑用户来说,真的需要设置一道道密码关卡吗?非也非也! 一、认识与设置笔记本电脑的CMOS密码 笔记本电脑的CMOS密码大致分为超级密码(Supervi..._电脑第一道密码修改

VulnHub靶机-Jangow: 1.0.1_jangow01-程序员宅基地

文章浏览阅读2.5k次,点赞2次,收藏5次。迟到的文章,就当库存发出来吧~_jangow01

spark实战之RDD的cache或persist操作不会触发transformation计算_spark cache和persist不生效-程序员宅基地

文章浏览阅读1.7w次,点赞2次,收藏5次。默认情况下RDD的transformation是lazy形式,实际计算只有在ation时才会进行,而且rdd的计算结果默认都是临时的,用过即丢弃,每个action都会触发整个DAG的从头开始计算,因此在迭代计算时都会想到用cache或persist进结果进行缓存。敝人看到很多资料或书籍有的说是persist或cache会触发transformation真正执行计算,有的说是不会!敝人亲自实验了一把..._spark cache和persist不生效

html文字滚动_html滚动-程序员宅基地

文章浏览阅读2.4k次。HTML之marquee(文字滚动)详解语法:以下是一个最简单的例子:代码如下:Hello, World下面这两个事件经常用到:onMouseOut=“this.start()” :用来设置鼠标移出该区域时继续滚动onMouseOver=“this.stop()”:用来设置鼠标移入该区域时停止滚动代码如下:onMouseOut=“this.start()” :用来设置鼠标移出该区域时继续滚动 onMouseOver=“this.stop()”:用来设置鼠标移入该区域时停止滚动这是一个完_html滚动

leecode++理解_auto row : rows-程序员宅基地

leecode++理解:本文介绍了一些LeetCode题目的解析和思路,包括两数相加、寻找有序数组的中位数、最长字串、整数反转等。还讨论了一些下标规律和正则表达式匹配问题。

随便推点

笔记-Java线程概述_java 线程概述-程序员宅基地

文章浏览阅读629次。Java Concurrency in Practice中对线程安全的定义:当多个线程访问一个类时,如果不用考虑这些线程在运行时环境下的调度和交替运行,并且不需要额外的同步及在调用方代码不必做其他的协调,这个类的行为仍然是正确的,那么这个类就是线程安全的。显然只有资源竞争时才会导致线程不安全,因此无状态对象永远是线程安全的 。过多的同步会产生死锁的问题,死锁属于程序运行的时_java 线程概述

MATLAB从文件读取数据_matlab读取数据-程序员宅基地

文章浏览阅读1.2w次,点赞10次,收藏61次。读取表单Sheet2中部分信息。_matlab读取数据

【实践】基于spark的CF实现及优化_spark cf-程序员宅基地

文章浏览阅读1.4w次。最近项目中用到ItemBased Collaborative Filtering,实践过spark mllib中的ALS,但是因为其中涉及到降维操作,大数据量的计算实在不能恭维。所以自己实践实现基于spark的分布式cf,已经做了部分优化。目测运行效率还不错。以下代码package modelimport org.apache.spark.broadcast.Broadcastimp_spark cf

ijkplayer直播播放器使用经验之谈——卡顿优化和秒开实现_libijkplayer 播放直播流卡顿-程序员宅基地

文章浏览阅读1.8w次。 在我的博客移动平台播放器ijkplayer开源框架分析(以IOS源码为例),大致介绍了一下ijkplayer的基本函数调用顺序和主要线程作用,本博客想介绍一下在直播应用中,针对卡顿和秒开做的一些优化,本优化经验主要是用在Android系统上,ios上也可以借鉴,按本博客修改代码,网络带宽足够的情况下,音视频播放基本流畅不卡顿,首屏时间在500ms以内。 首先来看直播应用中的卡顿。直..._libijkplayer 播放直播流卡顿

数据挖掘实践(金融风控-贷款违约预测)(三):特征工程_金融风控(大数据)特征工程-程序员宅基地

文章浏览阅读2.3k次,点赞3次,收藏28次。数据挖掘实践(金融风控-贷款违约预测)(三):特征工程目录数据挖掘实践(金融风控-贷款违约预测)(三):特征工程1.引言2.特征预处理2.1缺失值填充2.2时间格式处理2.3类别特征处理3.异常值处理3.1 检测异常的方法一:正态分布法3.2 检测异常的方法二:箱型图3.3异常值的处理方法4.数据分桶5.特征交互6.特征编码6.1 labelEncode 直接放入树模型中6.2 逻辑回归等模型要单独增加的特征工程7.特征选择7.1 Filter7.2 Wrapper (Recursive feature _金融风控(大数据)特征工程

关于datagrip与mysql连接时下载驱动失败时的解决方法_datagrip插件下载失败-程序员宅基地

文章浏览阅读1.1k次,点赞7次,收藏11次。2️⃣若失败消息提示需要更换http,去阿里云中找到相关镜像 测试连接通过后重新下载驱动。3️⃣上述方法还是不行 可以关闭data grip后再来几遍。1️⃣首先将电脑连接的Wi-Fi关闭 连接手机热点。_datagrip插件下载失败