好了,所以这里是一个类似的问题我的问题(我将阐述如下真正的问题,但我认为这个比喻会更容易理解)。

我在每1001个掷只有过来头(随机地)一个奇怪的双面硬币1(其余为尾部)。换句话说,每1000个反面我看到,会有1头。

我有一个特殊的疾病,其中我只注意到在每1000个反面我看到1,但我注意到每头,并且因此它看来,我认为一个注意到正面或反面的速率为0.5。当然,我知道这个病和它的效果,所以我可以弥补它。

现在有人给了我一个新的硬币,我注意到注意到头的速度现在是0.6。鉴于我的病情并没有改变(我仍然只有1通知每1000尾),我怎么计算的头实际比例的尾巴,这个新的硬币产生?


好了,什么是真正的问题吗?好了,我有一堆由输入的数据,并输出它们是1和0的。我想教有监督的机器学习算法来预测预期的输出(0之间的浮体和1)给定的输入。的问题是,1秒是非常罕见的,并且该螺丝了内部数学因为它变成舍入误差非常敏感。 - 即使采用高精度的浮点运算

所以,我通过以便它似乎有1和0的一个大致相等的比率随机省去大部分0训练样本的归一化数据。当然,这意味着现在的机器学习算法的输出是不再视为预测的概率,即。代替预测0.001,因为它应该,这将现在预测0.5。

我需要的方式给机器学习算法的输出转换回原始训练集合内的概率。

作者注(2015年10月7日):我后来发现,这种技术通常被称为 “采样”

有帮助吗?

解决方案

正在计算下面的

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)

似乎是正确的。 calculatedRatio 0.5收率realRatio一千〇一分之一,0.6收率二千零三分之三。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top