大家好,我是小伍哥。
最近遇到了非常多的人问我,我想学风控算法,有没有法相关的资料,发我想学习下。搞了这么多年风控,一时间竟然不知道如何回答。仔细思索了下,其实这个问题非常难回答,写个例子来回答这个问题。
风控算法对场景和业务目标是强依赖的东西,通用的算法,可以用不同的姿势进行应用,结果截然相反,比如关联规则:大家学的都是啤酒尿不湿,但是实际可以用于风控策略的无监督挖掘和有监督挖掘,看你怎么定义问题了。
下面举一个例子,说明下,风控要学什么算法(每个方法的代码后面给出,先讲讲框架)。下面是用户和视频的点赞交互数据,你拿到这个数据,能做什么样的挖掘呢?
视频ID | 点赞用户 | 点赞时间 |
video_1 | 2001234 | 2021-11-16 00:12:23 |
video_1 | 2001235 | 2021-11-16 00:15:29 |
video_1 | 2001236 | 2021-11-16 00:19:45 |
video_2 | 2001234 | 2021-11-16 00:56:23 |
video_2 | 2001235 | 2021-11-16 00:14:23 |
video_2 | 2001236 | 2021-11-16 00:18:23 |
video_2 | 2001987 | 2021-11-16 00:11:23 |
video_3 | 2001234 | 2021-11-16 00:11:29 |
video_3 | 2001235 | 2021-11-16 00:15:45 |
video_3 | 2001236 | 2021-11-16 00:23:45 |
video_3 | 2003798 | 2021-11-16 00:35:45 |
一、用户聚类
在用户角度,我们可以把用户点赞的视频当成一个文本序列,然后对文本序列聚类,这样得到的相似浏览行为的用户,就会被聚为一类。用户1的序列为:video_3 video_1 video_2 用户2的序列为:video_2 video_1 video_3 假如我们聚类,不考虑点赞顺序的情况下,用户1和用户2完全相似,考虑顺序的情况下,只有33%的相似。
这里就要用到tf-idf+Dbscan等算法进行聚类了
二、视频聚类
我们把视频和用户反过来,按视频,构建用户ID序列,那是不是就可以得到一个用户序列,用同样的方法,可以对相识视频进行聚类,这种对于众包刷单等场景,非常有用
三、团伙挖掘
我们用用户为点,计算视频的交并集,然后用社群挖掘算法,就可以进行团伙挖掘,得到用户直接的团伙,这种方法也是非常还用的。
当然,反过来,以视频为点,交集用户数作为边,也可以构建视频团伙,得到和聚类类似的效果,但是思路完全不一样。
四、同步行为
这个算是我写的最多的算法了,通过时间的同步性,计算用户直接的关系,然后再进行网络挖掘,效果非常好,简直就是同步行为的天花板算法
五、自然语言处理
用户序列或者视频序列,进行训练Word2Vec,可以得到每个对象的词向量,有了词向量,可以进行序列的聚类,也可以计算用户的相似度,或者视频的相似度。
这也是非常有意思的方法,大家可以试试。
六、node2vec
当然,通过上面的各种方法构建的图网络,我们可以用node2vec算法进行训练,得到节点向量,然后计算相似度或者聚类,得到非常抽象的相似用户,也是非常好的无监督方法
六、图神经网络
有了构图,那图神经网络的方法也是可以用的了,得到更丰富的识别准确率,这里可能就是需要用到标签了,进行有监督算法的训练。
七、所有有监督算法
用户或者视频有了标签,可以ngram后用简单的逻辑回归、决策树算法,也可以计算各种特征用xgb、lgbm、catboost等树模型计算
八、CNN等图片算法
行为数据,也可以转换成行为矩阵,用图片的算法进行分类,之前的文章也写过,也是非常有意思的方法。
写了这么多,一个字,就是任何一个算法都可以用到风控,无论是有监督还是无监督。最难的点是理解每个算法的优点与缺点,并在恰当的场景选用恰当的算法,达到出其不意的效果。