导语:
在刚刚过去的情人节,硅谷工程师董飞想起曾经看过的一篇文章,讲如何通过大数据找到你的另一半!通过大数据的理性建模和精准定位真能找到合适伴侣吗?听董飞聊聊约会APP算法和在现实中的策略。
文 | 董飞(硅谷工程师)
● ● ●
我们很多人抱怨在现实中约会很难一下子找到宿命中的人,而在线网站让找到真爱的几率变大,操作又容易上手。据我所知,目前微信、陌陌、探探、世纪佳缘、match、tinder很多这样的“严肃”交友(约会)的工具,他们号称采用大数据建立人物画像,采用KNN聚合,DNN神经网络,帮你提升匹配率,找到人生幸福另一半,事实上是这样的吗?
工作原理
当你把你的简历在这种网站或者APP更新之后,一些算法就开始准备潜在合拍的对象。然后给你打分,或者随机给你几个来选择。而这些结果也许就基于几十个元素,比如你回答的几个问题,或者你产生的一些行为。基本数据:年龄、身高、户口所在地、毕业学校、工作单位、家庭状况等。最厉害的,一些网站可以问你100个问题,什么喜欢的颜色、食物、运动、偶像,喜欢看的书类型等等,然后开始关联账号,比如微博、微信等社交媒体的内容及更新频率,QQ登录及在线时间,还有更新发型的频率、作息时间规律、经常出现的场所等问题。
这些问题背后就是对用户行为做预测和匹配,跟亚马逊、Netflix去预测产品差不多,不同的是Netflix推荐电影给你,电影却不需要反向去关注你。下面就介绍一个有趣的匹配算法。
稳定婚姻匹配算法
1962年,美国数学家David Gale和Lloyd Shapley发明了一种寻找稳定婚姻的策略,人们称之为延迟认可算法(Gale-Shapley算法)。
为了让大家相信数学家不是真的如此无聊,我要指出它确确实实是一个地道的组合数学问题,有其特定的数学价值。当然啦,它也有很多别的背景和应用,比如用来在若干个公司和应聘者之间进行连线、做招聘中介……但是数学家们怎么会放过如此八卦的一个名字呢?于是它就这样流传下来了。
规则如下:
先对所有男士进行落选标记,称其为自由男。当存在自由男时,进行以下操作:
①每一位自由男在所有尚未拒绝她的女士中选择一位被他排名最优先的女士;
②每一位女士将正在追求她的自由男与其当前男友进行比较,选择其中排名优先的男士作为其男友,即若自由男优于当前男友,则抛弃前男友;否则保留其男友,拒绝自由男。
③若某男士被其女友抛弃,则重新变成自由男。
在算法执行期间,自由男们主动出击,依次对最喜欢和次喜欢的女人求爱,一旦被接受,即失去自由身,进入订婚状态;而女人们则采取“守株待兔”和“喜新厌旧”策略,对前来求爱的男士进行选择:若该男子比未婚夫强,则悔婚,选择新的未婚夫;否则拒绝该男子的求婚。被女友抛弃的男人重获自由身,重新拥有了追求女人的权利——当然,新的追求对象比不过前女友。
这样,在算法执行期间,每个人都有可能订婚多次——也有可能一开始就找到了自己的最爱,从一而终——每订一次婚,女人们的选择就会更有利,而男人们的品味则越来越差。只要男女生的数量相等,那么经过多轮求婚、订婚、悔婚和再订婚之后,每位男女最终都会找到合适的伴侣——虽然不一定是自己的最爱(男人没能追到自己的最爱,或女人没有等到自己的最爱来追求),但绝对不会出现“虽然彼此相爱,却不能在一起”的悲剧,所有人都会组成稳定的婚姻。
这是一个数学界切切实实研究过的问题。对于以前没有接触过这个问题的人,这个理论最出人意料的结论是:相比延迟认可算法,传统的求爱、结婚过程是male-optimal的,也就是说,男性能够得到尽可能好的心上人,女性却不然。这就是所谓的稳定匹配问题(Stable Marriage Problem,也叫稳定婚姻问题)。
真的行得通吗?
那么问题来了,这些数据和计算之后的结果会导致更好的匹配吗?我想还是不行。这些约会工具越来越多,成功的反而越来越少。伯克利大学还做过调查,美国人只有5%是从网上认识并建立长期关系的(only 5 percent of Americans in long-term partnerships met online)。
那个报告说了几点有意思的内容,个性习惯的相同对健康的两性关系也没啥帮助。就算算法再复杂,也对找到合适对象没多少帮助,除非你把可能遇见的人数增加。
但最麻烦的是用户还会说谎,对他们多高、多重,收入、年龄都可能瞎扯,如果让你选择年薪3万、30万,在没有任何信用的情况下,你选哪个?或者你随便填个数。你怎么不上天呢?这样建立起来的模型有什么意义?
还有一点,有些人号称需要一些硬性指标和条件,对方一定要多高、多有钱、多牛逼,但真正相处时,也许就不会这么要求了。然后就发现那些把钱放在考虑第一位的人,照样dating艺术家或者弹吉他的。
有些交友网站,让你去填个问卷调查,什么心理分析、性格色彩、MBIT,喜欢的电影……还有要填政治理想的!如果拿这些作为匹配根据,很可能是误区,也许可以换一个思路,通过用户的活跃度和发布的朋友圈来做。但是这就得去监控用户行为,以便后台将这些动作作为依据去迭代模型。
到底约几次才能找到真爱?
这是个有趣的问题,老派的约会方式是去本地的PUB,比如对方有1%的可能性同意邀约,那你得去100次才能搞定一个。而作为另外一方,应该用什么策略来接受约会邀请?其实根据博弈论,拒绝掉前37%的你想要约会的人,然后挑选下一个出现的比前37%都要好的人。令人惊讶的是,你最终将找到真爱的几率为37%,具体计算过程这里就不展开了,参考文档在最后。
约会APP和其他方式
其实通过这些网上APP,你可以极大地增加曝光率,因为池子大,还可以加过滤,来个快速排序。总体上这种方式未必浪漫,但高效啊。还有哪些方式去邀约?比如公司同事(读到一个调查,1/3的公司员工曾约会过同事,包括上下属约会也占很大比例),书店(听说高晓松老师刚开的书店还促成了眷侣),微博(我一个程序员朋友就这样认识他爱人后来结婚了),甚至微信公众号留言都有可能。
最后,对于大数据能不能帮你找到对象,我还是持怀疑态度的,大数据是理性推理的工具,但人心是很善变的,女人心更是海底针。只能感慨一下:就算知道了所有的道理,还是过不好这一生。
参考资料:
1.http://www.csdn.net/article/2014-01-23/2818243-how-to-hack-okcupid/1
2.http://baike.baidu.com/subview/11804317/12175605.htm
3.http://article.yeeyan.org/view/30666/23583
4.https://datascience.berkeley.edu/online-dating-data/
原载微信公众号《董老师在硅谷》,《知识分子》获授权刊载。
网友评论