前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >单身数学家如何通过大数据找到真爱

单身数学家如何通过大数据找到真爱

作者头像
灯塔大数据
发布2018-04-09 15:00:48
7960
发布2018-04-09 15:00:48
举报
文章被收录于专栏:灯塔大数据灯塔大数据

男主角麦金利

晨三点,在加州大学洛杉矶分校(UCLA)数学系大楼五楼的一个拥挤小隔间里,克里斯·麦金利(Chris McKinlay)正在为他的博士论文《大规模数据处理和并行数值方法》跑程序。计算机发出嘎嚓声,是交友网站OkCupid收件箱。

OkCupid号称可以用算法找到跟你匹配的约会对象。约有4000万美国人使用Match.com、J-Date和e-Harmony等交友网站寻找浪漫恋情,35岁的麦金利就是其中之一。他身材瘦高,头发凌乱,自从九个月前跟前女友分手之后,他就一直都在寻找新恋情,但迄今为止都是徒劳无果。

一天清晨,麦金利突然意识到一件事:他应该像一个真正的数学专家那样去寻找约会对象。

OkCupid的运作方式

OkCupid是哈佛大学数学专业的学生在2004年创建的,它最初吸引用户的地方是可以使用算法来匹配会员。会员需要做大量的多项选择题,这些问题涵盖了包括政治、宗教、家庭、爱、性、智能手机在内的方方面面,总共有数千个之多。

平均而言,一个用户会挑选其中350个问题来回答。此外用户还可以指定回答人以及回答方式,并对问题重要性进行打分。

OkCupid的匹配引擎会使用这些数据来计算两个人的匹配度,百分比越接近100%就越匹配,100%是灵魂伴侣。

麦金利的问题

麦金利跟洛杉矶女性的匹配度糟糕透顶。

麦金利在选择回答哪些问题时比较随性,他选择回答的这些问题很多人都不会选。

洛杉矶大约拥有200万女性,其中约有8万人使用OkCupid交友服务。但是麦金利的匹配列表,只有不到100名女性跟他的匹配度达到90 %以上。

麦金利意识到,他必须增加跟他匹配的女性人数。如果可以用统计抽样来确定哪些问题对他喜欢的那类女性重要,他就可以有针对性地修改自己的个人账户资料,回答问题。

为爱再造传奇

麦金利的经历有些不同寻常。

他在波士顿市郊长大,2001年从明德学院毕业,获得了中文学位。当年八月,他在纽约世贸中心兼职做翻译。五周后9.11事件发生了,幸而麦金利那个时候不当班,正在家睡觉。

“自那之后,我问自己,我真正想做的事情是什么。”他说。随后他进入著名的“麻省理工21点小组”,在接下来的几年中,他在纽约和拉斯维加斯之间飞来飞去,靠算牌赚到了6万美元的年收入。

(“麻省理工21点小组”由麻省理工学院和哈佛学生于1979年组建,曾多次打败拉斯维加斯和大西洋城的众多赌场。Blackjack又称21点,是各地赌场最热门的牌桌项目之一。这在很大程度是因为21点并不完全是碰运气,而要求玩家拥有对数字的敏锐反应、娴熟的算牌技术和沉着冷静的心理。)

这段经历激发了他对应用数学的兴趣,他开始攻读数学硕士学位,然后又继续读博。现在,他要为了爱情做同样的事情。

搜集数据

首先,麦金利需要数据。

访问网页:他设置了12个OkCupid假账户,并编写了一个Python脚本来管理它们。这个脚本会搜索麦金利的目标人群(25至45岁之间的异性恋和双性恋女性),访问她们的网页,并在她们的个人资料里搜集所有可用信息:种族、身高、是否吸烟、星座……所有一切。

获取问卷:在OkCupid上,只有当你自己回答过某个问题时,你才可以看到别人对这个问题的回答。于是麦金利编写了bot机器人来随机回答每一个问题,然后把目标人群的回答搜集到自己数据库中。

但是,在搜集了约1000份个人资料之后,他遇到了第一个障碍。 OkCupid系统防止这种数据收集活动,麦金利的机器人一个接一个地被禁了。

克服障碍

他必须训练这些机器人,让它们的活动显得有人味。

麦金利找到了他的朋友山姆·托里西(Sam Torrisi)。托里西是个神经学家,他也是OkCupid的用户,他同意让麦金利在自己的计算机上安装间谍软件,跟踪自己使用这个网站的方式。有了这种数据,麦金利就可以模仿托里西的点击和打字速度给机器人编程了。

麦金利从家里搬来了第二台计算机,把它接到数学系的宽带上,让机器人每天24小时不间断地运行。三周后他就从全美各地2万名女性用户那里搜集了600万条问题和回答。(此处省略单身汉工作一万件...)

用户分类

麦金利的计划要想奏效,就必须根据数据的相似性,把女性分为大致几个类型。

贝尔实验室(Bell Labs)有个名叫K-Modes的算法,最早是在1998年投入使用,用来分析病变的大豆作物,它可以把具有相似性的数据凝结在一起。麦金利对它做了一些微调,然后他用这个修改后的算法来处理搜集到的问卷数据。

他发现了一个点,可以根据2万名女性的问题和答案,把她们分成七个在统计学上具有明显区别的类型。

他给机器人重新分派了任务,以便搜集另一个样本: 5000名在过去一个月内登陆过OkCupid的洛杉矶和旧金山女性。然后他再用修改过的 K-Modes算法处理她们的问卷数据。结果这些女性用户也以同样的方式被划分成七个类型,证实他的统计抽样方法确实有效。

目标锁定

在这一步,麦金利的任务是选择最适合自己的类型。

他从每个类型中抽取了一些个人资料来查看。排除掉太年轻、太年长、基督教徒等类型,有一个类型让他很感兴趣:她们大多二十多岁,看上去特立独行,参与音乐和艺术活动。麦金利希望在这个类型中大海捞针,找到他的真爱。

实际上,还有一个类型看起来也很酷——年龄稍大的女性,是创造性工作专业人士,比如编辑、设计师。他决定两个类型都试试。于是他创建了两份个人资料,分别为两个类型做了优化。

他对这两个类型女用户的文字信息进行了挖掘,以便了解她们对什么东西感兴趣。他发现教学是一个热门话题,于是他写了一篇自我介绍,强调自己是一名数学老师。

精准营销

但是,最重要的是问卷问题。

他挑选出在这两种类型中最流行的500个问题,诚实地填写了答案,计算机则会算出应该如何给每个问题的重要性打分。他使用一种名为“自适应提升”(adaptive boosting)的机器学习算法来计算最佳分数。

就这样,他创建了两份个人资料。一份上传了他攀岩的照片,另一份上传了他在一次演出中弹吉他的照片。

“不管未来的计划如何,眼下更吸引你的是什么?是性还是爱情?”这是500个流行问题中的一个。回答当然应该是“爱情”。但他按照“自适应提升”的结果,对于较为年轻的A组,给该问题打分为“非常重要”,而对于年龄稍大的B组,他则给该问题打了5分,即“必不可少”。

完成问题并打分后,麦金利在OkCupid上进行了搜索,按照跟自己的匹配度来排列洛杉矶女性用户。第一页的女性跟他的匹配度高达99%,而一万名之后的洛杉矶女性跟他有90%以上的匹配度。

私信滚滚来

要引起这些女性的注意,麦金利还需要做另一件事——查看个人资料。

在OkCupid上,每当有人浏览你的个人资料时,你就会收到提醒。所以麦金利写了一个新程序,专门去查看跟他的匹配率最高的女性用户的页面。

这个程序按照年龄顺序进行浏览:周一浏览1000名41岁女性的页面,周二浏览1000名40岁女性的页面,以此类推,一直到两个星期后,浏览1000名27岁女性的页面。在这些用户中,有大约400名女性也反过来查看了麦金利的个人资料。结果私信滚滚而来。

开始约会

数学的部分已经完成,只剩下一件事要做了:去约会。

6月30日,麦金利在加州大学洛杉矶分校的健身房洗了澡,开着他的破旧日产车,去赴第一个约会。希拉(Sheila)是一位网页设计师,来自A组,即较年轻的艺术类型。他们在回音公园的咖啡馆共进午餐。 “这真是可怕,”麦金利说。“直到那一刻之前,这件事几乎都是一个学术活动。”

这次约会结束时,状况已经很明显:两个人不来电。第二天,麦金利继续赶赴第二个约会,这次是一个富有魅力的博客编辑,来自B组。

麦金利本打算跟她沿着回音公园的湖浪漫地散散步,但却发现挖泥船正在湖里疏浚。她爱读普鲁斯特的作品,对自己的生活感到忧伤。“这个比较负能量。”他说。

第三个约会对象也来自B组,名叫艾莉森(Alison)。他们在韩国城的一间酒吧见了面。她是一个学编剧的学生,肩膀上有斐波那契螺旋的纹身。麦金利喝韩国啤酒喝醉了,第二天在小隔间醒来的时候,经历了痛苦的宿醉。他在OkCupid上给艾莉森发了一条私信,但她没有回。

成为游戏中的强者

被拒绝的感觉不好受,但麦金利仍然每天都能收到20条私信。有了计算机算法的支持,他在约会游戏中占据了主动地位。

还记得当初,麦金利主动给别人发私信的时候,每发3到5条私信才会获得一个约会机会。但现在,他可以选择只回应那些具有幽默感,或个人简介很有意思的女性。而且,他只需要简单地答复“你看起来真的很酷。想见面吗?”基本上就能搞定一个约会。

在去赴第20个约会时,他注意到了新的规律:比较年轻的A组女性总是有两个或两个以上的纹身,并且住在洛杉矶的东部。在B组,养有中型犬的女性人数格外多。

最初几次约会时,他还精心做了准备。但是,随着次数的增加,他把约会形式改成了休闲式的午餐小聚或是喝咖啡,而且常常一天赶赴两场约会。

提高效率

针对这场马拉松式的恋情搜寻行动,麦金利还为制定了一套个人规则。比如不喝酒;时间到了就结束;不去听音乐会或看电影。“把注意完全放在对方身上。”他说。“否则效率很低。”

在第一个月,他同时约会A组和B组女性。一个月后,他不想再约会有纹身、住在洛杉矶东部的女性了,因为不想花太多时间在路上。于是他删除了面向A组的个人资料。

这下子他的效率提高了,但结果还是一样。夏季即将结束,他赴约的次数超过了55次。每一次约会都被他尽职尽责地记录在了一个实验室笔记本上。只有三个人进行了第二次约会,只有一个人进行了第三次约会。

麦金利开始怀疑自己的计算思路。

真爱现身

这时,他收到了王婷(Christine Tien Wang,音译)的私信。她28岁,是一名艺术系学生,支持废除监狱的活动,希望寻找一位6英尺(1.82米)高,蓝眼睛,住在加州大学洛杉矶分校附近的男伴。她在这所学校攻读美术硕士学位。他们的匹配度是91%。

两人在学校里的雕塑园见了面,然后从那里步行到了校园里的一间寿司店。他一开始就感觉跟王婷很投缘,两人谈论了书籍、艺术和音乐。

王婷承认,在给麦金利发私信之前,她对自己的个人资料进行了调整,而这时,麦金利就把自己用程序和算法寻找女伴的过程原原本本告诉了王婷。

“我觉得这有点黑暗,有点玩世不恭。”她说。“我喜欢。”

这就是麦金利跟88号女士的第一次约会。很快他们又进行了第二次约会,第三次约会。两个星期后,他们各自暂停了OkCupid上的帐号。

“我觉得,跟OkCupid上其他所有用户做的事情相比,我只不过多用了一点算法,活动规模更大一点,还使用了一些机器学习技术。”麦金利说。每个人都试图创建最佳版本的个人资料——他只不过是拥有一些数据来帮助他做到了这一点。

后续发展和反思

麦金利和王婷的第一次约会已经过去一年多了。现在麦金利已经拿到了数学博士学位,是一名数学老师,目前在读音乐研究生。王婷则获得了卡塔尔为期一年的艺术奖学金。她时不时回到加州探望麦金利。他们一直在Skype上保持联系。

在王婷看来,麦金利用OkCupid找女友的故事很有趣。但是,对于他们的恋情来说,数学知识和编码技能起到的仅仅是序幕作用。在恋爱关系中,关键的是两人见面之后发生的事。

“真人比个人资料复杂得多。”她说。“所以我们见面的方式可能比较肤浅,但之后发生的一切都不肤浅。那是辛苦培养得来的。”

“并不是说我们匹配度高,就会有良好的关系。”麦金利同意这个看法。“那只是一种让我们走到同一个房间的方式。我可以利用OkCupid来找到合适的人。”

王婷说:“你没有找到我。是我找到你了。”麦金利思考了一下,然后承认她说得对。

在一次Skype通话中,麦金利掏出一只钻石戒指,把它放在网络摄像头前。她答应了他的求婚。

他们不确定会在何时结婚。要找出最佳的结婚日还需要做一些研究。

内容来源:数据中国

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-06-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 灯塔大数据 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档