美国最大婚恋交友网站eHarmony的机器学习实践

Face Parts

各个部分通过一些“弹簧”连接起来,所有弹簧的弹性决定了这种连接方式的能量——能量越低,配置就越好。外观和结构分数的加权和确定了一个特定的连接的“良好”程度。

由于弹簧模型使用了特殊的树形结构,所以所有连接的良好程度可以使用消息传递算法来进行评估和最大化。由于允许使用一些额外的树形结构——比如,一个用于前脸,一个用于轮廓——所以姿势估计、检测以及标志性的检测都可以使用相同的步骤来完成。相当不错。

训练是用结构化SVM学习方法的最大边界的设置来完成的。一旦模型训练完成,它就会使用eHarmony的脸部数据集进行评估,各种特征会从图像中提取出来:像脸的宽度和高度的比率,是否展示了乳沟等。Jon实现了一个高效的版本,并且将它开源,放置在GitHub上

我的理解是,这些特征没有在相似性模型中进行双向性的编码:比如,它没有尝试把有胡子的家伙跟展示乳沟的女士进行匹配。相反,这些单向性的特征都是决定了你吸引别人进行交往的能力。

那么,下一步,你有多让人喜欢从而收到交流邀请就是很重要的了。这时候,匹配就用来使得每个人都开心了。

潜在相似性匹配

最后,我们必须给用户最佳匹配。系统设置了每个人有6到10个匹配对象,它使用了CS2算法来最大化有向无环图中的流——相匹配的人的相似性分数总和。

一个非常有趣的发展前沿——不是现在在用的——是根据人们的个人资料来给他们提供恰当的匹配数量。有些人喜欢更多的选择,而有些人,比如内向的人,或许更喜欢少一点的。

如果事先不知道一个人是喜欢多的还是少的,那么怎么给他提供一个更合适的匹配数量呢?一种解决方法是:一个月内,每天都给他一些随机数量的匹配,然后挑出他最常用的交往数量作为他的最佳匹配数字。但是使用这种策略,我们会不会浪费了太多的时间呢?

其实这个问题是变相的经典多臂匪徒问题(multi-armed bandit problem)。你面对许多个单臂匪徒——数学理想化的老虎机,每个机器具有一定的但是未知的概率能中奖。每次试验中,你挑一个赌博机,并得到了回报。问题是,怎样在一定时间周期内获取最大化的收益,也就是说,最小化遗憾。这就需要深度和广度的一种平衡。

一种不太理想,但仍然非常快速和有效的策略称为UCB策略,它说的是你应该挑选那个上限信心索引最大的机器。所以在这种情况下部署UCB策略,可以迅速找到一个用户的最佳匹配的数目。

在这里,我们还有更多的数据可以利用——我们知道用??户的基本信息。这个问题就可以在具有上下文的匪徒问题框架下处理——经典匪徒问题+特征回归。在Yahoo!上有一篇非常不错的文章,它通过实验演示了如何使用UCB策略来生成带上下文的匪徒问题,强烈建议感兴趣的读者参阅。

总结

这一天的参与值得吗?John特别提到了发表在PNAS的一篇文章,文章提到,通过网上交友而完成的婚姻比线下的婚姻具有更高的满意度;在交友网站中,eHarmony公司拥有最好的婚姻满意度。

尽管该文件所依据的调查由eHarmony公司自己来完成的,但是统计结果看起来是可信的,并且PNAS是一本相当好的杂志。

当然,我们不能排除自我选择的偏见,也就是说如果有人想通过选择某个特定网站来进行约会,那么,如Aziz Ansari所指出的:视频下载

原文链接:MACHINE LEARNING IN ONLINE DATING

via:csdn