在积极和未标记的学习中获得超过 1 的概率

机器算法验证 机器学习 可能性 分类 无监督学习 自然语言
2022-03-17 10:48:53

我有一个关于 PU-Learning 的问题,它涉及从正标记(没有标记的负样本)和正/负未标记数据中学习。

特别是,我的问题是关于仅从正面和未标记数据中学习分类器的论文。本文将一个非传统的分类器G(X)从标记/未标记的数据集中学习,并将被标记示例的概率输出到传统分类器中F(X)它输出一个例子为正的概率。我已经实现了第一个提议的方法(第 2 节,“从非传统输入中学习传统分类器”)。然而,概率F(X)=G(X)/p(s=1|是的=1)对于几个示例,变得大于 1(这不应大于 1,因为它是概率)

用于学习非传统分类器G(X),我使用的非传统数据集由

  1. 从整个标记数据中随机选择 100,000 个标记示例,以及
  2. 从整个未标记数据中随机选择 100,000 个未标记示例。

并且用于估计p(s=1|是的=1)——使用第一个提议的估计器——我正在使用一个验证数据集,该数据集由从单独的标记数据集中随机选择的 30,000 个标记实例组成。

根据论文,概率F(X)如果 (1) 和 (2) 在示例空间中重叠,则保证格式正确。就我而言,(1) 和 (2) 有 20% 的重叠示例,但我仍然得到非良构概率 (>1)。

我怎样才能达到一个明确定义的概率F(X)?

编辑 8/21

  1. 根据论文,G(X)必须是一个产生正确概率作为其输出的分类器,如逻辑回归,或一个校准的分类器,如朴素贝叶斯/SVM,才能使该方法发挥作用。我只是使用最大熵分类器(来自 NLTK 包),也称为逻辑回归。因此,我想这应该没有任何问题。

  2. 尽管论文指出标记(1)和未标记(2)数据集用于训练G(X)是“来自特征空间中重叠区域的样本”,这样的数据集似乎是不相交的(参见第 5 节的实验,P 和 U 是不相交的)。我也尝试过使用不相交的标记和未标记数据集,但是我仍然得到超过一个的概率F(X).

  3. 平衡数据集也没有任何区别。

  4. 我已经尝试过提出的第二个估计器(e2)。仍然获得超过 1 的概率F(X).

编辑 8/29

  1. 在第 5 节中,描述了一个真实世界数据的示例,我们有一组来自数据库 TCDB 的标记+正例示例,以及一组从数据库 SwissProt 中随机采样的未标记示例,其中 P 和 U 不相交。然后他们使用 P,U 来学习一个非传统的分类器。我认为这种方法可以应用于我的问题,因为我也有一组正例,以及一组随机采样的未标记示例。你怎么看 ?

  2. 我已经尝试了建议的第三个估计器(e3)。由于它从正标记集中获取示例的最大概率(在我的情况下约为 0.98),因此我不再获得超过 1 的概率。但是,由于该估计仅基于一个示例,而不是所有示例之间的平均值,因此对我来说这看起来不是一个好的估计器。关于这个估计器的有效性有什么想法吗?

谢谢

1个回答

我试图用一个非常简单的测试用例来遵循作者的指示。这是我使用的 R 代码。

set.seed(123)
# Create the data according to authors' notations.
# For the first 100 observations y = 1, and for the last 100 y = 0.
# Only the first 25 obersvations are labelled, according to their
# "chosen completely at random" criterion.
c <- 25/100
data <- data.frame(
   y = c(rep(1,100), rep(0,100)),
   x = c(rnorm(100, mean=2), rnorm(100, mean=0)),
   s = c(rep(1,25), rep(0, 175))
)
# Train a standard logistic classifier on s
g <- glm(s ~ x, data=data, family="binomial")
max(g$fitted.values / c) # 1.676602

因此,即使在非常简单的情况下,估计的概率也会高于 1。发生这种情况的原因是估计的概率G(X)=p(s=1|X)估计。如果我们真的有G(X)p(s=1|X), 和C本身估计,没有什么可以阻止G(X)/C大于一。

实际上该方法具有很强的实际局限性。首先你需要有一个很好的估计C,您只能通过传统数据集获得。其次,必须有一个“完全随机选择”的样本。第三...好吧,您刚刚指出了第三点;-)

注意:从您的描述中,我感觉您的采样方案并非“完全随机选择”,正如作者强烈坚持的那样。

此处考虑的场景与 [21] 中考虑的场景之间存在细微但重要的区别。这里的场景是训练数据是随机抽取的p(X,是的,s), 但对于每个元组X,是的,s画出来的,只有X,s被记录下来。[21] 的场景是两个训练集独立于p(X,是的,s).