基础图算法
node2vec
是DeepWalk的一般化,工业界运用最广的网络嵌入算法
struc2vec
空间结构相似性的角度定义顶点相似度。
GCN(Graph Convolutional Network)
半监督图卷积神经网络GCN
numpy实现
论文解读
论文
GraphSAGE(Graph SAmple and aggreGatE)
设计
对图中每个顶点邻居顶点进行采样
根据聚合函数聚合邻居顶点蕴含的信息
得到图中各顶点的向量表示供下游任务使用
GCN落地应用
FastGCN
采用重要性采样选择邻居,为了解决GraphSage计算性能问题
Large-Scale Learnable GCN
将graph数据转化成 grid-like 结构数据,使用Sub-Graph Training做顶点抽样,解决图相关的深度学习模型内存和计算问题。
GeniePath
蚂蚁金服,可自动选择邻居的GCN
Fast-unfolding
基于模块度优化的社团发现,在工业界应用最为广泛
基于图的社区挖掘
CopyCatch(hive实现)
Facebook采用CopyCatch处理Lockstep欺诈行为
CatchSync
捕获大规模有向图中同步行为,挖掘网络中的异常。
M-Zoom
思想与fraudar非常类似,将数据扩充到更高维度,在高维 Tensor 中寻找 Dense Sub tensor
K-L(Kernighan-Lin)算法
谱二分算法
GN算法
Newman快速算法
派系过滤CPM方法
基于标签传播
基于标签传播的重叠社区发现算法COPRA
基于标签传播的非重叠社区发现算法LPA
基于节点相似性的社区划分
BotGraph(hive实现)
主要逻辑
基于botuser的注册、登录、发送邮件等操作时共享的IP地址,建立botuser之间的关系。
设计
构建user-user图
权重定义:两个user之间共享ip数
连边条件阈值:边权重w >= 阈值T
层次聚类,自上而下
判断连通图成员数 > 阈值M,若大于,更新阈值T
阈值 T + 1
循环,直到 连通图成员数 <= 阈值M
剪枝 pruning
评价
每个团体中80%的成员日均发送邮件数 > 阈值Q,则为候选botuser团体
成团 grouping
工程实现
简单的数据并行化
map
根据 IP分区
每个分区维护一个HashTable
key:(Ui,Uj)
value: weight
reduce
以key作为 hash partition,聚合weight
过滤方法
map
根据user ID分区
生成每个分区p出现ip的list
过滤
将该ip list分发到其他各分区,若共用ip数小于w,则过滤掉
将剩下的(U,IP)传输到原分区p中
非负矩阵分解
基于模块度的社区划分
最小割
基于图的(半)监督学习
GEM
蚂蚁金服建立多个二部图应用gcn对恶意注册进行检测。
GraphRAD
通过黑种子账户进行局部社区发现,使用层次聚类的方法得到最终的欺诈社区。
GOTCHA
使用PPR进行欺诈风险传播,对偷税逃税这一类社会保证欺诈问题进行检测。
GCN算法
IBM使用GCN算法识别比特币反洗钱。
HinDroid
通过构建HIN抽关系特征,对安卓智能手机中的恶意应用进行识别。
基于行为序列的欺诈检测
通过用户行为转移关系构建MTF矩阵,通过CNN提取特征,结合LSTM的时序信息对在线借贷中的恶意用户进行识别。
京东基于用户行为序列进行反欺诈,通过抽取用户点击商品行为Session序列采用RNN网络识别恶意用户。
异常检测
OddBall
基于图的孤立点检测,通过研究Ego-net总结几种异常模型及度量方式