主动学习
有的时候,有类标的数据比较稀少而没有类标的数据是相当丰富的,但是对数据进行人工标注又非常昂贵,学习算法可以主动的提出一些标注请求,将一些经过筛选的数据提交给专家进行标注。
主动学习流程:
- 机器学习模型:包括机器学习模型的训练和预测两部分
- 待标注的数据候选集提取:依赖主动学习中的查询函数(Query Function)
- 人工标注:专家经验或者业务经验的提炼
- 获得候选集的标注数据:获得更有价值的样本数据
- 机器学习模型的更新:通过增量学习或者重新学习的方式更新模型,从而将人工标注的信息融入到机器学习的模型中,提升模型效果。
通过这个过程,就可以达到人工调优模型的结果,应用的领域包括:
- 个性化的垃圾邮件,短信,内容分类
- 异常检测
Q是查询函数,用于从未标注样本池U中查询信息量大的信息,S是督导者,可以为U中样本标注正确的标签。学习者通过少量初始标记样本L开始学习,通过一定的查询函数Q选择出一个或一批最有用的样本,并向督导者询问标签,然后利用获得的新知识来训练分类器和进行下一轮查询。主动学习是一个循环的过程,直至达到某一停止准则为止。
那么什么样的样本是有用的呢?查询函数的设计的最常用的策略是:不确定性准则和差异性准则。
- 不确定性准则:由于信息熵是衡量信息量的概念,也是衡量不确定性的概念。信息熵越大,信息量也就越丰富。不确定性准则就是要找到不确定性最高的样本,因为这些样本包含的丰富信息量,对训练模型是有用的。
- 差异性原则:查询函数每次迭代中查询一个或者一批样本,我们希望所查询的样本提供的信息是全面的,各个样本提供的信息不重复不冗余,即样本之间具有一定的差异性。在每轮迭代抽取单个信息量最大的样本加入训练集的情况下,每一轮迭代中模型都被重新训练,以新获得的知识去参与对样本不确定性的评估可以有效地避免数据冗余。但是如果每次迭代查询一批样本,那么就应该想办法保证样本的差异性,避免数据冗余。