关注并标星索信达
每天打卡阅读
更快走进金融人工智能世界
━━━━━━
导 读
本文主要介绍了一种分析复杂网络数据的半监督算法——图卷积神经网络(GCN):该算法可以用于对复杂网络数据进行建模分析,且建模过程只需要部分样本有标签即可(半监督),这很符合金融风控中来自团伙作案的风险场景。本文以一个简单案例的形式对该算法原理进行了介绍,最后分析了该算法在金融风控中的应用价值。
背景
风控一直以来都是金融行业的重中之重,金融风险按照参与人数可以分为来自个人的风险和来自团伙的风险:来自个人的风险主是指个人造成的风险,如个人信用卡违约;来自团伙的风险主要是团伙作案造成的风险,如团伙欺诈。为了更好控制风险,金融企业和相关研究人员将机器学习算法引入金融行业的风控领域,这极大提高了风控水平。但是金融风控领域的数据有一个很大的特点就是正负比例通常极不均衡,因为有风险的客户数量相对全体客户来说占比非常小,这种极不均衡的数据并不适合用传统的机器学习模型来处理,无监督或半监督模型可能会更适合。
建模的原则是根据不同的数据建立相对应的模型:对于个体风险,可以使用检测个体异常的无监督算法,如孤立森林(可以参考索信达公众号之前发布的《基于iForest异常值检测法的反欺诈研究》);对于团伙风险,由于这类场景中样本之间存在关联,且样本间的关联包含了重要的风险信息(如团伙欺诈),但是个体的异常检测算法难以捕捉样本间的关联信息,此时可以将样本之间的关联信息组成复杂网络的形式,再使用针对复杂网络算法来处理这类数据,比如我们今天将要跟大家介绍的图卷积神经网络。
理论介绍
图卷积神经网络(Graph Convolutional Networks,简称GCN)是一种分析复杂网络数据的深度学习模型,这里的“图”指的是“知识图谱”中的图(graph),而非图片(picture),GCN对复杂网络数据有很好的建模效果。
在正式介绍GCN之前,我们先介绍2个概念:对于一个复杂网络的数据,假设上面有N个节点(每个节点就是一个样本),每个节点都有自己的D维特征,这些节点组成一个N×D维的原始数据集X(X就是传统的结构化数据:N个样本,每个样本有D维特征)。根据样本之间的关联情况,可以定义一个N×N维的邻接矩阵A和一个N×N维的度矩阵D。邻接矩阵和度矩阵的示例如下:
无向图中每个节点表示一个样本,每个样本有自身的特征;样本之间的关联关系由邻接矩阵表示,有关联的样本在邻接矩阵对应的行列位置值为1,否则为0,且样本和样本自身之间的关联定义为0;每个样本与其他样本关联的数量情况由度矩阵表示,关联多少个样本度就为多少。
神经网络中处理传统结构化数据的模型主要是DNN(深度神经网络)。比如在风控场景中,我们希望用模型判断用户是否有风险,假设模型的预测结果用Z表示(Z=1表示预测该用户有风险,Z=0表示没有风险),样本的特征用矩阵X表示,那么有Z=g(X),即输入特征X,DNN给出预测值Z。DNN中每层网络的计算公式为
(为简化表达,假设截距项B=0)。DNN的运算逻辑是确定好神经网络的层数和每层节点数后,先随机初始化参数W并输入特征X,模型给出第一轮的预测值Z,然后根据预测值Z和实际值Y计算损失,再根据损失函数使用梯度下降法来更新模型中的参数W,如此一轮轮迭代下去,直至结果收敛,从而找到合适的参数W,得到最终的DNN模型。
DNN中的样本之间仍然是互相独立的,但是复杂网络数据的样本之间存在关联,这些关联信息存储在邻接矩阵A和度矩阵D中,GCN处理复杂网络数据不仅要利用样本自身的信息(特征X),还要利用样本之间的关联信息(邻接矩阵A和度矩阵D),那么有Z=g(X),即输入X、A、D,GCN给出预测值Z。GCN中每层网络的计算公式为:
其中:
接下来,我们举一个例子来对GCN做进一步解释。假设有一组复杂网络的数据,该数据的情况如下图所示:
原始数据中样本自身的信息存储在矩阵 X 中,样本之间的关联信息存储在邻接矩阵 A和度矩阵 D 中,GCN处理复杂网络数据的思路就是建模时不仅要利用样本自身的信息 X ,还要把样本之间的关联信息也利用起来,这就需要在建模时将邻接矩阵 A 和度矩阵 D 也考虑进来,接来下我们分步骤解释GCN建模过程的原理。应用
GCN在金融风控领域,尤其是团伙欺诈和反洗钱等场景有很好的应用:
半监督:根据GCN论文中的实验结果和使用GCN进行实际应用的效果显示,GCN只需要少量有标签的样本就可以训练出精度高的模型。在金融风控领域,我们往往只知道少量样本的真实标签(如发生过违约的用户,可以确定有风险),目前没有违约的用户很难确定是否有风险。传统的机器学习分类算法不适合这种正负比例极不均衡数据,GCN这种半监督模型面对极不均衡数据时效果通常会更好。复杂网络数据:金融风控中有一部分风险是来自团伙作案,传统的模型大多只能分析单个样本的风险信息,而GCN能将样本之间的关联信息(如社交网络、共用电子设备、财务往来等)利用起来,适用于金融风控中团伙作造成风险的场景。案例:根据企业自身的财务状况信息和企业之间的金融交易数据构建一个复杂网络,再使用GCN来处理这类数据,从而识别哪些交易具有欺诈性。例如,可以建立一个交易的超级节点图,判断是否有洗钱圈?找出洗钱团伙:图片来自网络,侵删
参考资料
[1]Kipf T N , Welling M . Semi-Supervised Classification with Graph Convolutional Networks[J].arXiv preprint arXiv:1609.02907v4,2017.
[2]blog:http://tkipf.github.io/graph-convolutional-networks/
还没有评论,来说两句吧...