本文来自OPPO互联网技术团队,如需要转载,请注明出处及作者。欢迎关注我们的公众号:OPPO_tech
在多数中寻找少数异常样本,这在实际工业生产中是非常常见的一种诉求,因为特殊的判别需求总是体现在少数部分里头。以广告为例,在众多广告实际点击,表单提交中如何判别异常点击异常案例,也是非常常见的案例。
文本从业务场景出发,阐述实际广告以及生活中的这种场景诉求,然后分别从Smote过采样,PU学习以及CostSensitive Classification等几个维度进行深度的剖析。
所谓异常检测,即在正常的流程中,你需要识别出来潜在的异常,而一般情况下,异常则意味着风险,所以,在实际的场景中,这类诉求是非常常见的。
1. 实际生活中的异常检测场景
我们的大主题是广告,所以还是先以广告为例,在实际的广告投放中,什么场景下会有类似的异常检测的诉求呢?
广告投放的核心目标是给流量投放广告,然后最终期望用户点击广告带来转化,这种所谓的转化有可能是直接的点击(常规CPC广告),也有可能是APP的下载(常规的APP应用下载投放),还有可能是咨询沟通(在线咨询),也有可能是表单收集(常见的H5类型投放,表单收集)。
每产生一个Click,每产生一个下载,每产生一次表单提交,这都意味着需要扣广告主的钱,如果说点击/下载/表单填写都是假的呢?这个职责谁来承担,反正广告主钱是已经扣了。
以表单提交为例,H5的投放,大部分对于广告主来说还有后续的一些其他操作,诸如拿着表单信息进行离线的电话沟通等,一方面推广费用已经扣除,另一方面收集过来很大一部分是无效表单,联系不上,恶意辱骂,信息错位等等,其离线的进一步营销也是需要成本的。这就造成了无效成本的进一步增大。
那么,会有这么多错误点击和错乱表单的存在吗?真的是有的,有一些习惯性无聊的,看到广告就瞎点;有一些是竞品玩家,纯粹故意恶心你来的;还有一些人性本恶的,估计进来骂人以及找骂的;还有一些机器人等等。
针对这些人这些情况,我们如果能提前一步识别出来,避免将广告投放给他,如果能够控制召回和准确率,岂不妙哉;退一步讲,就算提前预测不出来,点击之后,产生表单之后再进行识别,这样也可以避免给广告主造成经济损失,也是可以的。
但是,这毕竟少数人,如果是大规模的情况,那意味着你大广告投放环境实在太糟糕了,建议不要做广告了。
这种抓“坏人”的情况除了广告领域,其他领域也大有存在,比如网站或者平台上的恶意流量识别,电商里找撸羊毛的羊毛党,贷款领域里的潜在贷款风险人的识别等。
各行各业,都有类似的诉求,是的,找“坏人”。
2. 异常检测与分类
可以看到,