纯干货分享 | 标签对无监督算法有什么作用?

DataVisor是业内首个将无监督机器学习(unsupervised machine learning)应用于反欺诈检测的。其中相较于传统检测方法,无监督机器学习有一项显著的优势就是无需标签。但是不是说,无监督就一定不需要标签?用了标签就一定是有监督呢?事实并非如此,这要看如何使用标签了。

在传统反欺诈检测中会有这样的问题:因为缺乏足够的先验知识,难以人工标注类别或进行人工类别标注的成本太高。很自然地,我们希望计算机能代我们完成这些工作以减轻人力和财务成本。

什么是无监督学习?

根据类别未知(没有被标记)的训练样本解决模式识别中的各种问题,称之为无监督学习。无监督和有监督的区别之一就是对标签的运用。

区分有监督和无监督,就是看是否有监督(supervised),也就看输入数据是否有标签(label)。输入数据有标签,则为有监督学习,没标签则为无监督学习。

因此,如果标签被作为模型的输入,则认为是有监督;若标签没有用于输入来训练模型,例如只作为验证所用(为了得出TPR,FPR,FNR等指标),则属于无监督。

事实上,在反欺诈检测中,标签在无监督算法的过程中,仍有十分重要的意义。

从定义的角度阐述无监督学习的含义

首先我们来看什么是学习(learning)?一个成语就能很典型地概括:举一反三。此处以高考为例,高考的题目都是新题,但在高中我们经过三年的训练,已经习得了解题方法,因此考试中陌生的题目我们也能解出。机器学习的思路也类似:我们能不能利用一些训练数据(已经做过的题),使机器能够利用它们(解题方法)分析未知数据(高考的题目)?

最经典的一类机器学习算法就是分类(classification)。对于分类,输入的训练数据有特征(feature),有标签(label)。

所谓的学习,其本质就是找到特征和标签间的关系(mapping)。这样当有特征而无标签的未知数据输入时,我们就可以通过已有的关系得到未知数据标签。

在上述的分类过程中,如果所有训练数据都有标签,则为有监督学习(supervised learning)。如果数据没有标签,显然就是无监督学习(unsupervised learning)了。这里主要讲无监督学习中的一种-聚类(clustering)。

从集合的角度阐述标签对无监督学习的作用

同样,我们先从机器学习常用的三个集合定义开始解释。这里,我们引用Ripley, B.D(1996)在他的经典专著Pattern Recognition and Neural Networks中给出的这三个词的定义。 为了不产生歧义,此处采用双语定义。

Training set: A set of examples used for learning, which is to fit the parameters [i.e., weights] of the classifier.

训练集:学习样本数据集,根据选择的分类器,学习出一个函数来拟合输入特征和输出标签的关系。建立一种分类的方式,主要是用来训练模型的。

Validation set: A set of examples used to tune the parameters [i.e., architecture, not weights] of a classifier, for example to choose the number of hidden units in a neural network.

验证集:对学习出来的模型,调整分类器算法的高层参数,如在神经网络中选择隐藏单元数。验证集还用来确定网络结构或者控制模型复杂程度的参数。

Test set: A set of examples used only to assess the performance [generalization] of a fully specified classifier.

测试集:主要是测试训练好的模型的分辨能力(识别率等)

640-7

显然,training set是用来训练模型或确定模型参数的,如ANN(artificial neutral network)中权值等; validation set是用来做模型选择(model selection),即做模型的最终优化及确定的,如ANN的结构;而 test set则纯粹是为了测试已经训练好的模型的推广能力。Test set也并不能保证模型的正确性,他只是说相似的数据用此模型会得出相似的结果。

那么,为何要这么划分?Ripley也谈到了这个问题:

1. The error rate estimate of the final model on validation data will be biased (smaller than the true error rate) since the validation set is used to select the final model.

2. After assessing the final model with the test set, YOU MUST NOT tune the model any further.

简而言之,为了防止过度拟合(overfitting)。如果把所有数据都用来训练模型的话,建立的模型自然是最契合这些数据的,测试表现也好。但换了其它数据集测试这个模型效果便可能没那么好。如同你给班级A定制校服是适合的,但是换到班级B就算年级相同不合适的概率也会增加。简而言之训练集和测试集相同的话,模型评估结果看起来好很多,但都是假象。

对于有监督学习,由于标签作为输入端,其作用于训练集(Test set)和验证集(Validation set)上;对于无监督习,标签主要作用于验证集(Validation set)上。

简单地介绍了相关背景,我们再回到开头提到的问题标签对无监督算法有什么用呢?

1. 用无监督学习来做欺诈团伙的检测,可以用标签来评估检测的好坏。其常用指标有三个:检测率(Detection rate),召回率(Recall)和准确率(precision)。你的模型是否合格与现有的标签进行对比,看交集(overlap)有多少,看增益有多少。

2. 标签用来调优无监督模型,也就是标签作用于验证集上。任何一种机器学习算法都包含参数,调参是模型调优的主要工作。有监督的调参主要在training set上进行,例如ANN的权值;而无监督没有training set,调参主要是在validation set上进行。换言之,有监督的标签是用来输入训练模型的,无监督的标签是研究人员来验证的。

从行业的角度阐述无监督的应用

无监督应用于反欺诈,是基于“好人分散坏人扎堆”的基本假设。我们基于行为判断群组的好坏,标签可以帮我们进一步确认这个判断是否正确。那么,如果没有标签怎么办?那就需要业务人员的介入,由业务人员来确定结果是否正确。

以下以互联网和金融行业为例,阐述无监督的应用。

我们曾有一篇文章提到了互联网刷单,从五个方面介绍了互联网刷单的方式方法。由于现在互联网行业存在着很多团伙类欺诈,采用无监督算法聚类是一种十分有效的手段,尤其是DataVisor自主开发的无监督算法,已经被国内外众多一线互联网产品所用,涉及的场景有:大规模注册,活动运营监控,垃圾邮件/信息,账号盗用等等,部分场景的输出准确率可以达到99%。

通过无监督算法在互联网行业聚类出的团伙,即使没有标签,通常只要运营人员稍加判断,就能识别出好坏。当然,如果有标签,模型的结果会更加优秀。

金融行业的情况比互联网复杂得多,有存取款、洗钱、信用卡盗刷、骗贷骗保和转账等各种开户行为和交易行为。以信用卡开户举例,通过无监督算法聚类出的一些异常行为的群组,可能在业务逻辑上可解释。例如,一个销售推荐的开卡人,一天内的开卡地点遍布全国各地。看似一个人一天内不可能跑遍祖国的大江南北,但实际上,此销售可能是以电话(cold call)的方式进行的信用卡推荐,因此业务角度判断属于正常行为。金融行业的此类疑似团伙欺诈,通常需要用标签+业务逻辑双管齐下的方式来判断,从而对无监督算法作调优。

以上,就是标签对无监督的作用以及在无监督算法应用场景的解释。如您还有问题,可点击阅读原文进入DataVisor官网或微信后台联系我们以了解更多。

2018-06-11T20:07:48+00:00 May 19th, 2018|技术动态|