一件發生在大約兩年前的故事,在通過聚類算法分析了洛杉磯2萬女性的600萬個OkCupid(可以理解為美國的世紀家園)問題的答案以后,35歲的數學家Chris McKinlay開始用程序以每天1000個人的速度給與他高匹配的女性組發送個人簡介,最后在約會到第88次后,向28歲的Tien Wang求婚,找到了真愛。
今天火箭君就來講述一下,Chris效率姻緣的來龍去脈,順便安利一本書給大家看:
緣起OkCupid
OkCupid是在2004年由一個哈弗大學數學系畢業生創立的。每一個會員都會被要求回答一系列涉及政治、宗教、家庭、手機、感情的問題。平均每個會員都會回答從上千個問題中挑選出的350個問題。隨后OkCupid網站通過算法把雙方匹配起來,推薦給用戶。
Chris發現OkCupid這網站不靠譜啊,他只會被那些恰巧和他回答了同一些問題的女性匹配,這導致他能找到的女性匹配率非常低。為了解決這個問題,他決定自己弄一個算法搞清楚回答了什么問題的姑娘是他鐘意的類型,同時剔除那些不誠實的回答。這樣他就能把把網站上即使回答了不同問題的姑娘,也囊括進來。
下面這個人就是本次故事的主角:Chris McKinlay
第一步:搞數據
Chris注冊了12個假賬號,然后用Python腳本去訪問他可能感興趣的25-45歲異性和雙性戀女性(好的大哥,你贏了= =+)的頁面,然后存下這些人的各種信息(身高、抽煙習慣、興趣、星座什么的所有的亂七八糟的東西)
接著就是要知道這些人的問題答案了。OkCupid也不是傻子,防抓取機制導致他的機器人腳本沒辦法大量獲取目標姑娘的問題答案。為此,Chris又訓練了一個腳本機器人,模擬真人試用網站的習慣,并抓取信息。一周以后,他的機器人抓取到了2萬個姑娘回答的600萬個問題。
第二步:找規律
Chris用了一個叫K-Modes的算法成功發現:2萬個姑娘可以被歸為統計學上顯著不同的7類。然后他又抓取了5000個姑娘的信息,去證明自己找到的規律是真的…… 下面這圖就是他的聚類結果
第三步:找到合適自己的
Chris逐個查看了這7個類型,有的年紀過大,有的太信基督。最后他關注了兩種合適自己的類型:25歲左右,從事藝術和音樂工作的獨立創作者(A組)和年齡稍大些,從事設計、編輯工作的人(B組)。他決定同時出擊!
第四步:出擊!
為了獲得建立在真實基礎上的姻緣,Chris誠實回答了自己的每一個問題。然后,這哥們又寫了一個算法來決定回答的每個問題的重要性——他為每一組女性各創造了一份自己的檔案:第一個檔案的照片是他在彈奏吉他,第二個的照片是他在攀巖。
火箭君去人肉了一下,找到了疑似的那張照片,大家隨便感受下..
此時,他發現,他能夠在網站上找到的女性,已經有大量99%匹配的女性了,超過90%匹配的更是數不勝數。因為在OkCupid上,你需要訪問別人的頁面,別人會看到你訪問過他們,所以Chris又只好寫了個程序,每天訪問1000個目標姑娘的首頁,不斷重復,姑娘們就會發現:“哇!有個超配自己的帥哥訪問了我的主頁!”
結果就是,他的OkCupid主頁每天被他的目標女性訪問400次,私信也開始不斷飛來(差不多一天20個人私信他,表示對他有興趣)~
第五步:線下約會
數學工作已經完成了,下面Chris要做的就是約會了。這哥們隨即在將近2個月的時間里,進行了87次約會,其中和大多數人的約會都只進行了一次,他只能和極少部分的人進行兩次甚至三次約會。
成功!!
最后當第88次約會時,與他91%匹配的Christine Tien Wang出現時,他們雙雙關閉了OkCupid賬戶。最后Chris在Skype聊天時拿出鉆戒向Tien Wang求婚,Tien Wang同意了。
故事說完了~Chris在科學的分析之后,獲得了僅僅八十八分之一的約會成功率,從上百萬陌生人里找到了老婆……
如果你昨天被虐慘了想知道怎么做:
Chris出了一本書《Optimal Cupid: Mastering the Hidden Logic of OkCupid》,安利一下,你可以點擊原文直接去亞馬遜買~
如果你想雞湯一點:那么這個故事告訴我們……
▼
▼
▼
▼
▼
▼
▼
▼