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