Algorithm 是否存在任何算法来衡量各种因素?
如果我没有正确解释,请提前道歉。我想知道是否有算法在决策过程中对各种因素进行加权 我在读《编程集体智慧》,在这一章中,你建立了一个搜索引擎,并使用各种因素对网页进行排名(页面排名、词频、字距、标题中的单词等)。基本上,在示例代码中,它们将所有因子作为类中的函数,然后使用此命令对它们进行评分:Algorithm 是否存在任何算法来衡量各种因素?,algorithm,Algorithm,如果我没有正确解释,请提前道歉。我想知道是否有算法在决策过程中对各种因素进行加权 我在读《编程集体智慧》,在这一章中,你建立了一个搜索引擎,并使用各种因素对网页进行排名(页面排名、词频、字距、标题中的单词等)。基本上,在示例代码中,它们将所有因子作为类中的函数,然后使用此命令对它们进行评分: weights=[(1.0,self.locationscore(rows)), (1.0,self.frequencyscore(rows)),
weights=[(1.0,self.locationscore(rows)),
(1.0,self.frequencyscore(rows)),
(1.0,self.distancescore(rows)),
(1.0,self.pagerankscore(rows)),
(1.0,self.linktextscore(rows, wordids))]
每个因素的排名是相等的(1.0),但我想知道是否有一种方法可以动态地使不同的因素权重不同,而不必手动设置权重?在书中,他们继续使用神经网络来研究用户的点击,但上述权重保持不变
我觉得有一种非静态的方法可以做到这一点,但不确定是什么。任何关于如何实现这一点的建议都是非常好的
提前谢谢
注意:如果您想要书中的示例代码,请参阅第4章。另外,如果我没有正确解释任何问题,请告诉我,我会更新我的问题。首先定义你的效用函数。:如何估计一个解决方案是否比另一个更好。您描述的问题的一个常见实用程序是和 另外,创建一个评估集:构建一组查询,以及这些查询的一组预期答案 现在,您可以使用任何AI优化算法(如或)调整权重函数。在这些优化算法中,您的变量是每个算法的权重,您尝试优化您的效用函数
注意:如果您的搜索引擎API允许一些明确的反馈,您也可以使用相同的方法来保持动态调整:在足够多的用户指出查询的“正确”答案后,您可以将其添加到评估集中,然后再次运行调整算法。只是头脑风暴,这可能是一个马尔可夫链(每个因素都是链的一部分,并影响其他因素?),或者可能是作为优化问题处理的因素/分数?正如书中提到的,您可能需要基于用户点击行为的某种训练集。之后,您可以使用您最喜欢的机器学习方法尝试“学习”更好的加权方案。