【问题标题】:Correcting a known bias in collected data纠正收集数据中的已知偏差
【发布时间】:2010-10-17 17:11:30
【问题描述】:

好的,所以这里有一个类似于我的问题的问题(我将在下面详细说明真正的问题,但我认为这个类比会更容易理解)。

我有一个奇怪的双面硬币,每 1,001 次投掷中只有 1 次正面(随机)出现(其余为反面)。换句话说,每看到 1000 个尾巴,就会有 1 个正面。

我有一种特殊的疾病,每看到 1,000 个尾巴,我只注意到 1 个,但我注意到每个头,所以在我看来,注意到正面或尾巴的概率是 0.5。当然,我知道这种疾病及其影响,所以我可以弥补它。

现在有人给了我一枚新硬币,我注意到注意到正面的概率现在是 0.6。鉴于我的疾病没有改变(我仍然只注意到每 1,000 个尾巴中有 1 个),我如何计算这枚新硬币产生的实际正面与反面的比率?


好的,那么真正的问题是什么?好吧,我有一堆数据,包括输入和输出,分别是 1 和 0。我想教一个有监督的机器学习算法来预测给定输入的预期输出(0到1之间的浮点数)。问题是 1 非常罕见,这会搞砸内部数学,因为它很容易受到舍入误差的影响——即使是高精度浮点数学。

因此,我通过随机省略大部分 0 训练样本来对数据进行归一化,以使 1 和 0 的比例看起来大致相等。当然,这意味着现在机器学习算法的输出不再是预测概率,即。它现在会预测 0.5,而不是应该预测 0.001。

我需要一种方法将机器学习算法的输出转换回原始训练集中的概率。

作者注(2015-10-07):我后来发现这种技术俗称“下采样”

【问题讨论】:

  • 说实话,你的类比比你的实际问题更让我困惑 ;-)
  • @David,抱歉-但至少其中一个是有道理的(我希望!):-)
  • 是的,我现在明白了;-) 可以解决算法中的舍入错误,而不必调整训练输入集......如果你愿意发布机器学习算法的一些细节(也许是一个简单的代码示例),您可以获得一些输入。
  • 我发现类比比“现实世界”问题更清晰。无论如何,接受的答案是完全正确的,但为了将来参考,看起来你正在做所谓的重要性抽样。 [例如。请参阅en.wikipedia.org/wiki/Importance_sampling 或谷歌以获得更好的解释。]

标签: machine-learning statistics data-mining normalization probability


【解决方案1】:

您正在计算以下内容

calculatedRatio = heads / (heads + tails / 1000)

你需要

realRatio = heads / (heads + tails)

解决两个方程的尾部产生以下方程。

tails = 1000 / calculatedRatio - 1000
tails = 1 / realRatio - 1

将两者结合产生以下结果。

1000 / calculateRatio - 1000 = 1 / realRatio - 1

最后求解 realRatio。

realRatio = 1 / (1000 / calculatedRatio - 999)

似乎是正确的。计算比率 0.5 产生实际比率 1/1001,0.6 产生 3 / 2003。

【讨论】:

    猜你喜欢
    • 2019-12-09
    • 1970-01-01
    • 2017-03-15
    • 2022-06-27
    • 2018-12-05
    • 2016-02-13
    • 2021-10-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多