赵朋亚,傅湘玲,仵伟强,李 达,高嵩峰
1)北京邮电大学计算机学院(国家示范性软件学院),北京邮电大学可信分布式计算与服务教育部重点实验室,北京 100876;2)北邮-华融智慧金融联合实验室,北京 100876;3)华融融通(北京)科技有限公司,北京 100033
欺诈风险已成为当前消费金融公司面对的主要风险,据2018年发布的《数字金融反欺诈白皮书》,恶意欺诈产生的损失占消费金融公司整体坏账的60%.从传统的采用黑名单[1]和专家规则[2],到如今的基于大数据的机器学习(machine learning, ML),这些欺诈检测[3-5]方法都是根据申请时的注册名称是否满足一定的模式,申请时使用的网际互连协议(internet protocol, IP)号段是否为临时IP等,来获得发现欺诈者的非典型特征.这些方案假设每个用户之间独立存在,只考虑用户本身的固有特征,未考虑用户在网络中的关联性.目前网络借贷场景下,一方面,随着大数据的发展,收集到的数据维度增加,覆盖包括设备信息、IP信息和通话信息等,使得研究人员能基于数据构建关联网络;另一方面,欺诈行为在社交网络中体现出一种同质效应[6],即欺诈用户与正常用户之间关系稀疏,但欺诈用户之间关系紧密.若某用户和多个欺诈用户联系密切,则该用户很大概率也是欺诈者.
协同分类问题是指给定一个网络和部分节点的标签信息,如何根据网络信息推理出未知节点的标签信息.本研究提出基于标签传播的协同分类欺诈检测方法.该方法基于关联网络,利用改进的标签传播算法得到网络中未标记节点的欺诈信息从而发现欺诈节点,如图1.在由真实的网络借贷数据构建的网络中进行实验,证明这种以关联网络为基础的网络标签传播方法在欺诈检测中效果明显.
图1 传播示例图
目前网络借贷领域下采用的欺诈检测模型主要分为3类:逻辑回归[7-9]、神经网络[10-12]和基于树算法的集成模型[13-15].其中,逻辑回归因其对变量的良好解释性,在检测初期得到了很好的应用,如利用基于逻辑回归的评分卡模型获得用户的信用值,再根据信用值的大小来调整贷款额度的多少.但随着数据维度和特征数量的增加,逻辑回归对于非线性关系的拟合不够精准的缺陷逐渐显现.神经网络极大地提高了欺诈检测效果,但因网络本身是个黑盒模型,而借贷领域更希望检测结果是可解释的,因此,目前借贷领域中的主流模型更多是基于树算法的集成模型,如随机森林和lightGBM(light gradient boosting machine)等.
上述机器学习模型大部分仍是监督学习模式,在训练集上训练分类器,在测试集上使用评价指标评价模型性能.此过程中训练集和测试集是分开的,且每个训练样本独立存在,分类是在测试样本上独立执行,未考虑样本之间潜在的网络关系.网络借贷中的欺诈行为常呈团体化趋势,即欺诈者之间具有聚集性和紧密关联现象,而欺诈者和正常用户之间则呈现分散性和稀疏关联.
首先给出关于协同分类问题的一些定义和符号表达.假设图结构G=(V,E).其中,V为节点集合,VL={v1,v2, …,vn}为已知标签的节点集合,YL={y1,y2, …,yn}为已知标签节点的标签集合,VU={vn+1,vn+2, …,vn+m}为未知标签的节点集合,YU={yn+1,yn+2, …,yn+m}为未知标签的预测标签值集合;E为边的集合.eij为节点vi和节点vj之间的连接边,eij∈E,vi,vj∈V,wij为边eij的权重.N(i)为节点vi的邻居节点集合,A(i)为节点vi的属性集合.L={l1,l2, …,lk}为网络中所有的标签集合.协同分类问题认为网络中的一个未知标签节点(vi∈VU),其预测标签(yi∈YU)受到3个因素影响:① 节点自身的属性A(i);② 其邻居节点的属性A(j),vj∈N(i);③ 其邻居节点的标签yj∈YL,vj∈N(i).
协同分类就是利用上述因素对未知标签的节点进行推理分类.对于任意网络,达到真正的推理分类都是一个非确定性多项式(non-deterministic polynomial, NP)问题,因此,实际使用的协同分类大多是迭代式的,本研究使用的标签传播算法亦是通过迭代到收敛状态达到一种近似推理.主流的协同分类算法包括以下3类.
1.2.1 关系分类算法
关系分类(relational classification, RC)的主要方法之一是带权表决近邻分类器(weighted-vote relational neighbor classifier, WvRn)[16].该方法认为一个节点的标签仅由其邻居的标签决定,如式(1),先计算节点vi属于每个标签的概率,再取概率最大值的标签作为其标签.
(1)
1.2.2 迭代分类算法
迭代分类算法[17](iterative classification algorithm, ICA)分为初始化(bootstrap)和迭代分类(iterative classification)两个过程,前者负责初始化节点标签,后者负责迭代化更新节点标签.ICA算法具体步骤如图2.
bootstrap过程1)对每个vi∈VU,i=1,2,…,m,执行步骤2)和3);2)根据vi的属性及N(i)中有标签的节点信息将vi用特征向量ai表示;3)使用局部分类器ML,根据ai的分类结果得到yi,即yi←ML(ai);iterativeclassification过程4)打乱VU顺序随机生成序列O,对于每个vi∈O,i=1,2,…,m,执行步骤5)和6);5)根据vi当前N(i)的标签信息重构特征向量ai;6)使用局部分类器ML,更新yi;7)重复步骤4)、5)和6),直到所有的节点标签不再变化或达到最大迭代次数.
1.2.3 吉布斯采样
吉布斯采样[18](Gibbs sampling)分为bootstrap、加热(burn-in)和采样(sample)过程,具体步骤如图3.
bootstrap过程1)对每个vi∈VU,i=1,2,…,m,执行步骤2)和3);2)根据vi的属性及N(i)中有标签的节点信息,将vi用ai表示;3)根据ai的分类结果得到yi,即yi←ML(ai);burnin过程(不进行统计操作)4)打乱VU顺序随机生成序列O,对于每个vi∈O,i=1,2,…,m,都执行步骤5)和6);5)根据节点vi当前N(i)的标签信息重构ai;6)用局部分类器ML更新yi;sample过程(进行统计操作)7)针对每个节点vi∈VU,初始化c[i,l]=0;8)打乱VU顺序随机生成序列O,对于每个vi∈O,i=1,2,…,m,都执行步骤9)—12);9)根据vi当前的N(i)的标签信息重新构建特征向量ai;10)使用局部分类器ML更新yi,并更新c[i,li]←c[i,li]+1;11)返回执行步骤8)、9)和10),直至达到迭代次数;12)针对每个节点vi∈VU,yi←argmaxc∈Lc[i,l].
标签传播算法[19](label propagation algorithm, LPA)是一种基于图的半监督学习算法,其主要思想是基于相关网络的前提预设,利用少量的有标签数据标记待预测数据.标签传播的假设前提是:邻近的样本点更可能拥有相同标签.这里,衡量邻近与否的可以是图中两个点的欧式距离,也可以是网络中代表点之间关联度的边的权重.比如,通话关系网络中,边的权重代表了两用户之间的通话密切程度.本研究认为,关联度较高的两个点更可能拥有相同标签.标签传播算法具有很强的通用性,对于符合其假设前提的问题场景,能够利用少量已标注节点预测未标记节点的标签信息,将标签传播至未标注节点.考虑到欺诈在网络内呈现的特性符合标签传播的基本假设前提,使用标签传播来将已确认的欺诈节点信息扩散开来,获取其余未标注节点的标签信息,辅助进行欺诈检测.
有学者将标签传播引入到欺诈检测中.PENG等[20]抽取通话记录转化成网络,使用标签传播进行社区发现,并进行欺诈社区的发现,实现了快速分辨欺诈电话,研究使用标签传播旨在进行社区检测.CUI等[21]将标签传播应用到医保欺诈检测领域,通过凸凹变换,将凸标签传播算法转变为稀有标签的非凸标签传播,从医保数据集中识别存在欺诈可能性的异常记录.
为验证算法在真实环境下的有效性,使用真实的网络借贷数据构建网络.数据集主要包含3部分数据:① 职业数据,包括用户所属的行业信息,如金融和医疗等;② 应用(application, app)列表数据,即用户移动设备上安装的app列表,经过脱敏处理,每个app上使用唯一的数字标识;③ 通话数据记录两用户之间的通话情况,包含当月通话次数和通话权重.
实验采集到的原始数据集包含246万个用户相关数据.其中,18 405个用户为有标签用户,即确定是欺诈用户或正常用户,具体分布为2 782个欺诈用户,15 623个正常用户.
为了能够更直观地体现算法的有效性,抽取原数据集中的通话数据(数据格式如表1),以用户身份标识号(identity document, ID)为节点,用户之间的通话关系为边构建关联网络.其中,时间窗口为2017年12月;T为当月通话次数;t为当月通话时间;w为权重,且w=Tt.
表1 通话关系格式
需要注意的是,通话数据集中的通话关系是一种有向关系,即用户A打电话给用户B,和用户B打电话给用户A是不同的.具体到要构建的图中,则表现为两点之间可能存在一条单向边或两条有向边的情况.本研究认为两个用户之间的通话关系是互相的,即用户A对用户B的多次通话能证明用户B和用户A之间关系亲密.因此,采取如下操作构建网络的边:① 若两点之间只有单向边,则直接转化为无向图,且保持原权重;② 若两点之间存在双向边,则将两条边的权重相加,将两条有向边转化为一条无向边,并将之前得到的权重赋给该边.采用此方法,最终构成的无向有权重通话网络包含 2 462 611 个节点和2 709 492条边.
为评价构建的通话关联网络是否适于本研究使用的标签传播进行协同分类,以下从两方面对通话关联网络分析.
若网络的连通性太低,虽然网络节点很多,但由于它是由很多个小的连通子图构成,依然会对最后的标签传播效果造成影响.本研究采用式(2)的C(G)指标来衡量本研究构建的通话关联网络G的连通性.
(2)
LPA的假设前提等价于网络的同质性,如式(3),即若两个节点的标签相同,则两节点之间有连接边的概率更大.
P(A→B|AL=BL)>P(A→B)
(3)
其中,P(A→B)为节点A和节点B之间有边连接的概率;AL和BL分别代表节点A和节点B的标签.
为验证通话网络的同质性,采用常用的标签一致性[21]、同类亲密度[22]和异类亲密度[22]指标来衡量网络同质性.其中,标签一致性描述网络中连接的两个节点标签相同的边占全部边的比例,该值小于1,且值越大表示网络的同质性越强;同类亲密度描述欺诈节点之间的关联紧密程度,该值大于1,且值越大表示与随机网络相比,该网络中欺诈节点之间的关联越紧密;异类亲密度描述欺诈与非欺诈节点之间的关联密度,该值小于1,且值越小表示与随机网络相比,欺诈与非欺诈节点的关联越稀疏.基于上述指标的计算方式,得到关联网络的标签一致性为0.924,同类亲密度为3.679,异类亲密度为0.295.可见,本研究构建的通话网络满足同质特性,符合标签传播的假设前提.
LPA主要分为构建概率转移矩阵P和标注矩阵F两部分,利用矩阵计算重复传播,最后达到收敛.LPA具体流程如图4.
输入:构建关联网络,其中l个已确定标签节点,u个未知标签节点,C个标签类别输出:u个未知标签节点的标签概率分布1)设置停止标签传播的迭代次数tmax,变化阈值δ.2)根据边的权重,得到维度为(l+u)×(l+u)的邻接权重矩阵W,其元素Wij为节点i和节点j的权重.3)利用式(4)将W按行进行归一化处理,转化为概率转移矩阵P=(Pij)Pij=P(i→j)=wij∑l+uk=1wik(4)4)初始化一个维度为(l+u)×C的标签概率分布矩阵F.首先,确定l个有标签样本的l×C矩阵YL,其第i行表示第i个样本的标签概率向量,即若第i个样本的类别是j,则该行第j个元素为1,其他元素为0.同样,给u个无标签样本一个维度为u×C的标注矩阵YU.将YL和YU合并,得到F=[YLYU].5)每个节点按照转移概率将它周围节点传播的标注值按照权重相加,并更新自己的标签概率分布Fij=∑l+uk=1PikFjk,1≤i≤l+u;1≤j≤C(5)6)限定已确定标签样本的概率分布,把标签概率分布恢复为初始值Fij=Yij,1≤i≤l;1≤j≤C(6)7)重复步骤5)和步骤6),计算F相对于上次的改变量Δ=∑l+ui=1∑l+uj=1(Fnewij-Foldij)(7)8)迭代次数达到tmax,或者Δ<δ,算法结束.
由于欺诈数据集有类别不平衡现象,即欺诈样本的数量比正常样本的少,直接使用LPA,其性能显著下降.为使算法更适合当前数据集,本研究通过改进LPA,提出不平衡标签传播算法(unbalanced label propagation algorithm, ULPA).
本研究采用类似图像处理中的小波变换[23]思路,增强权重值较大的,削弱权重值较小的.对初始邻接矩阵的每个权重元素W作如式(8)的非线性变化.
Wnew=(Wold)n
(8)
其中,Wold为原始的标签传播的初始邻接权重;Wnew为改进后的权重;n为幂的指数,本实验分别设为1、2、3、4、5.每次实验迭代500次,得到对应的F1值(F-score)、曲线下面积(area under curve, AUC)和精确率Pfraud结果如表2.
表2 不同n下的实验结果1)
由表1可见,求幂后,3种评价指标都比直接将权重放入转移矩阵(n=1)时更好,且当n=3时综合效果最好,F1=0.20,Pfraud=17%,皆为最佳值,而AUC也能达到较优值.因此,后续实验取n=3.
算法输出的标签概率分布,实际上是用户的软标签Lsoft.采用式(9)将软标签转化为硬标签Lhard(Lhard=1表示该用户为欺诈用户;Lhard=0表示该用户为正常用户),即类似给定Lsoft=[a,b], 0≤a,b≤1,a+b=1.其中,a和b分别代表欺诈和正常的概率.
(9)
实验步骤为:
1)从关联网络中已确认标签中的节点中,抽取 2 000 个作为测试节点;
2)记录测试节点真实的标签后,抹掉标签,则该节点变为未知标签的节点;
3)使用改进型标签传播算法ULPA;
4)对测试节点的标签分布概率做硬标签转化操作,确认标签.
欺诈检测实质上是一个分类问题,旨在查找出更多的欺诈者且降低误杀率,对应到机器学习中则可用精确率Pfraud表示:假设抽取的测试节点通过标签传播后,预测为欺诈的节点数为a,预测为欺诈且真实标签为欺诈的节点数为b,则
(10)
采用F1值和AUC综合评价最终的欺诈检测结果.针对分类任务最后输出的连续变量,设定多个阈值,从而计算出一系列阈值下的真正率和假正率.AUC值越大,表示模型的预测结果越好.7次试验下测试节点的标签分布状况以及最终预测结果如表3,各评价指标结果如图5和图6.
表3 多轮试验下的用户标签分布状况以及最终预测结果
图5 采用ULPA进行欺诈检测时不同迭代次数下的Pfraud和F1值
图6 采用ULPA进行欺诈检测的ROC曲线和AUC值
从图5可见,针对欺诈样本的精确率Pfraud和F1值随迭代次数的增加而升高,说明标签传播算法有效,即随着迭代过程将标签节点的标签信息传播到未标记的节点上,改变了未标记节点的标签概率分布,进一步识别了欺诈样本.另外,当迭代次数超过250次后,曲线变化已很小了,甚至当迭代次数超过500次后,曲线几乎不再发生变化,原因是数据集中有标签节点的比例太少,标签传播很快达到稳态.
图6统计了模型的接受者操作特性(receiver operating characteristic, ROC)曲线和AUC值.由图6可见,本研究模型的AUC指标较高,说明模型预测结果的区分性较高,鲁棒性更好.
分别采用协同分类中经典的WvRn算法与本研究算法进行欺诈检测,对比两种算法多次实验所得F1值和Pfraud,结果如图7和图8.
图7 采用WvRn算法和ULPA进行欺诈检测的F1值对比
图8 采用WvRn算法和ULPA进行欺诈检测的Pfraud对比
由图7和图8可见,使用本研究标签传播算法得到的F1值和Pfraud值都优于WvRn算法.但是,两种方法都存在多次实验下结果波动的现象,原因是多次实验中,每次实验随机选择的测试节点不同.此外,WvRn算法只考虑节点周围一度关联节点的标签来确定自身的标签,这种造成在有标签节点很稀疏的状况下,无法得出充分合理的标签推断,而本研究算法通过构建概率转移矩阵和标签分布矩阵,采用迭代式的方法捕捉到多度关联节点的标签信息,标签推理结果更符合真实场景.
本研究提出一种基于标签传播算法来进行协同分类从而发现欺诈者的方法,通过构建的通话网络以及网络内已知的欺诈节点,将欺诈信息通过标签传播算法扩散开来,获得未知节点的标签概率分布.同时,为弥补因欺诈数据集中正负样本不均衡导致的传播算法下降缺陷,改进了概率转移矩阵的权重设置初始化方法,改进之后相对于原始的标签传播算法的F1指标从0.12提升到0.20,提升了约67%.将该算法与经典的WvRn算法进行实验对比,获得了更好的性能表现.但是,本研究的标签传播算法仅仅利用了网络的拓扑结构,虽然具有其他任务领域的迁移性,但却无法有效利用其他用户数据,因此后续可加入其他用户数据以辅助欺诈信息的传播检测.