登陆后访问



H
I
S
T
O
R
Y

【在线交友背后的数学原理】- 有点意思的数学 09

欣赏由【遇见数学】制作TED-Ed带字幕视频,或者看下面【遇见数学】编写的文字版。 

 

视频1
一、交友网站的背后是算法帝国
大家好,我叫Christian Rudder,我是OKCupid网站的创办人之一。这个网站现在已经是全美最大的交友网站。

图1
就像这网站上大多数其他人一样,我是学数学的,正如你想象的那样,我们擅于分析。我们把这方法也应用在爱情上。我们把它叫做“配对算法”。

图2
基本上OK Cupid的配对算法帮助我们决定两个人是否应该约会。我们的整个业务都是基于这一点。
“算法”这个词说起来专业而高级,大家喜欢把它想成很大的一件事,但其实,算法只不过是一个系统的,一步一步的解决问题的方法。根本没有那么复杂。

图3
现在,我将为大家解释我们怎样得出这一个特殊的算法。你会在这看到它是怎样成形的。
为什么算法如此重要?为什么我们要有这堂课?请注意我刚才提到的一个很重要的词:它们是一种“逐步”解决问题的方法,你或许也知道,电脑擅长于一步一步的运算过程。没有算法的电脑,基本上只是一个昂贵的镇纸。
二、简单原理
既然电脑已经普及到我们的日常生活,算法是无处不在。OK Cupid配对算法背后的数学逻辑是非常简单的。就是一些加法,乘法,再来一点平方根。

图4
不过,设计这套算法的关键部分,在于要找出那些神秘的人与人之间的相互吸引力,并把它设计成电脑可以计算的步骤,我们要做的第一件事就把人和数据关联起来,这样算法才能生效。
要最快的从人们那里得到数据,最好就是直接询问他们。我们决定OK Cupid应该向用户问问题,比如说:
1“你会想要小孩吗?”;
2“你多久刷一次牙?”;
3“你喜欢看恐怖电影么?”;
4也有严肃些的问题,比如:“你相信上帝么?”。

图5
目前有很多问题在进行同类型配对上都很合适,就是当双方的答案相同时。比如,两个人都喜欢看恐怖电影可能配对得更成功。而一个人喜欢,另外一个人不喜欢的情况下,适配度就差点。

图6
但如果碰到下面的问题:“你喜欢成为关注的中心么?”如果交往中的双方都回答是,那他们可有大问题了。

图7
我们很早就意识到了这一点,所以我们觉得需要在每个问题再收集多一些数据。我们不仅要人们回答自己的看法,也要他们回答所期待未来意中人如何回答。

图8
这方法很有效,不过我们还要再多加一个维度。有些问题能表达人们的与众不同之处。比如,关于政治的问题,“焚烧书籍或者国旗,哪个更糟糕 ?”这能展露人们电影口味之外的东西。
同时,并不是所有问题都同等重要的,所以我们最后增加了一点判别数据权重的维度。任何OK Cupid的问题,你都可以告诉我们这问题对你的重要性,它的程度从“无关”到“必要”。

图9
现在,每一个问题,我们有三个资讯提供给算法:
1你的答案;
2你希望别人怎么回答;也就是你潜在的意中人的答案;
3这个问题对你有多重要?

图10
有了这些信息,OK Cupid可以知道两个人相处和谐程度如何。算法吃进数字,吐出打分后的结果。
三、举例说明
实际举例来说吧,看我们怎样把你和另外一个人进行配对,暂且称他为"B"。你和B的适配度是基于你们双方都进行过回答的问题。姑且把这些共同问题称之为"s"。
简单举例,我们用小样本的"s",只需两个共同回答过的问题电脑会根据它算出适配度。
这里是我们的两道简单问题:
第一个是,“你有多杂乱无章?”。可供选择的答案选项有非常杂乱无章,一般,和非常有条理。

图11
我们假设你回答的是“非常有条理”,你期待别人的回答是“非常有条理”,并且对你来说,这个问题非常重要。
从你的回答可以认为,基本上你就是个井井有条的有点洁癖的人。所以你也希望对方同样如此,就这样简单。
我们假设B有些不同。他的回答是自己非常有条理,但是他也接受意中人回答“一般”,并且这个问题于他而言不太重要。

图12
好,现在我们再看第二个问题,就是我们最开始举例的:“你喜欢成为关注的中心么?”
答题项只有“是”或者“否”。现在你的回答是“否”,你希望别人怎样回答这栏答的是“否”,这个问题对于你而言,显得不太重要。而B呢,他自己的回答是“是”,他希望别人回答“否”,因为他希望所有焦点都在他身上,而这个问题对他还算重要。

图13
四、计算匹配度
现在,我们让电脑来处理一切。我们的第一步是,既然我们要用电脑来处理它,我们就需要给一些数值来定义比如“还算重要”和“非常重要”,因为电脑需要把所有资料都转化成数字。
在OK Cupid上我们按如下级别:
1“无所谓”是0;
2“不太重要”的值是1;
3“还算重要”的值是10;
4“非常重要”的值是50;
5“绝对必要”的值是250。

图14
接下来,算法要做两个简单的计算。第一个是你对B的回答给多少分,另外一个是,你给对方答题的满分是多少?
你可以指定B的答案在第一个有关条理性的问题上,对你是非常重要。它值50分,B答对了。

图15
第二个问题只有1分,因为你说这问题对你不太重要,B 答错了。所以B的回答在51分满分里拿到了50分。适配满意度是98%。非常好。

图16
算法的第二个问题是看B对你的满意程度。B给对于你有关条理性的回答给1分,对于第二个问题的答案给10分。满分11分,就是1+10。你得到了10分。

图17
在第二个问题上,你俩彼此都满意。你的回答在B的满意度分数是10/11,百分比是91%。还不错。

图18
最后一步是把两个适配度百分比放在一起,为你们俩个人打一个分数。为得到这点,算法把你们两人的得分相乘,然后开n次方根,n就是问题的数目。

图19
因为"s"——也就是问题的数目,在这个例子里,只是"2",我们得到的适配度百分比等于98%乘以91%再开平方根。结果等于94%。

图20
94%就是你和B之间的适配度百分比。这是通过数学方法来表达——你们彼此之间相处的愉快程度是怎样。
基于我们所知道的信息。为什么算法要相乘,而不是除?比如,把两个分数求平均值以后再开平方根?总的来说,这个公式叫几何平均数,它很适合处理差异很大的数据,以及代表不同属性的数据。

图21
换句话说,它能完美的计算出浪漫爱情适配度。你有大范围的,数不清的数据值,就像刚说过的,有关电影的,有关政治的,有关宗教的,有关所有的一切。
凭直觉讲,以下情况很有道理。两个人彼此的满意度是50%,会好过那些两个人彼此满意度是0或者100的。因为爱慕应该是互相的。

图22
在增加了对误差幅度的小修改后——这种情况在问题量很小的时候会出现,就像我们刚举的运算实例一样——这套算法就可以运作了。
任何时候当OK Cupid将两个人配对时,它按照我们刚介绍的步骤来運作,首先它收集你的答题的数据,然后它比较你的选项和你期待的对方选项,以简单的,数学的方法来进行。

图23
这种能将现实世界的现象,转化为电脑芯片能读取的数据的能力,我认为,是现代最重要的一种技术。就像你用话语来给一个人讲故事,你是用算法来跟电脑讲故事。如果你学会了这种语言,你就可以去讲故事了。我希望我刚才的介绍能帮助你做到这点。
根据有关TED Ed视频:Inside OKCupid - The math of online dating - Christian Rudder编写。完整视频与字幕,微信后台回复关键字[TED]得到国内云盘下载地址。更多TED Ed视频见下图或未来继续推出的文章。

图24

 

声明:文章转自【遇见数学】微信公众号,版权归原作者所有,转载仅供学习使用,不用于任何商业用途,如有侵权请联系删除,谢谢。

相关文章

奇妙的数字:巧合数

Posted by - November 10, 2017 1764
世界上,无时无刻不在发生着一些看似偶然的巧合,有让人遗憾的,也有让人庆幸的,在数学上,也有很多的巧合。

数学之美|填色游戏

Posted by - November 09, 2017 2060
人们提起数学之“美”时常意指其抽象涵义,罗素称之为“朴素冷峻之美……庄严纯净,能够达到严格的完美”。然而,人类也一向从数学中发现审美上的...