我认为机器学习或参数估计的一个基本假设是,看不见的数据来自与训练集相同的分布。但是,在某些实际情况下,测试集的分布几乎与训练集不同。
说一个大规模的多分类问题,试图将产品描述分类为大约17,000个类别。训练集将具有高度偏斜的上课先验,因此某些班级可能有很多训练示例,但有些班级可能只有几个。假设我们从客户端获得了带有未知类标签的测试集。我们尝试使用在训练集上训练的分类器,将测试集中的每个产品分类为17,000个类别之一。测试集可能具有偏斜的班级分布,但可能与培训集的分布有很大差异,因为它们可能与不同的业务领域相关。如果两个类别的分布非常不同,则训练有素的分类器可能无法在测试集中很好地工作。对于朴素贝叶斯分类器,这似乎尤其明显。
是否有任何原则上的方法来处理概率分类器的训练集和特定给定测试集之间的差异?我听说“转换式SVM”在SVM中做类似的事情。是否有类似的技术来学习在特定给定测试集上表现最佳的分类器?然后,我们可以针对此给定的测试集重新训练分类器,如本实际方案中所允许的那样。