内容简介:美国交友网站OKCupid的创始人之一克里斯蒂安·鲁德尔(Christian Rudder)以下是他在TED-ed上的分享内容:【TED-ed】线上约会背后的数学原理(Inside OKCupid: The math of online dating - Christian Rudder)
明天又到了一年一度的520,面对大街上,朋友圈里情侣们的各色秀恩爱,单身 程序员 又要受到一万点伤害。
难道我注定要要一辈子散发着单身狗的清香?
究竟怎么样才能遇到我未来的另一半呢?
所幸的是,在今天这个时代,我们拥有互联网和大数据,它们给很多事情提供了便利,我们可以与很多人接触到——甚至是那些在几分钟前你想都不敢想的人。
当然,这其中也包括恋爱交友。没错,大数据和算法(Algorithm)可以帮你更快地找到理想伴侣。
本文经授权转载自DataGirls(ID:DataGirls)
美国交友网站OKCupid的创始人之一克里斯蒂安·鲁德尔(Christian Rudder) 研究出了一种算法将两个人联系在一起,并基于一系列问题来检验他们的速配指数。 他们的答案越匹配,他们的速配指数越高。
以下是他在TED-ed上的分享内容:
【TED-ed】线上约会背后的数学原理(Inside OKCupid: The math of online dating - Christian Rudder)
本次分享主要讲解了数据收集、吸引力量化、算法设计等OKcupid在对线上用户进行速配时使用的数学原理。
如何得到你与他/她的速配指数
你可能会问, 我们如何能用数学来运算人与之间的吸引力呢?
首先,需要收集数据。
OKCupid通过让用户回答问题来收集数据。这些问题可以从像电影或歌曲品味,“你很邋遢吗”这样的小问题,或者“你想要什么样的孩子”一类的大问题。
很多人认为这些问题就是根据两个人喜好相互配对,人们有截然不同的回答时确实是这样。 当两个人在回答问题上有分歧时,最好的方法就是收集数据,将答案与理想伴侣的答案进行比较,并为这些数据添加更多维度(比如,重要程度)。
例如,在你的生活中,特定问题扮演什么角色?他们的重要程度是多少?为了计算速配指数,计算机必须找到一种方法来比较每个问题的答案,每个问题的理想合作伙伴的答案,以及与别人的答案的重要性水平。
这一方法是使用加权比例尺来衡量每一级别的重要性,如下图所示:
毫不相关: 0分;不那么重要:1分;有点重要:10分;非常重要:50分;必须如此:250分
那么,计算机怎么运算出来速配指数的?
假设你是A,而电脑想要和你配对的人是B。那么整个问题就会变成:
B的答案有多符合你的期待?
答案会是一个分数。分母是你认为所有问题的重要性的总分数。分子是B的答案的总分数。某个人的得分取决于问题的回应是否符合期待。分母的多少则取决于你对问题的重视程度。
对每个问题都这样做,最后分数叠加起来变成百分数。最后一个百分比就是你的满意度——根据你的答案来看,你和B在一起有多开心。然后,再来计算B的满意度。
OKCupid使用的算法是将人A的满意度乘以B的满意度再开根号。最后得出一个数学表达式,也就是你与B在一起的幸福指数。
速配指数背后的算法优化
问题来了, 为什么要用如此复杂算法呢?为什么不直接取平均数?
事实上,这叫做几何平均数。
表示一组数字的中心趋势或典型值的一种均值或平均值。(Rudder, 2013) 我们的数据本身取值范围非常广,属性差异很大。诸如,你的文学品味和你未来的计划,甚至“你是否相信上帝”。几何平均数在这种情况是最理想的解决方案。(最重要的是,即使是一个非常小的数据集,该算法仍然有用)。
边际误差 vs 可能速配度
再加上对边际误差的修正,也就是在调查结果中的随机抽样的统计学误差,使我们的结果更加精确。它总是显示你可能的最低速配度,因为他们希望A和B回答更多的问题,来增加可信度。
例如,如果A和B只回答了两个相同的问题,那么样本量的误差范围是50%。这意味着最高速配度是50%。下面我列出了一张表格,显示两个人必须回答多少问题,才能得到0.01的边际误差,或者具有99.99%的速配度。
速配指数高低有什么影响?
那么两个人的速配指数高低到底有什么用呢?
OkCupid的研究人员对此也很感兴趣。研究发现,速配指数实际上会影响发送消息的可能性,和把发送消息变成彼此聊天回话的概率。
例如,如果一个人被告知他与B只有30%的速配指数,那么有14.2%的机率他会发送消息,大约有10%的机会这条消息会转化为四条或多条消息的对话。然而,如果一个人被告知两人的速配指数是90%,那么发送消息的几率会上升到16.9%,单个消息变成四条或更多的对话的概率是17%。
发送信息的几率 VS 速配指数
形成对话的概率
尽管,人们对将算法引入到恋爱生活中还有很多担忧。比如说,算法过于依赖于用户的回答的诚实度和自我评估。也不是每个人都相信,仅仅通过数学公式就能帮他们找到理想伴侣。
但我相信用数据分析来进行交友的未来是非常广阔和令人兴奋的。如果你现在还没有恋人,非常希望在下一个情人节来临之前找到你的Mr.right or Ms.right,利用数据分析和数学算法应该是会是个不错的开始。
Roses are red
Violets are blue
I wrote this algorithm
Just to find you
参考文献:
1.Match Percentage. (n.d.). Retrieved April 26, 2016, from https://www.okcupid.com/help/match-percentages
2.Rudder, C. (2013, February 13). Inside OKCupid: The math of online dating.
3.Rudder, C. (2014). Dataclysm:Who We Are. New York: Crown Publishers.
4.Matthew Simonson(2016),OKCupid: The Math Behind Online Dating
5.Zoe Kleinman(2015),How to get a date using data this Valentine's Day
#欢迎来留言#
你有过用“程序员式 ” 的方法撩妹吗?
【END】
热 文推 荐
你点的每个“在看”,我都认真当成了喜欢
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 程序员如何提升算法思维?
- 教你学习快速排序算法-程序员必备哦
- 程序员必知必会的十大排序算法
- 程序员笔试面试最爱考察的算法,到底怎么搞定?
- 程序员需要了解的硬核知识之压缩算法
- 深入浅出排序学习:写给程序员的算法系统开发实践
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Learn Python 3 the Hard Way
Zed A. Shaw / Addison / 2017-7-7 / USD 30.74
You Will Learn Python 3! Zed Shaw has perfected the world’s best system for learning Python 3. Follow it and you will succeed—just like the millions of beginners Zed has taught to date! You bring t......一起来看看 《Learn Python 3 the Hard Way》 这本书的介绍吧!