gpt4 book ai didi

algorithm - 如何决定权重?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:52:21 27 4
gpt4 key购买 nike

对于我的工作,我需要某种具有以下输入和输出的算法:

输入:一组日期(从过去开始)。输出:一组权重 - 每个给定日期一个权重(所有权重的总和 = 1)。

基本思想是离今天最近的日期应该获得最高的权重,第二最近的日期将获得第二高的权重,依此类推...

有什么想法吗?

提前致谢!

最佳答案

首先,为输入集中的每个日期分配日期和今天之间的时间量。

例如:下面的日期集{today, tomorrow, yesterday, a week from today}变为{0, 1, 1, 7}。形式上:val[i] = abs(today - date[i])

其次,反转值,使其相对权重反转。最简单的方法是:val[i] = 1/val[i]

其他建议:

  • val[i] = 1/val[i]^2
  • val[i] = 1/sqrt(val[i])
  • val[i] = 1/log(val[i])

最困难和最重要的部分是决定如何反转值。想一想,权重的性质应该是什么? (你想要两个遥远的日期之间有明显的差异,还是两个遥远的日期应该有相当的权重?你想要一个非常接近今天的日期有更大的权重还是合理更大的权重?)。

请注意,您应该想出一个不能被零除的反相程序。在上面的示例中,除以 val[i] 会导致除以零。一种避免被零除的方法称为 smoothing . “平滑”数据的最简单方法是使用加一平滑,您只需将每个值加一(因此今天变为 1,明天变为 2,下周变为 8,等等)。

现在最简单的部分是规范化这些值,以便它们总和为 1。

sum = val[1] + val[2] + ... + val[n]
weight[i] = val[i]/sum for each i

关于algorithm - 如何决定权重?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7041867/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com