Elo 评级系统,更好的选择?
Rating System with Elo, better alternatives?
我正在研究评级算法。我有一套练习。它们都按级别分类(1 = 最简单,5 = 最难)。
用户会看到两个练习,他们应该决定哪一个更难,或者两者是否相等。应根据用户评分调整级别。
我做了什么:
我尝试了 Elo 评分。
我的问题:
有没有更好的算法来做这个用例? (到目前为止什么也没找到)
提前致谢并干杯。
托比
我会尝试以一种简单但(我希望)有效的方式解决问题。
首先,您仅在投票与系统实际预期不同时才更新行使评级。从现在开始,我将只考虑用户输出与系统实际预期不同的情况。
其次,我会更重视两个级别差异较大的选票。对评分为 2 和 3 的两个练习的错误期望的影响应该小于对评分为 1 和 5 的两个练习的错误期望的影响。
也就是说,我的算法将遵循:
1- 设置了一个固定的百分比,我们称它为increment
。它确定了投票的影响百分比,并且可以根据用户数量在此过程中进行修改。
2- 对于 "unexpected" 投票,我会计算原始水平之间的差异(最小为 1)。
diff = max(1, abs(ex1.level - ex2.level))
3- 我会根据 increment
和 diff
的乘积按百分比更新每个运动评分。
if (ex1 level expected bigger)
ex1.rating = ex1.rating + diff*increment;
else
ex1.rating = ex1.rating - diff*increment;
评级为浮点数,级别为 rating
:
的四舍五入
ex1.level = round(ex1.rating)
示例:
让我们设置increment = 0.1
。 exA
,评分 2.0,级别 2 与 exB
,评分 3.0,级别 3.
进行比较
第一个用户选择 exB
作为最难的。没有任何变化,因为这是系统预期的结果。
第二个用户选择exA
。这不是预期的结果。两次练习之间的差异为 1,因此评分被修改为 1*0.1 = 0.1,
导致 exA.rating = 2.1
for exB.rating = 2.9
我正在研究评级算法。我有一套练习。它们都按级别分类(1 = 最简单,5 = 最难)。
用户会看到两个练习,他们应该决定哪一个更难,或者两者是否相等。应根据用户评分调整级别。
我做了什么: 我尝试了 Elo 评分。
我的问题: 有没有更好的算法来做这个用例? (到目前为止什么也没找到)
提前致谢并干杯。 托比
我会尝试以一种简单但(我希望)有效的方式解决问题。
首先,您仅在投票与系统实际预期不同时才更新行使评级。从现在开始,我将只考虑用户输出与系统实际预期不同的情况。
其次,我会更重视两个级别差异较大的选票。对评分为 2 和 3 的两个练习的错误期望的影响应该小于对评分为 1 和 5 的两个练习的错误期望的影响。
也就是说,我的算法将遵循:
1- 设置了一个固定的百分比,我们称它为increment
。它确定了投票的影响百分比,并且可以根据用户数量在此过程中进行修改。
2- 对于 "unexpected" 投票,我会计算原始水平之间的差异(最小为 1)。
diff = max(1, abs(ex1.level - ex2.level))
3- 我会根据 increment
和 diff
的乘积按百分比更新每个运动评分。
if (ex1 level expected bigger)
ex1.rating = ex1.rating + diff*increment;
else
ex1.rating = ex1.rating - diff*increment;
评级为浮点数,级别为 rating
:
ex1.level = round(ex1.rating)
示例:
让我们设置increment = 0.1
。 exA
,评分 2.0,级别 2 与 exB
,评分 3.0,级别 3.
第一个用户选择 exB
作为最难的。没有任何变化,因为这是系统预期的结果。
第二个用户选择exA
。这不是预期的结果。两次练习之间的差异为 1,因此评分被修改为 1*0.1 = 0.1,
导致 exA.rating = 2.1
for exB.rating = 2.9