在这篇文章中,Chris McKinlay 说他使用 AdaBoost 来选择他在 okcupid 上回答的问题的正确“重要性”。
如果你没看过也不想看文章,或者对okcupid和提问系统不熟悉,下面是他遇到的数据和问题:目标是尽可能多的“匹配”到尽可能多的用户可能,每个人都可能回答了任意数量的问题。这些问题每个可能有 2 到 4 个答案,为了简单起见,我们假设匹配的公式% 您和其他用户之间的信息由
在哪里 是您和其他用户共同的问题数量,以及
是您回答的相同值的问题数。
真正的公式稍微复杂一些,但是关于“选择”正确答案的方法是相同的(他实际上使用提升来找到放置在给定问题上的理想“重要性”,而不是正确答案)。在任何情况下,关键是您要为每个问题选择一个特定的值,这样您就可以最大化与尽可能多的用户的匹配百分比 - 您可以通过总和来量化超过所有用户。
现在我已经看了麻省理工学院的人工智能课程,包括关于提升的讲座,但我不明白你如何将它应用到这样的问题上。老实说,我什至不知道从哪里开始为弱学习者选择规则。我没有任何关于为每个问题选择什么值的“规则”(如果用户低于 5'5,请选择 A 等)——我只是想拟合我拥有的数据。
这不是应该使用提升的方式吗?他是如何解决这个问题的,是否还有其他一些优化?