我正在处理一个半监督学习任务,我只有正面和未标记的数据(PU 学习)。
我已经测试了一些算法,并想评估它们的性能。
对于监督学习,我通常使用:
- 错误分类错误
- 准确性
- ROC曲线
来评估绩效。
但是,由于我的训练和验证集中只有正面和未标记的数据,我不确定这些指标是否有意义。
我可以使用哪些指标来正确评估半监督学习方法的性能?
我正在处理一个半监督学习任务,我只有正面和未标记的数据(PU 学习)。
我已经测试了一些算法,并想评估它们的性能。
对于监督学习,我通常使用:
来评估绩效。
但是,由于我的训练和验证集中只有正面和未标记的数据,我不确定这些指标是否有意义。
我可以使用哪些指标来正确评估半监督学习方法的性能?
我们已经在Assessing binary classifiers using only positive and unlabeled data中解决了这个问题。具体来说,我们展示了如何根据列联表(准确度、精度、ROC/PR 曲线……)计算任何指标的严格界限。我们的工作在今年的 NIPS 会议上被所有审稿人接受,但随后因缺乏意义而被编辑拒绝(go figure)。我们将把它提交给即将到来的 KDD。
我们的方法是基于一个合理的假设,即已知的正样本是从所有正样本中完全随机抽样的。如果你不能依赖这个假设,任何形式的绩效评估都是不可行的。此外,我们需要估计未标记集中的正数比例,您通常可以通过领域知识或通过显式获取未标记集的一小部分随机子集的标签来获得。
这是一个横向思考的想法:你有一些积极的标签,你可以使用无监督学习来估计数据的自然分组。尝试测量已知信息与数据组合方式之间的重叠,将重叠用作基本事实度量。
因此,执行无监督学习,查看标记数据如何与集群对应。如果你运气好,那么标签将只与其中一个集群或异常值相关(如果有更多数据,这可能是集群)。
结果 A - 不相交的数据组
假设您有来自 100 个未标记示例的 10 个标签,经过聚类后发现这 10 个标签属于具有 20 个数据点的集群。这是一个好的案例,您现在可以将所有 20 标记为 1,将其他所有标记为 0。问题解决了,只需使用 AUC。
结果 B - 超过 2 个组,模糊聚类
如果不是这种情况怎么办?其他组呢?
如果没有,假设您在集群中有 9 个标签,其中一个集群中有 20 个和 1 个(希望是唯一的另一个)。重复多次并计算标签在某个组中“着陆”的次数。在多个聚类中计算标记数据(正例)和其他组之间的互信息。
因此,对于集群,您最终将拥有。当您评估最终模型时,假设这些值是基本事实(目标值)。
这是基于这样的假设,即您的预测也将在无监督的数据分组中以某种方式分布正标签(现在,更多标签)。