3

我目前正在探索PU学习。这只是从正面和未标记的数据中学习。其中一篇出版物[Zhang, 2009]断言,可以通过修改具有概率输出(例如逻辑回归)的二元分类器算法的损失函数来学习。论文指出,应该优化平衡精度。

Vowpal Wabbit 目前支持五种损失函数[在此处列出]。我想添加一个自定义损失函数,在此优化 AUC (ROC),或者等效地,按照论文:1 - Balanced_Accuracy。

我不确定从哪里开始。查看代码表明我需要提供一阶、二阶导数和其他一些信息。我也可以使用 Logistic 损失运行标准算法,但尝试根据我的目标调整 l1 和 l2(不确定这是否好)。我很高兴获得有关如何进行的任何指示或建议。

更新更多搜索显示在在线学习中优化 AUC 是不可能/困难的:答案

4

1 回答 1

2

我发现了两个可以立即进行 PU 学习的软件套件:

(1) Joachims 的SVM性能

在这里使用“-l 10”选项!

(2)索菲亚-ml

在这里使用 ``--loop_type roc'' 选项!

通常,您将+1'' labels to your positive examples and-1'' 设置为所有未标记的。然后您启动训练过程,然后进行预测。

这两种软件都为您提供了一些性能指标。我建议使用来自 KDD`04 cup: ``perf'' 的标准化和完善的二进制文件。在这里得到它。

希望它对那些想知道这在实践中如何工作的人有所帮助。也许我阻止了这个案子XKCD

于 2014-11-05T18:02:38.410 回答