一、主动学习算法(Active Learning)适用的情景
风险控制工作中常常陷入的窘境:风险数据量太少!当风控领域中的分析师或者分析师训练模型的时候,他们常常会因可以真实确定的风险样本数量之稀少而感到无力。为了得到更多的风险样本,我们可以进一步地人工查看、打标拦截数据。然而如果我们把所有拦截都人工的审核、打标一遍的话,成本将会非常高。但是如果我们应用主动学习算法的话,我们就可以以相对小的人工成本完成这个任务。
欲对大量无标记数据进行分类,但没有任何可用的已标记数据训练分类器,且因成本所限,难以大量标记数据集以训练分类器。
在主动学习中,一个学习算法可以交互式的询问用户来获得在新的数据点所期望的输出。
二、算法原理与优势
核心思想:“主动学习”会抽取那些比较“难”分类的样本,即每次都挑选当前分类器分类效果不理想的那些样本进行训练。而不是从样本总体中随机地抽取样本进行学习。
算法描述:
1. 从无标记的数据集中随机抽样,并人工分类这些样本;
2. 在标记过的数据集上训练分类器,得到预测值;
3. 挑出来那些“信息量大(预测值接近0.5)的”样本,人工对这批样本进行分类;
4. 重复步骤2和步骤3,直到(1)没有更多资源对数据集进行标记;(2)当前分类器对选出来的数据分类正确;(3)选出来的数据人工也无法进行分类。
三、算法应用举例
个性化垃圾邮件分类器训练:每个人对于垃圾邮件的定义是不一样的,有的人觉得只有诈骗邮件是垃圾邮件,有的人认为推销邮件也是垃圾邮件。为了寻找个人对垃圾与非垃圾邮件的分类界限,算法需要去询问用户的选择来得到这个边界。效率最高的方式应当是沿着你的分类界限提问,而不是问那些答案极其明显的问题。开始训练时,算法将用一个简单的分类器初步地对用户历史上所有的邮件进行分类,找出此时分类器不能确定用户态度的一部分邮件让用户进行判断,之后分类器再从新在用户本人分类好的样本中进行训练,之后再对用户未手工分类过的邮件进行分类,不确定的那部分继续询问用户的判断,直到用户不再想继续判断了,或用户的分类和分类器分类吻合,或用户对分类也开始犹豫不决。(注:主动学习算法在自然语言识别领域应用广泛。)
四、应用效果
过往实验显示,若对获得同等分类准确率的随机抽样学习算法和主动学习抽样算法进行比较,主动学习抽样算法可节约高达44%的人工标记成本。[2]
[1] Active Learning for Natural Language Parsing and Information Extraction http://www.cs.utexas.edu/~ml/papers/active-nll-ml99.pdf