我是怎么用机器学习技术找到女票的
機器學習在我們生活中的用處有多大,就不用我們多說了,大到醫(yī)療診斷,小到手機應用,機器學習都應用的風風火火。但是用機器學習幫自己在學校找對象,你聽說過嗎?
最近滑鐵盧大學一位叫 Bai Li 的留學生(李白?應是中國同胞)在 medium 上分享了如何用 ML 中的邏輯回歸方法幫自己找女票的神操作。像這么實用的技術,我們必須觀摩學習一個。
這里插一嘴,以前老有人搞錯滑鐵盧大學,這里的滑鐵盧在加拿大,不是比利時那個讓拿破侖最后真的拿了破輪的滑鐵盧。滑鐵盧大學是加拿大一所著名高校,是北美地區(qū)最優(yōu)大學之一,其數學、計算機科學和工程學科教學水平居世界前列,其中優(yōu)勢專業(yè)計算機科學名列 2017 年 usnews 世界大學排行榜第 18 位。
好了廢話不說,我們觀看少年的表演:
滑鐵盧大學是出了名的缺少社交活動和很難找到對象。和我(原作者Bai Li——譯者注)一樣,滑大的很多計算機專業(yè)男生都覺得,找女票是不可能找到的,大概畢業(yè)前都不會找到的。找也不知道該怎么找,談戀愛又不會,就只能敲敲代碼才能維持得了生活這樣子。
有些人覺得愛情這種東西是沒法量化的,你只管“做你自己”就好了。不過,作為滑鐵盧大學的一個數據科學家,我對此持不同意見。我就想了,既然是搞計算機的,干嘛不試試借助機器學習找女朋友呢?
方法論
心動不如行動,馬上著手研究如何用機器學習技術找女票。
這個研究的核心問題是:具備哪些屬性,能在滑鐵盧大學眾多男生中脫穎而出找到女朋友?
很多人覺得兜里有錢會更能吸引妹子,此外身高、有沒有肌肉這些指標也會起作用。
我們下面就試著找出哪些是最有預測力的屬性,哪些假設沒有數據支撐。
我首先想到了下面這些屬性:
約會(目標變量):有女朋友,或者過去5年內曾有過至少維持了半年感情的女朋友。
國籍:留學生(因為我也是留學生)
專業(yè):CS,SE和ECE專業(yè)
事業(yè):在學術上很成功,找到了薪水優(yōu)渥的實習工作
有趣性:能說會道,總能找到有趣的談資
社交性:外向性格,總想認識新朋友
自信:看著比較自信
身高:身高比我高(> 175 cm)
眼鏡:戴眼鏡(我也戴)
健身:定期去健身房,或者運動
時尚:注重外在形象,穿著有品位
加拿大:過去5年內基本生活在加拿大
亞洲人:來自東亞地區(qū)(因為我也是)
看到這里你應該會發(fā)現,上面有些屬性非常主觀,比如怎么證明一個人很有趣?
在上面這些情況中,我按照是否符合標準會賦予 1 或 0 這兩個值。所以,我們是在衡量人們的上述屬性和能找到對象之間的關系(當然是根據我自己的理解,不喜勿噴)。
所以,假如你是想看那種超硬核又嚴格統(tǒng)計的研究,那么后面的內容可能不是你的菜。
為了收集數據,我把自己能想到的每個人都列在表格里,在每個屬性里會以 0 或 1 給他們打分。最終,數據集有 N=70 行。如果你過去兩年待在滑大,和我認識,多半這個表格上有你。
分析
首先,我們將精確概率法(Fisher’s Exact Test)對目標約會變量和所有的說明變量進行分析,發(fā)現其中有 3 個變量影響最為顯著:
健身:定期去健身房或運動的人有女朋友的概率會高出兩倍以上(P值=0.02)
眼鏡:不戴眼鏡的人有女朋友的概率比戴眼鏡的人會高出 70%(P值=0.08)
自信:有自信心的人有朋友的概率更高(P 值=0.09)
和我預期的一樣,有肌肉有自信的小伙更有吸引力。不過我對戴眼鏡與否影響這么大感到很意外,好奇是不是因為戴眼鏡一般會給人產生“書呆子”的印象。所以我又查了些資料,發(fā)現還真有這么一回事,有篇研究論文講到大多數人認為不管男性還是女性,戴眼鏡會降低自身吸引力。
有些變量對于能否成功約會可能比較有預測力,不過很難確定,因為樣本較小:
留學生比加拿大本地學生的約會成功率要高
亞洲人和其它人種相比約會機會更少
縱覽其它因素,雖然女生很少,計算機專業(yè)的男生似乎并不處于劣勢
剩下的變量(身高/事業(yè)/有趣性/社交性/時尚/居住地)這些和成功約會的關系不是很大。不好意思,哪怕你在 Facebook 上班,該沒女票還是沒有。
本次實驗的完整結果:
接著我們檢查各變量之間的關系,這可以幫我們識別出不正確的模型假設。紅色表示正相關,藍色表示負相關。我們只展示統(tǒng)計顯著性 <0.1 的相關性,因此大部分變量之間的關系為空白。
從圖中看起來{有女朋友,看起來自信,去健身房,不戴眼鏡}有相互關系。
在接著往下看之前,我得強調一下我的這些朋友不能代表滑鐵盧大學的整體情況。我平時都是在課堂上或工作中認識的他們(雖然什么樣的人都有,但都是從事計算機相關的事情),要么是熟人(雖然來自不同專業(yè),但大部分來自東亞地區(qū),在加拿大生活)。
用這些數據訓練后的模型也會反應這些偏差,未來我也會擴大調查范圍,收集更多數據。
用邏輯回歸預測找女票
要是有個算法能夠預測你有多大幾率可以找到女票,豈不美哉?我們試試!
我訓練了一個邏輯回歸廣義線性模型,根據我們前文列舉的這些說明變量預測是否會有女票。借助 R 語言中的 glmnet 和 caret 包,我用彈性網絡正則化訓練了這個廣義線性模型。然后用標準網格搜索法優(yōu)化了超參數,在每次迭代中使用留一交叉驗證法,并優(yōu)化 kappa 系數。
最終模型的交叉驗證 ROC AUC 分數為 0.673,也就是說模型在預測你找到女票的幾率方面,比你憑感覺亂猜還是更靠譜些。當然了,生活中總會有些偶然的不確定因素,人生也會有驚喜嘛。
好了不說了,我去健身房了,還要努力摘掉眼鏡!
后話:小哥在原文中將自己的模型分享了出來(很可能已經找到另一半所以也不藏私了),用它就能測試自己在滑鐵盧大學找到女票的概率。奈何打開鏈接后,目前已無法獲取模型。如果后期能正常訪問,我們會把這款能預測你“姻緣”的模型分享給大家。當然了,如果你能自己創(chuàng)建一款這樣可以預測桃花運概率的AI“半仙”,那是墜吼滴!
文章分享自網絡,版權歸原作者所有,轉載僅供學習使用,不用于任何商業(yè)用途,如有侵權請留言聯系刪除,感謝合作。
參考資料: Learning to find a Girlfriend at the University of Waterloo by Logistic Regression
https://medium.com/@uw_data_scientist/learning-to-find-a-girlfriend-at-the-university-of-waterloo-by-logistic-regression-18a0d22da896
數據與算法之美
用數據解決不可能
總結
以上是生活随笔為你收集整理的我是怎么用机器学习技术找到女票的的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎样借助Python爬虫给宝宝起个好名字
- 下一篇: 北大教授郑也夫斗胆谈了7个天大的问题(非