gpt4 book ai didi

normalization - 将多个来源的成就标准化

转载 作者:行者123 更新时间:2023-12-02 05:15:13 28 4
gpt4 key购买 nike

我正在寻找一个好的算法推荐。

我有用户和成就。用户创建成就,然后将其授予其他用户。与每个成就相关联的是用户指定的点值。用户的总分是他们所有成就的总和。

基本上:

Achievement :
owner = Alias
points = int

User :
achievements = list(Achievement)
def points() :
sum([achievements.points])

好吧,这个系统显然非常适合游戏。你们可以创建很多帐户,并为彼此提供大量成就。我试图通过将点值缩放为与用户指定的值不同的值来稍微减少它。

  1. 假设所有用户都是诚实的,但他们只是以不同的方式衡量难度。我应该如何标准化点值? AKA 一个用户为每个简单的成就打 5 分,另一个用户给 10 分,我如何将它们归一化为一个值。目标是分配点数与难度成正比的分布。
  2. 如果一个用户不太擅长判断分值,我如何根据获得成就的用户数量来判断难度?
  3. 假设大部分用户可以分成不相交的组,其中一个用户将成就授予一整套其他用户。这对前两种算法有帮助吗?例如,用户 A 只给以奇数结尾的用户成就,而用户 B 只给以偶数结尾的用户成就。
  4. 如果每个人都是恶意的,我离不让用户过度夸大他们的积分值还有多远?

注意:给予用户的质量与他获得多少成就没有任何关系。许多给予者只是机器人,它们自己没有收到任何东西,但会自动奖励执行某些操作的用户。

我目前的计划是这样的。我有一个 10 点/人的分配,从我那里获得了成就。如果我总共给 55 个人分配了 10 个成就,我的分配是 550。然后根据获得它的人数分配给每个成就。如果分布是[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 人获得每项成就,那么点值将是[50, 25、16.6、12.5、10、8.3、7.1、6.25、5.5、5]

欢迎和赞赏我的方法和替代建议的任何问题。另外,发布其他您能想到的我错过的案例,我会将它们添加到列表中。谢谢!

最佳答案

我认为在您的系统中,如 stackoverflow、digg、slashdot 等,您的基本目标是

  1. 识别诚实用户
  2. 促进他们的行动

通常,我们通过用户的行为来识别诚实用户:那些在网站上存在很长时间并且已经过其他用户和您审查的帐户。 Stack overflow 使用信誉分数,slashdot 使用业力点数。

一旦您识别出这些诚实的用户,您就可以让他们的投票与声誉得分成正比:用户越诚实,我们就越相信他的成就。

因此,您可以给新帐户初始分数 10。然后该用户可以提供他想要的任意数量的成就,但它们的实际总值(value)将为 10(就像您建议的比例分配)。也就是说,如果一个新用户给出了 100 个成就(所有成就都具有相同的分数),那么每个成就都将值 0.1 分,因为他的分数是 10。然后,当该用户从其他用户那里获得成就时,他的分数会增加。

基本上,我建议您使用 pagerank ,但不是对网页进行排名,而是对用户进行排名,而不是超链接,链接是该用户给其他人的成就。

这是解决这个问题的一种方法。还有很多其他的。这取决于您的具体需求。拍卖总是很有趣。您可以让每个人在成就实际实现之前对其进行投标,以确定社区对该成就的价格(分数)。您将需要限制人们拥有的“金钱”数量。

关于normalization - 将多个来源的成就标准化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1118776/

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