程序员 520 表白:我写算法只为找到你!

栏目: IT资讯 · 发布时间: 4年前

内容简介:美国交友网站OKCupid的创始人之一克里斯蒂安·鲁德尔(Christian Rudder)以下是他在TED-ed上的分享内容:【TED-ed】线上约会背后的数学原理(Inside OKCupid: The math of online dating - Christian Rudder)

程序员 520 表白:我写算法只为找到你!

明天又到了一年一度的520,面对大街上,朋友圈里情侣们的各色秀恩爱,单身 程序员 又要受到一万点伤害。

难道我注定要要一辈子散发着单身狗的清香?

究竟怎么样才能遇到我未来的另一半呢?

所幸的是,在今天这个时代,我们拥有互联网和大数据,它们给很多事情提供了便利,我们可以与很多人接触到——甚至是那些在几分钟前你想都不敢想的人。

当然,这其中也包括恋爱交友。没错,大数据和算法(Algorithm)可以帮你更快地找到理想伴侣。

程序员 520 表白:我写算法只为找到你!

本文经授权转载自DataGirls(ID:DataGirls)

美国交友网站OKCupid的创始人之一克里斯蒂安·鲁德尔(Christian Rudder) 研究出了一种算法将两个人联系在一起,并基于一系列问题来检验他们的速配指数。 他们的答案越匹配,他们的速配指数越高。

以下是他在TED-ed上的分享内容:

【TED-ed】线上约会背后的数学原理(Inside OKCupid: The math of online dating - Christian Rudder)

本次分享主要讲解了数据收集、吸引力量化、算法设计等OKcupid在对线上用户进行速配时使用的数学原理。

程序员 520 表白:我写算法只为找到你!

如何得到你与他/她的速配指数

你可能会问, 我们如何能用数学来运算人与之间的吸引力呢?

首先,需要收集数据。

OKCupid通过让用户回答问题来收集数据。这些问题可以从像电影或歌曲品味,“你很邋遢吗”这样的小问题,或者“你想要什么样的孩子”一类的大问题。

程序员 520 表白:我写算法只为找到你!

很多人认为这些问题就是根据两个人喜好相互配对,人们有截然不同的回答时确实是这样。 当两个人在回答问题上有分歧时,最好的方法就是收集数据,将答案与理想伴侣的答案进行比较,并为这些数据添加更多维度(比如,重要程度)。

例如,在你的生活中,特定问题扮演什么角色?他们的重要程度是多少?为了计算速配指数,计算机必须找到一种方法来比较每个问题的答案,每个问题的理想合作伙伴的答案,以及与别人的答案的重要性水平。

程序员 520 表白:我写算法只为找到你!

这一方法是使用加权比例尺来衡量每一级别的重要性,如下图所示:

毫不相关: 0分;不那么重要:1分;有点重要:10分;非常重要:50分;必须如此:250分

程序员 520 表白:我写算法只为找到你!

那么,计算机怎么运算出来速配指数的?

假设你是A,而电脑想要和你配对的人是B。那么整个问题就会变成:

B的答案有多符合你的期待?

答案会是一个分数。分母是你认为所有问题的重要性的总分数。分子是B的答案的总分数。某个人的得分取决于问题的回应是否符合期待。分母的多少则取决于你对问题的重视程度。

对每个问题都这样做,最后分数叠加起来变成百分数。最后一个百分比就是你的满意度——根据你的答案来看,你和B在一起有多开心。然后,再来计算B的满意度。

程序员 520 表白:我写算法只为找到你!

OKCupid使用的算法是将人A的满意度乘以B的满意度再开根号。最后得出一个数学表达式,也就是你与B在一起的幸福指数。

程序员 520 表白:我写算法只为找到你!

速配指数背后的算法优化

问题来了, 为什么要用如此复杂算法呢?为什么不直接取平均数?

事实上,这叫做几何平均数。

表示一组数字的中心趋势或典型值的一种均值或平均值。(Rudder, 2013) 我们的数据本身取值范围非常广,属性差异很大。诸如,你的文学品味和你未来的计划,甚至“你是否相信上帝”。几何平均数在这种情况是最理想的解决方案。(最重要的是,即使是一个非常小的数据集,该算法仍然有用)。

程序员 520 表白:我写算法只为找到你!

边际误差 vs 可能速配度

再加上对边际误差的修正,也就是在调查结果中的随机抽样的统计学误差,使我们的结果更加精确。它总是显示你可能的最低速配度,因为他们希望A和B回答更多的问题,来增加可信度。

例如,如果A和B只回答了两个相同的问题,那么样本量的误差范围是50%。这意味着最高速配度是50%。下面我列出了一张表格,显示两个人必须回答多少问题,才能得到0.01的边际误差,或者具有99.99%的速配度。

程序员 520 表白:我写算法只为找到你!

速配指数高低有什么影响?

那么两个人的速配指数高低到底有什么用呢?

OkCupid的研究人员对此也很感兴趣。研究发现,速配指数实际上会影响发送消息的可能性,和把发送消息变成彼此聊天回话的概率。

例如,如果一个人被告知他与B只有30%的速配指数,那么有14.2%的机率他会发送消息,大约有10%的机会这条消息会转化为四条或多条消息的对话。然而,如果一个人被告知两人的速配指数是90%,那么发送消息的几率会上升到16.9%,单个消息变成四条或更多的对话的概率是17%。

程序员 520 表白:我写算法只为找到你!

发送信息的几率 VS 速配指数

程序员 520 表白:我写算法只为找到你!

形成对话的概率

尽管,人们对将算法引入到恋爱生活中还有很多担忧。比如说,算法过于依赖于用户的回答的诚实度和自我评估。也不是每个人都相信,仅仅通过数学公式就能帮他们找到理想伴侣。

但我相信用数据分析来进行交友的未来是非常广阔和令人兴奋的。如果你现在还没有恋人,非常希望在下一个情人节来临之前找到你的Mr.right or Ms.right,利用数据分析和数学算法应该是会是个不错的开始。

Roses are red

Violets are blue

I wrote this algorithm

Just to find you

程序员 520 表白:我写算法只为找到你!

参考文献:

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】

程序员 520 表白:我写算法只为找到你!

 热 文推 荐 

☞  Java 更具争议的 PHP,处处留坑?

微软将取缔 8 亿 Windows 10 用户的密码!

☞  To B 赛道上,“飞奔的大象”阿里会赢 吗?

厉害!女学生偷师男子学校,变身区块链开发工程师

“我月入 3 万,每天都只想跳槽”

深扒! 币安被盗的7074.18枚比特币去哪了?

如何使用「番茄法」高效的写算法题?

面对互联网一线大厂,这些技术你需要了解!

刺激!华为程序员年薪200万 ?真相让人心酸!

你点的每个“在看”,我都认真当成了喜欢


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

C语言基础

C语言基础

安博教育集团 / 2012-2 / 37.00元

《C语言基础》深入浅出地介绍了C语言程序设计的基础知识,内容涉及C语言基础、算法基础、变量、数据类型、运算符、输入/输出相关函数、选择结构、循环结构、各种表达式、数组、字符串、指针、函数、结构体、ISO C99的扩展语法等。全书内容丰富,结构严谨,层次清晰,语言生动,论述精准而深刻,实例丰富而实用。 《C语言基础》不仅适合用做计算机职业培训的首选教材,也可作为普通高校教材使用,更是C语言初学......一起来看看 《C语言基础》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器