Return to Video

探秘OKCupid: 网络交友中的数学 -- Christian Rudder

  • 0:18 - 0:19
    大家好,我叫 Christian Rudder,
  • 0:19 - 0:22
    我是 OKCupid 网站的创办人之一。
  • 0:22 - 0:25
    这个网站现在已经是
    全美最大的交友网站。
  • 0:25 - 0:26
    就象这网站上大多数其他人一样,
  • 0:26 - 0:27
    我是学数学的,
    正如你所期待的那样,
  • 0:27 - 0:29
    我们擅于分析。
  • 0:29 - 0:30
    我们把这方法也应用在爱情上。
  • 0:30 - 0:32
    我们把它叫做“配对算法”。
  • 0:32 - 0:33
    基本上 OK Cupid 的配对算法
  • 0:33 - 0:36
    帮助我们决定
    两个人是否应该约会。
  • 0:36 - 0:39
    我们的整个业务都是基于这一点。
  • 0:39 - 0:41
    “算法”这个词说起来专业而高级,
  • 0:41 - 0:43
    大家喜欢把它想成很大的一件事,
  • 0:43 - 0:45
    但其实,算法只不过是一个系统的,
  • 0:45 - 0:48
    一步一步的解决问题的方法。
  • 0:48 - 0:50
    根本没有那么复杂。
  • 0:50 - 0:52
    现在,我将为大家解释
  • 0:52 - 0:54
    我们怎样得出这一个特殊的算法。
  • 0:54 - 0:56
    你会在这看到它是怎样成形的。
  • 0:56 - 0:58
    为什么算法如此重要?
  • 0:58 - 0:59
    为什么我们要有这堂课?
  • 0:59 - 1:02
    请注意我刚才提到的一个很重要的词:
  • 1:02 - 1:05
    它们是一种"逐步"解决问题的方法,
  • 1:05 - 1:06
    你或许也知道,
  • 1:06 - 1:08
    电脑擅长于一步一步的运算过程。
  • 1:08 - 1:10
    没有算法的电脑,
  • 1:10 - 1:13
    基本上只是一个昂贵的镇纸。
  • 1:13 - 1:15
    既然电脑已经普及到我们的日常生活,
  • 1:15 - 1:17
    算法是无处不在。
  • 1:19 - 1:20
    OK Cupid 配对算法背后的数学逻辑
  • 1:20 - 1:22
    是非常简单的。
  • 1:22 - 1:23
    就是一些加法,
  • 1:23 - 1:24
    乘法,
  • 1:24 - 1:25
    再来一点平方根。
  • 1:25 - 1:28
    不过,设计这套算法的关键部分,
  • 1:28 - 1:30
    在于要找出那些神秘的
  • 1:30 - 1:31
    人与人之间的相互吸引力,
  • 1:31 - 1:34
    并把它解构成电脑可以工作的部分,
  • 1:34 - 1:36
    我们要做的第一件事
    就把人和数据关联起来,
  • 1:36 - 1:38
    这样算法才能生效。
  • 1:38 - 1:40
    要最快的从人们那里得到数据,
  • 1:40 - 1:42
    最好就是直接询问他们。
  • 1:42 - 1:44
    我们决定 OK Cupid
    应该向用户问问题,
  • 1:44 - 1:47
    比如说:“你会想要小孩吗?”,
  • 1:47 - 1:49
    “你多久刷一次牙?“,
  • 1:49 - 1:50
    ”你喜欢看恐怖电影么?”。
  • 1:50 - 1:54
    也有严肃些的问题,
    比如:“你相信上帝么?”。
  • 1:54 - 1:55
    目前有很多问题
  • 1:55 - 1:56
    在进行同类型配对上都很合适,
  • 1:56 - 1:59
    就是当双方的答案相同时。
  • 1:59 - 2:01
    比如,两个人都喜欢看恐怖电影
  • 2:01 - 2:03
    可能配对得更成功。
  • 2:03 - 2:04
    而一个人喜欢,
  • 2:04 - 2:05
    另外一个人不喜欢的情况下,
    适配度就差点。
  • 2:05 - 2:06
    但如果碰到下面的问题 :
  • 2:06 - 2:08
    “你喜欢成为关注的中心么?”
  • 2:08 - 2:11
    如果交往中的双方都回答是,
  • 2:11 - 2:13
    那他们可有大问题了。
  • 2:13 - 2:14
    我们很早就意识到了这一点,
  • 2:14 - 2:16
    所以我们觉得需要
  • 2:16 - 2:18
    在每个问题再收集多一些数据。
  • 2:18 - 2:20
    我们不仅要人们回答自己的看法,
  • 2:20 - 2:23
    也要他们回答
    他们期待对方如何回答。
  • 2:23 - 2:24
    这方法很有效,
  • 2:24 - 2:26
    不过我们还要再多加一个维度。
  • 2:26 - 2:29
    有些问题能表达人们的与众不同之处。
  • 2:29 - 2:32
    比如,关于政治的问题,
  • 2:32 - 2:35
    “ 焚烧书籍或者国旗,
    哪个更糟糕 ?”
  • 2:35 - 2:37
    这能展露人们电影口味之外的东西
  • 2:37 - 2:39
    同时,并不是所有问题都同等重要的,
  • 2:39 - 2:42
    所以我们最后增加了一个数据点。
  • 2:42 - 2:43
    任何 OK Cupid 的问题,
  • 2:43 - 2:45
    你都可以告诉我们
  • 2:45 - 2:46
    这问题对你的重要性,
  • 2:46 - 2:49
    它的程度从“无关”到“必要”。
  • 2:49 - 2:51
    现在,每一个问题,
  • 2:51 - 2:53
    我们有三个资讯提供给算法:
  • 2:53 - 2:54
    第一,你的答案;
  • 2:54 - 2:56
    第二,你希望别人怎么回答;
  • 2:56 - 2:57
    也就是你潜在的对象,
  • 2:57 - 2:59
    的答案;
  • 2:59 - 3:02
    第三,这个问题对你有多重要?
  • 3:02 - 3:04
    有了这些信息,
  • 3:04 - 3:07
    OK Cupid 可以知道
    两个人相处和谐程度如何。
  • 3:07 - 3:09
    算法吃进数字,吐出答案。
  • 3:09 - 3:11
    实际举例来说吧,
  • 3:11 - 3:14
    看我们怎样把你和另外一个人进行配对,
  • 3:14 - 3:16
    暂且称他为 “B”。
  • 3:16 - 3:17
    你和 B 的适配度是基于
  • 3:17 - 3:19
    你们双方都进行过回答的问题。
  • 3:19 - 3:22
    姑且把这些共同问题称之为 “s”。
  • 3:22 - 3:25
    简单举例,我们用小样本的 “s”,
  • 3:25 - 3:26
    只需两个共同回答过的问题
  • 3:26 - 3:28
    电脑会根据它算出适配度。
  • 3:28 - 3:30
    这里是我们的两道简单问题:
  • 3:30 - 3:32
    第一个是,“你有多杂乱无章?”
  • 3:32 - 3:35
    可供选择的答案选项有
  • 3:35 - 3:36
    非常杂乱无章,
  • 3:36 - 3:36
    一般,
  • 3:36 - 3:38
    和非常有条理。
  • 3:38 - 3:40
    我们假设你回答的是“非常有条理”,
  • 3:40 - 3:43
    你期待别人的回答是“非常有条理”,
  • 3:43 - 3:45
    并且对你来说,这个问题非常重要。
  • 3:45 - 3:46
    基本上你就是个井井有条的怪胎。
  • 3:46 - 3:47
    你是整洁有条理的人,
  • 3:47 - 3:48
    你也希望对方同样如此,
  • 3:48 - 3:49
    就这样。
  • 3:49 - 3:51
    我们假设 B 有些不同。
  • 3:51 - 3:54
    他的回答是自己非常有条理,
  • 3:54 - 3:55
    但是他也接受“一般”,
  • 3:55 - 3:57
    如果别人是这样回答的话,
  • 3:57 - 3:59
    这个问题于他而言不太重要。
  • 3:59 - 4:00
    我们看第二个问题,
  • 4:00 - 4:02
    就是我们最开始举例的:
  • 4:02 - 4:04
    “你喜欢成为关注的中心么?”
  • 4:04 - 4:05
    答题项只有“是”或者“否”。
  • 4:05 - 4:06
    现在你的回答是“否”,
  • 4:06 - 4:08
    你希望别人怎样回答这栏答的是“否”
  • 4:08 - 4:11
    这个问题对于你不太重要。
  • 4:11 - 4:12
    而B呢,他自己的回答是“是”,
  • 4:12 - 4:14
    他希望别人回答“否”,
  • 4:14 - 4:16
    因为他希望所有焦点都在他身上,
  • 4:16 - 4:19
    而这个问题对他还算重要。
  • 4:19 - 4:22
    现在,我们让电脑来处理一切。
  • 4:22 - 4:23
    我们的第一步是,
  • 4:23 - 4:24
    既然我们要用电脑来处理它,
  • 4:24 - 4:26
    我们就需要给一些数值
  • 4:26 - 4:29
    来定义比如“还算重要”和“非常重要”,
  • 4:29 - 4:31
    因为电脑需要把所有资料都转化成数字。
  • 4:31 - 4:34
    在 OK Cupid 上我们按如下级别:
  • 4:34 - 4:36
    “无关”是 0,
  • 4:36 - 4:38
    “不太重要”的值是1,
  • 4:38 - 4:40
    “还算重要”的值是 10,
  • 4:40 - 4:42
    “非常重要”的值是 50,
  • 4:42 - 4:46
    “绝对必要”的值是 250.
  • 4:46 - 4:49
    接下来,算法要做两个简单的计算。
  • 4:49 - 4:52
    第一个是你对B的回答给多少分,
  • 4:52 - 4:56
    另外一个是,你给对方答题的满分是多少?
  • 4:56 - 4:58
    你可以指定 B 的答案
  • 4:58 - 5:00
    在第一个有关条理性的问题上,
  • 5:00 - 5:01
    对你是非常重要。
  • 5:01 - 5:04
    它值50分,B 答对了。
  • 5:04 - 5:06
    第二个问题只有1分,
  • 5:06 - 5:08
    因为你说这问题对你不太重要,
  • 5:08 - 5:09
    B 答错了。
  • 5:09 - 5:12
    所以B的回答在51分满分里拿到了50分。
  • 5:12 - 5:14
    适配满意度是 98%。
  • 5:14 - 5:15
    非常好。
  • 5:15 - 5:17
    算法的第二个问题是看
  • 5:17 - 5:19
    B 对你的满意程度。
  • 5:19 - 5:21
    B给对于你有关条理性的回答
  • 5:21 - 5:22
    给1分,
  • 5:22 - 5:25
    对于第二个问题的答案给10分。
  • 5:25 - 5:27
    满分11分,就是1+10.
  • 5:27 - 5:28
    你得到了10分,
  • 5:28 - 5:31
    在第二个问题上,你俩彼此都满意。
  • 5:31 - 5:33
    你的回答在B的满意度分数是10/11,
  • 5:33 - 5:35
    百分比是91%。
  • 5:35 - 5:36
    还不错。
  • 5:36 - 5:38
    最后一步是把两个适配度百分比放在一起,
  • 5:38 - 5:40
    为你们两打一个分数。
  • 5:40 - 5:43
    为得到这点,
    算法把你们两人的得分相乘,
  • 5:43 - 5:44
    然后开n次方根,
  • 5:44 - 5:47
    n 就是问题的数目。
  • 5:47 - 5:49
    因为“s”-- 也就是问题的数目,
  • 5:49 - 5:52
    在这个例子里,只是“2”,
  • 5:52 - 5:54
    我们得到的适配度百分比等于
  • 5:54 - 5:58
    98% 乘以 91% 再开平方根。
  • 5:58 - 6:00
    结果等于94%。
  • 6:00 - 6:03
    94%就是你和 B 之间的适配度百分比。
  • 6:03 - 6:05
    这是通过数学方法来表达--
  • 6:05 - 6:06
    你们彼此之间相处的愉快程度是怎样。
  • 6:06 - 6:08
    基于我们所知道的信息。
  • 6:08 - 6:10
    为什么算法要相乘,而不是除?
  • 6:10 - 6:12
    比如,把两个分数求平均值以后
  • 6:12 - 6:15
    再开平方根?
  • 6:15 - 6:16
    总的来说,这个公式叫几何平均数,
  • 6:16 - 6:18
    它很适合处理
  • 6:18 - 6:19
    差异很大的数据,
  • 6:19 - 6:21
    以及代表不同属性的数据。
  • 6:21 - 6:23
    换句话说,它能完美的
    计算出浪漫爱情适配度。
  • 6:23 - 6:24
    你有大范围的,
  • 6:24 - 6:26
    数不清的数据值,
  • 6:26 - 6:27
    就像刚说过的,有关电影的,
  • 6:27 - 6:28
    有关政治的,
  • 6:28 - 6:29
    有关宗教的,
  • 6:29 - 6:30
    有关所有的一切。
  • 6:30 - 6:32
    凭直觉讲,以下情况很有道理。
  • 6:32 - 6:35
    两个人彼此的满意度是50%,
  • 6:35 - 6:36
    会好过
  • 6:36 - 6:39
    那些两个人彼此满意度是0或者100的。
  • 6:39 - 6:41
    因为爱慕应该是互相的。
  • 6:41 - 6:43
    在增加了对误差幅度的小修改后 --
  • 6:43 - 6:46
    这种情况在问题量很小的时候会出现,
  • 6:46 - 6:47
    就像我们刚举的运算实例一样--
  • 6:47 - 6:49
    这套算法就可以运作了。
  • 6:49 - 6:50
    任何时候当 OK Cupid 将两个人配对时,
  • 6:50 - 6:52
    它按照我们刚介绍的步骤来運作,
  • 6:52 - 6:54
    首先它收集你的答题的数据,
  • 6:54 - 6:57
    然后它比较你的选项和
    你期待的对方选项,
  • 6:57 - 7:00
    以简单的,数学的方法来进行。
  • 7:00 - 7:02
    这种能将现实世界的现象,
  • 7:02 - 7:05
    转化为电脑芯片能读取的数据的能力,
  • 7:05 - 7:06
    我认为,
  • 7:06 - 7:09
    是现代最重要的一种技术。
  • 7:09 - 7:11
    就像你用话语来给一个人讲故事,
  • 7:11 - 7:14
    你是用算法来跟电脑讲故事。
  • 7:14 - 7:15
    如果你学会了这种语言,
  • 7:15 - 7:16
    你就可以去讲故事了。
  • 7:16 - 7:20
    我希望我刚才的介绍能帮助你做到这点。
Title:
探秘OKCupid: 网络交友中的数学 -- Christian Rudder
Speaker:
Christian Rudder
Description:

完整课程请见:http://ed.ted.com/lessons/inside-okcupid-the-math-of-online-dating-christian-rudder

当两个人加入交友网站,根据共同兴趣,回答一系列个人问题的,系统便会将他们自动配对。但这个网站怎样能计算出一段缘分成功牵手的几率呢?Christian Rudder,这位热门交友网站 OKCupid 的创始人之一,将向我们详细讲述"投缘"背后的算法。

more » « less
Video Language:
English
Team:
closed TED
Project:
TED-Ed
Duration:
07:31

Chinese, Simplified subtitles

Revisions