A Semi-supervised Graph Attentive Network for Financial Fraud Detection 个人总结
A Semi-supervised Graph Attentive Network for Financial Fraud Detection 个人总结
写在前面:为方便阅读,尽量使用中文总结,对于翻译无把握或专有词汇,在中文后附上原文字段。此外,水平有限,对文章理解有偏差部分恳请大家海涵, 指正。
顺便,移步去GitHub看看憋>﹏<
0. 原作信息
@inproceedings{wang2019semi,title={A Semi-supervised Graph Attentive Network for Financial Fraud Detection},author={Wang, Daixin and Lin, Jianbin and Cui, Peng and Jia, Quanhui and Wang, Zhen and Fang, Yanming and Yu, Quan and Zhou, Jun and Yang, Shuang and Qi, Yuan},booktitle={2019 IEEE International Conference on Data Mining (ICDM)},pages={598--607},year={2019},organization={IEEE}
}
1. Contribution 本文贡献
设计semi-supervised GNN,利用有标签、无标签数据。(通过设计不同LossLossLoss实现)
使用Hieranchical Attention,增加模型可解释性
在花呗的异构数据上很work。
2. Background 背景信息
任务: 欺诈检测,Fraud Detection
可视作分类任务,由于异常点的采集,标注极其耗费人力物力,数据集常为少量有标签数据(labeled data),及大量无标签数据(unlabeled data).
模型需要具备解释性, 能向部署方, 被检测者说明检测的判别标准.
过往检测方式
- 基于规则, Rule-based
- 原理: 假定欺诈活动基于一定可观测的模式
- 缺点: 耗费人力手工设定, 依赖专家知识; 容易被攻击
- 基于统计特征的机器学习模型
- 如SVM, 树模型等
- 缺点: 未利用用户间交互信息
- 图表示学习的尝试
- 黑箱模型,缺乏解释性
- 基于规则, Rule-based
综上,欺诈检测建模有如下灵魂三问:
- 如何处理不平衡的数据,利用无标签的数据? (semi-supervised)
- 如何利用用户间交互,及不同类别的特征? (heterogenous graph)
- 如何保证模型可解释性?
3. The Model Semi-GNN 模型
3.1 Problem Definition and Notations 问题定义及注记
图的构建
- 重点研究User用户类型节点, 图中有标签数据<<无标签数据
- 异构图(文中记为multiview graph), Gv={U∪Sv,Ev},v∈{1,…,m}G^{v}=\left\{U \cup S^{v}, E^{v}\right\}, v \in\{1, \ldots, m\}Gv={U∪Sv,Ev},v∈{1,…,m}, vvv即view
- view由具体业务确定, 本文中部分view是从用户特征处理产生的, 以增加结构信息. (详见实验部分数据集处理)
注记:
3.2 Overview 整体架构
node level(聚合各view内信息) → view level(整合views信息,得到对user的embedding) → relation loss ( 对有/无标签数据不同损失)
3.3 Node Level
对于节点u, i在view v中的特征表示, 设为euive_{u i}^{v}euiv
∵ 不同邻居节点对节点u的影响不同, 引入Attention来自主学习邻居节点的权重,
αuiv=exp(euiv⋅Huiv)∑k∈Nuvexp(eukv⋅Hukv)\alpha_{u i}^{v}=\frac{\exp \left(e_{u i}^{v} \cdot H_{u i}^{v}\right)}{\sum_{k \in \mathcal{N}_{u}^{v}} \exp \left(e_{u k}^{v} \cdot H_{u k}^{v}\right)}αuiv=∑k∈Nuvexp(eukv⋅Hukv)exp(euiv⋅Huiv), 其中HuvH^v_uHuv为可学习的参数矩阵.
∴ 对于节点u在viewv下的embedding,有:
huv=∑k∈Nu(A)αukeukh_{u}^{v}=\sum_{k \in \mathcal{N}_{u}^{(A)}} \alpha_{u k} e_{u k}huv=∑k∈Nu(A)αukeuk
3.4 View Level
MLP
个人理解即预处理, 但用MLP来映射总觉得有点偏, em, intuition?
由node-level得到的hvuh^u_vhvu是属于各自view内(异构)的embedding, 为了聚合各个view时能更好的利用相互关联性(capture the multiview correlations), 首先用MLP将之映射到高维的语义空间(high-level semantic space).
即有,
huv(l)=Relu(huv(l−1)Wlv+blv),v∈{2,…,m}h_{u}^{v(l)}=\operatorname{Relu}\left(h_{u}^{v(l-1)} W_{l}^{v}+b_{l}^{v}\right), v \in\{2, \ldots, m\}huv(l)=Relu(huv(l−1)Wlv+blv),v∈{2,…,m}View-Attention
不同view对User的embedding影响也不同,同样,引入Attention来自适应.
αuv=exp(huv(L)⋅ϕuv)∑k∈{1,…,m}exp(huk(L)⋅ϕuk),v∈{1,…,m}\alpha_{u}^{v}=\frac{\exp \left(h_{u}^{v(L)} \cdot \phi_{u}^{v}\right)}{\sum_{k \in\{1, \ldots, m\}} \exp \left(h_{u}^{k(L)} \cdot \phi_{u}^{k}\right)}, v \in\{1, \ldots, m\}αuv=∑k∈{1,…,m}exp(huk(L)⋅ϕuk)exp(huv(L)⋅ϕuv),v∈{1,…,m}
最后, 连接在attention加权后各view节点表示,得到User的embedding.
hu=∥i=1m(αuv⋅huv(L))h_{u}=\|_{i=1}^{m}\left(\alpha_{u}^{v} \cdot h_{u}^{v(L)}\right)hu=∥i=1m(αuv⋅huv(L))
m为view个数,||
为连接.
3.5 Loss 损失函数设计
- 标签数据
使用softmax
无标签数据
现象: 欺诈常呈团伙聚集, 标注为负样本的用户, 其邻居节点也可疑.
基于上述假设, 受DeepWalk启发, 作者设计的Loss希望:
邻近节点的表示是相似的, 同时不同节点的表示差异较大. (encourages nearby nodes having similar representaions while makes the representations of disparate nodes distinct)
听起来, 和聚类的要求是一致的, 更替了表述而已. 但为了实现上述期望, Loss的设计还是相当巧妙的.
↓↓↓
Lgraph=∑u∈U∑v∈Nu∪Negu−log(σ(auTav))−Q⋅Eq∼Pneg(u)log(σ(auTaq))\begin{aligned} \mathcal{L}_{\text {graph}}=& \sum_{u \in U} \sum_{v \in \mathcal{N}_{u} \cup N e g_{u}}-\log \left(\sigma\left(a_{u}^{T} a_{v}\right)\right) \\ &-Q \cdot E_{q \sim P_{n e g}(u)} \log \left(\sigma\left(a_{u}^{T} a_{q}\right)\right) \end{aligned}Lgraph=u∈U∑v∈Nu∪Negu∑−log(σ(auTav))−Q⋅Eq∼Pneg(u)log(σ(auTaq))
其中, Nu\mathcal{N}_{u}Nu为节点u的邻居, Negu\mathcal{N}_{eg_u}Negu为节点u的被标记为负样本的邻居, σ取sigmoid(), Pneg(u)∝du0.75P_{n e g}(u) \propto d_{u}^{0.75}Pneg(u)∝du0.75 为负样本的采样分布, Q为采样的负样本数量(本文取3).
我们来按照每一项理解一下,
−log(σ(auTav))-\log \left(\sigma\left(a_{u}^{T} a_{v}\right)\right)−log(σ(auTav))
u,v为邻居, 我们希望两个节点的表示是相近的. 若au,ava_u,a_vau,av相近, 则其乘积auTava^T_ua_vauTav较大, 取sigmoid()后接近1, 取对数后损失小, 符合我们设计Loss的期望.同理, 若au,ava_u,a_vau,av相差较大, 则Loss较大, 给出惩罚
−Q⋅Eq∼Pneg(u)log(σ(auTaq))-Q \cdot E_{q \sim P_{n e g}(u)} \log \left(\sigma\left(a_{u}^{T} a_{q}\right)\right)−Q⋅Eq∼Pneg(u)log(σ(auTaq))
与上同理, 若邻居中有负样本, 则节点u也可疑, 其节点表示应与负样本节点相近.
注意, 邻居节点v在模型中为random walk path上的点.
综上, 我们得到了整个模型的Loss,
LSemiGNN=α⋅Lsup+(1−α)⋅Lgraph+λLreg\mathcal{L}_{S e m i G N N}=\alpha \cdot \mathcal{L}_{s u p}+(1-\alpha) \cdot \mathcal{L}_{g r a p h}+\lambda \mathcal{L}_{r e g}LSemiGNN=α⋅Lsup+(1−α)⋅Lgraph+λLreg
3.6 模型分析
模型主要特点:
- 综合使用异构多维的数据(multiview)
- 可能有较好的解释性(attention)
- 是归纳方法(inductive method), 训练完成后可部署于平台
- 可并行训练的
4. Experiment 实验
4.1 Dataset 数据集
花呗内部数据: 大约4,000,000 有标签用户, 总共100, 000, 000用户.
预处理后, 保留有约90% 的用户, 这些用户的相关view数据确实较少.
预处理后构建了如下4个图(3种view):
- user-relation(用户间关系)
- user-app
- user-nick
- user-address
4.2 实验任务
- user default prediction 用户违约预测
- user attributes prediction 用户特征预测 (本文为用户职业预测)
4.3 实验结果
超越baseline小几个点.
user default prediction:
user attributes prediction :
SemiGNNsup为只使用有标签数据的对照组.
结果表明, 在3.6模型分析中提到的优越性, 有助于提升模型性能.
作者后继还对模型参数敏感性, 不同view对性能的重要性进行了简要分析.
-1. One More Thing
个人思考:
文章亮点:
- semi-supervised learning 的Loss第一次接触, 略开眼界. 接下来对欺诈检测做进一步了解, 对比各类半监督方案.
- 异构处理. 实质上异构数据是单独处理, 再通过Attention连接来做embedding, 从结果来尚算喜人.
一点疑惑:
文章中的XGBoost估计没有精调? 在用户职业预测上, 由于有地址信息这一强特征, 个人猜测应该能达到更好的结果. 故模型和业务部署的baseline的差距有多大呢.
模型的可解释性仍是薄弱.
文中对模型可解释性的分析, 仅是基于对若干只采用单一view的模型性能做分析, 进而比较attention系数的差异.
A Semi-supervised Graph Attentive Network for Financial Fraud Detection 个人总结相关推荐
- 【论文分享】异构图神经网络域名检测方法GAMD:Attributed Heterogeneous Graph Neural Network for Malicious Domain Detection
题目:Attributed Heterogeneous Graph Neural Network for Malicious Domain Detection 链接:https://ieeexplor ...
- 论文阅读 - Social Bot-Aware Graph Neural Network for Early Rumor Detection - CCF B
目录 摘要: 1 绪论 2 问题定义 3 SBAG模型 3.1社交机器人检测 3.2 机器人感知图神经网络 3.2.1基于GCN的用户发布 3.2.2 基于GAT的用户交互 3.2.3文本编码器 3. ...
- 【论文阅读】Point-GNN: Graph Neural Network for 3D Object Detection in a Point Cloud
最近在看3d目标检测的文章,感觉看完东西还是要记一下自己的想法,尤其是有思考的文章. 论文题目:Point-GNN: Graph Neural Network for 3D Object Detect ...
- Alleviating the Inconsistency Problem of Applying Graph Neural Network to Fraud Detection阅读笔记
Alleviating the Inconsistency Problem of Applying Graph Neural Network to Fraud Detection阅读笔记 文章标题:A ...
- GNN金融应用之Classifying and Understanding Financial Data Using Graph Neural Network学习笔记
Classifying and Understanding Financial Data Using Graph Neural Network 摘要 1. 概述 2. 数据表示-加权图 3. GNN利 ...
- 如何理解 Graph Convolutional Network (GCN)?
几年前如果熟练使用TensorFlow,同时掌握基本的AI算法就可以很容易找到一份高薪的工作,但现在不一样了,AI岗位的要求越来越高,对知识的深度也提出了更高的要求. 如果现在一个面试官让你从零推导S ...
- (十九)【AAAI2021】Knowledge-Enhanced Hierarchical Graph Transformer Network for Multi-Behavior Recommend
题目: Knowledge-Enhanced Hierarchical Graph Transformer Network for Multi-Behavior Recommendation 论文链接 ...
- 如何理解 Graph Convolutional Network(GCN)?
几年前如果熟练使用TensorFlow,同时掌握基本的AI算法就可以很容易找到一份高薪的工作,但现在不一样了,AI岗位的要求越来越高,对知识的深度也提出了更高的要求. 如果现在一个面试官让你从零推导S ...
- 2021_AAAI_Knowledge-aware Coupled Graph Neural Network for Social Recommendation
[论文阅读笔记]2021_AAAI_Knowledge-aware Coupled Graph Neural Network for Social Recommendation 论文下载地址: htt ...
最新文章
- 2022-2028年中国汽轮发电机行业市场深度分析及发展趋势分析报告
- 时间罗盘html源代码_重磅!Vue 3.0源代码公布后,究竟有哪些变更?
- Java图片,视频上传,截取视频帧以及文件下载和视频IO获取
- ThreadPoolExecutor源码解析(一)
- Springboot只允许进入登录注册的页面,没登录页面进行拦截。
- 编译原理:文法及其二义性(判定及消除)
- 将字符串转为16进制数_C语言中的进制互转与数值和字符串互转的混搭玩法
- Mysql ERROR 2002 (HY000) Can't connect to local MySQL server through socket
- 统信UOS使用wine安装“方正ApabiReader_4.5.2.1790(ceb阅读器)”并解决安装过程中文显示成方块问题
- 误差函数erf matlab,matlab求解erf误差函数方法(有详细注释 )
- 微信公众平台:微信网页授权和微信支付
- 算法之迪杰斯特拉算法
- ei计算机相关 小木从,怀念楼讲心那棵小木钩瞒
- mysql之第n高的薪水
- 确定位数的C语言程序设计,c语言程序设计
- oracle cpu基线,Oracle SQL执行计划基线总结(SQL Plan Baseline)
- 谷款量子计算机用了多少光子,中国光量子计算机诞生 脑容量小的别看
- php 开发桌面应用,winbinder开发php桌面应用程序 | 学步园
- 30.华为WLAN产品特性介绍_AP管理
- MAC版outlook开启左侧收件箱导航条