基于密集行为的欺诈检测算法-LockInfer( 五 )


首先 , 生成一系列的特征子空间图 , 计算最大的 k 个左奇异向量 u1, . . . , uk , 并 画出所有粉丝节点在每一对奇异向量张成的子空间中的分布 , 如图5.9(a) 所示 。在高维度的情况下 , 例如 U19 vs U20 , 常见的特征子空间图中原点附近有一大簇云 状点集 。然而 , 从 U1 vs U3 中可以看到构成直角的镭射线 , 从 U1 vs U2 中可以看 到旋转的镭射线 , 从 U2 vs U8 中可以看到珍珠状分布 , 这些都是非常奇怪的 。
正常情况下特征子空间的散点图会给出正常的 θ 和 r 频度分布

基于密集行为的欺诈检测算法-LockInfer

文章插图
 
“镭射线” 会在 θ 的频度图上形成两个尖峰 , 出现在 0o 和 90o
基于密集行为的欺诈检测算法-LockInfer

文章插图
 
“镭射线” 会在 θ 的频度图上形成两个尖峰 , 出现在 0o 和 90o
基于密集行为的欺诈检测算法-LockInfer

文章插图
 
“珍珠状” 在 r 的频度图上形成一个离原点很远的尖峰
基于密集行为的欺诈检测算法-LockInfer

文章插图
 
图5.9
第二 , 用极坐标变换把所有的点画成 (r,θ) , 其中 r 是点离原点的距离 , θ 是旋 转的角度 。如图5.9(b) 所示 , 镭射线会形成在 θ = 0o 和 θ = 90o 处的两个团簇 , 珍 珠状会形成在较大的 r 处的一些微小的点簇 。
第三 , 可以把距离 (r) 和角度 (θ) 的轴分割为若干个部分 , 并且把 r 和 θ 的频度画在柱状图中 。镭射线构成的角度分布图会在 0°和 90° 形成尖峰 , 但是在其他部位并没有尖峰;珍珠状构成的距离分布图会形成单个尖峰 , 而其他图中频度会 随着距离增大而慢慢减小 。用中位数过滤法[278] 可以检测尖峰 , 并且把尖峰处的 节点放入种子集合中 。
要注意的是 , 如果不存在密集行为 , 邻接矩阵中没有密集块 , 特征子空间图会在原点周围形成云状节点 。角度 θ 的频度会几乎是一个常数 , 而 r 的节点频度 会随着 r 的增大而减小 。
设定参数时 , 密集块的最小规模是 mmin×nmin (mmin = 100, nmin = 10) , 最小的密度是 d 。同时可以设置 k = 20 来权衡特征子空间图的数量和 SVD 的运算时间 。通 过阅读极坐标图 , 画出距离和角度的频度分布图 , 切割距离的轴为Kr =20个柱 子 , 切割角度的轴为Kθ =2 Kr =40个柱子 , 因为θ可能为正也可能为负 。
基于密集行为的欺诈检测算法-LockInfer

文章插图
 
下面是进行 “密集值” 的传递来找到所有有密集行为的粉丝和偶像节点 。定 义粉丝节点的密集值为其对应的有密集行为的偶像节点的百分比 , 定义偶像节点 的密集值为对应的有密集行为的粉丝节点百分比 , 由此每一次用一个密度阈值来 选择新的具有密集行为的粉丝节点和偶像节点集合 。Scoop 函数如信任传递算法 ,  迭代地从粉丝到偶像 , 从偶像到粉丝传递密集值 。下面来解释其中每一个步骤 。
基于密集行为的欺诈检测算法-LockInfer

文章插图
 

基于密集行为的欺诈检测算法-LockInfer

文章插图
 

基于密集行为的欺诈检测算法-LockInfer

文章插图
 
从源节点(粉丝)到目标节点(偶像): 图5.10(a) 的有向图中上面是粉丝集 合 , 下面是偶像集合 。如果从 5 个密集的粉丝出发 , 对每一个偶像 , 计算他 们粉丝在种子集合中的比例 。选取有比例高的偶像作为有密集行为的偶像 。函数 S2T 给出如何从源节点传递密集值到目标节点 。
从目标节点(偶像)到源节点(粉丝):接着是对每一个粉丝 , 计算他有多 少比例的偶像是有密集行为的 。图5.10(b) 给出了如何选取新的密集行为粉 丝 , 并去除无辜的不关注或者只关注 1 个的偶像 。函数 T 2S 给出了如何从 目标节点传递密集值到源节点 。
重复到收敛:当收敛的时候如果密集块并不为空 , 报告有密集行为的粉丝和偶像集合 。


推荐阅读