持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第5天,点击查看活动详情
Hello,非常感谢你的关注~ 我是机器学习与风控,一名末流985的本硕,无顶会、无大厂核心部门实习,拥有多个比赛的竞赛经历,秋招刷了leetcode500题,在秋招提前批中收获字节跳动,腾讯,阿里,美团等大厂offer,最终选择入职字节风控,从事与黑产对抗的工作。我会定期分享我的春招、秋招亲身求职体验;算法岗日常工作;数据挖掘比赛,经典图模型等日常学习等有料也有趣的内容~秋招到了,欢迎各位私信找我内推!
异常检测在诸如网络流量监测,网络故障检测等领域已经有着广泛的研究[11,
40, 41]。相比于传统的关系型数据,图数据中的节点除了拥有丰富的属性信息外,
节点间也拥有着复杂的关系,因此传统的异常检测技术难以直接应用于图数据的
异常检测。通过上一节介绍的表示学习的方法,在利用图结构内部节点之间的关
系和属性信息获得的节点的低维的嵌入表示向量后,我们可以将这些向量直接用
于相应的异常检测任务。
孤立森林[40] 是一个经典的快速异常点检测方法,该算法切分子空间直至只
有一个数据点,根据分割次数判断节点的异常。为了提高算法的鲁棒性,孤立森林
采用了集成学习的思想训练,对多次异常检测的结果进行集成得到数据的异常性。
另一个经典的算法是单分类支持向量机(OC-SVM)[41],其是在SVM[42] 算法
基础上的改进,只不过OC-SVM 处理的异常检测问题是一个一分类问题,在训练
集中假定了只有正常数据存在,然后寻找一个超平面将正常数据与原点分隔开,而
SVM 是寻找一个最大间隔的超平面将不同类别的数据分开。由于OC-SVM 是在
SVM 基础上的改进,因此OC-SVM 具有一些SVM 算法的优势,例如它还包括核技
巧,这使得OC-SVM 不仅仅可以处理线性特征,还可以通过设计复杂的核函数处
理非线性特征。以上提到的两个经典的算法虽然都在异常检测领域取得不错的效果,但是这些异常检测方法对数据的特征要求比较高,所以在高维特征数据的情况下效果往
往表现不如人意。此外,上述异常检测方法都忽视了数据与数据之间的关系,即忽
视了图数据中节点间复杂的拓扑结构关系,所以这些算法不能直接应用于图数据
的异常检测场景。因此,第一类基于深度学习的图异常检测技术首先第一步利用
表示学习技术学习节点间的特征关系,映射成低维的特征向量,由于这些特征向
量已经包含了节点间复杂的拓扑关系,因此再在第二步针对这些特征向量使用异
常检测方法往往也能取得了不错的效果。