明天又到了一年一度的520面对大街上,朋友圈里情侣们的各色秀恩爱单身程序员又要受到一万点伤害。
难道我注定要要一辈子散发着单身狗的清香
究竟怎么样才能遇箌我未来的另一半呢?
所幸的是在今天这个时代,我们拥有互联网和大数据它们给很多事情提供了便利,我们可以与很多人接触到——甚至是那些在几分钟前你想都不敢想的人
当然,这其中也包括恋爱交友没错,大数据和算法(Algorithm)可以帮你更快地找到理想伴侣
美國交友网站OKCupid的创始人之一克里斯蒂安·鲁德尔(Christian Rudder)研究出了一种算法将两个人联系在一起,并基于一系列问题来检验他们的速配指数他们的***越匹配,他们的速配指数越高
以下是他在TED-ed上的分享内容:
本次分享主要讲解了数据收集、吸引力量化、算法设计等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%下面我列出了一张表格,显示两個人必须回答多少问题才能得到/help/match-percentages
你有过用“程序员式”的方法撩妹吗?
别惊讶!人工智能时代即将到来!
你点的每个“在看”我都认嫃当成了喜欢