【问题标题】:How to scale down a range of numbers with a known min and unknown max value如何缩小具有已知最小值和未知最大值的数字范围
【发布时间】:2018-06-08 08:33:11
【问题描述】:

我进行了一系列实验,其中每个实验的结果都是一个具有已知最小值(最好的情况)和 未知 最大值的整数。每个实验的这些值都不同。

有没有办法将此类实验标准化为(例如)[0,1] 或任何其他区间?

实验的结果是一组整数 c1,c2,...,cn 像这样:

f(g1)=c1 with 2 <= g1_min <= c1 <= inf
f(g2)=c2 with 2 <= g2_min <= c2 <= inf,

...

f(gn)=cn with 2 <= gn_min <= cn <= inf.

我正在寻找一种方法来可视化实验结果并显示每个 cn 与相应(最佳)gn_min 的差异。

你知道怎么做吗?

问候 :-)

【问题讨论】:

  • 为了标准化它们,根据定义,您需要一个已知的最大值(可能来自您的实验或物理/数学定律)
  • 是的,已知最大值很容易。但是对于这个实验,最大值是未知的。理论上可能是无穷大。这就是问题的重点。
  • 那么你就不能用未知的最大值规范化它们。你设置1等于什么?我不知道您的域,但可以计算出理论上的最大值。想象一下,你正在做一些人类身高的事情。在理论上你不知道你的人口的最大身高,但在实践中,物理力/测量(重力、血液、我们的骨骼/关节的强度、心脏泵血抵抗重力)设置最大或多或少在 4/6 米之间。如果上限真的是无穷大,那么就不要规范化,或者更好……问问你自己你需要规范化什么。
  • 实验分析了使用不同调度算法的大量有向图的调度长度。理论上,一个非常非常糟糕的调度算法可以识别出可能的最差调度长度。这个想法是显示每个调度算法的调度质量。
  • 您是动态分析还是事后分析结果集?如果它在运行中,那么您可以随时进行标准化 - 当出现新的最高数字时,您的图表(或其他)将重新缩放。如果您事后都在做这一切,那么您可以在记录集中找到最大值,然后随心所欲地正常化。还是我错过了一些意味着这不起作用的东西?

标签: math computer-science normalization


【解决方案1】:

你可以玩这样的东西:

(1.0 / (x - min + 1.0))

如果你想要那种比例,你可以取分母的对数。结果接近 1 为无穷大。基础微积分。

1.0 / (log10(x - min + 1) + 1.0);

【讨论】:

  • 必须反过来。我想到了 1/(x-min+1)。但是对于我的需要,这个功能减少得太快了。
  • @user1679928 取分母的对数,我加代码
  • 非常感谢。我只是删除“1-”并且我很好。因为x-min=0是最好的情况,应该显示为1! ;)
  • @user1679928 这是要显示数字吗? 1 = ∞ 但是你有一个实际问题:你所有的结果都将集中在一个小得可笑的范围内(好吧,除非其中一些真的达到无穷大),几乎无法相互区分,而且精度非常差(因为...在现实世界中,我们经常使用具有有限精度的浮点数)并且显示它比纯非标准化数字还要糟糕。这(IMO)不是数学问题,而是演示问题。
  • @user1679928 好的,我删除了“1-”
猜你喜欢
  • 2011-07-14
  • 2014-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多