其实一直在用这种方式,提升分类模型精度,最近才发现这类方法有一个专业名词,active learning ,中文名 主动学习,其目的 挑选出未标注标签的样本,通过标注这些挑选出来的样本提升模型分类精度。
第一. 挑选样本,挑选哪些样本对模型提升精度有帮助呢?挑选那些对模型来说信息量大的样本,信息量大的定义又是什么呢?
第二. 信息量大,模型分类的过程中,分错的样本相较于分对的样本,对于模型的信息量大,正是因为模型不具备错误样本相关信息,所以导致分错,下面就是挑选信息量大的规则:
1. 所有分类结果中,每一个类别结果模型得到的概率都较小
2. 所有分类结果中,概率最大类别与概率次大类别对应的数值相差不大
3. 所有分类结果中,每一个类别对应的概率都相差不大,也就是熵大
所有上面的规则,都是该样本对于模型的信息量大的表现,挑选规则设定之后,通过下面流程:
1. 将小部分标准的样本 训练出一个分类模型
2. 训练好的分类模型 通过上述 挑选规则 将未标注样本 中的 信息量大的样本跳挑出,完成人工标注
3. 重复1,2步骤,指导所有样本被标注
active learning一方面减少标注量,另一方面保证标注的语料分布在分类面的附近。
牵扯出一个问题。就是标注样本中存在少量错误标注的样本,而这些样本对模型效果会产生较大影响,传统方法,就是遍历查找,现在可以通过,将样本随机分N份,取其中N-1份作为训练数据,剩余作为测试数据,这样,测试数据会得到一个预测标签,通过比较预测标签与实际标签的差异,判断是否标注错误