機器學習在我們生活中的用處有多大,就不用我們多說了,大到醫療診斷,小到手機應用,機器學習都應用的風風火火。但是用機器學習幫自己在學校找對象,你聽說過嗎?
最近滑鐵盧大學一位叫 Bai Li 的留學生(李白?應是中國同胞)在 medium 上分享了如何用 ML 中的邏輯回歸方法幫自己找女票的神操作。像這麼實用的技術,我們必須觀摩學習一個。
這裡插一嘴,以前老有人搞錯滑鐵盧大學,這裡的滑鐵盧在加拿大,不是比利時那個讓拿破侖最後真的拿了破輪的滑鐵盧。滑鐵盧大學是加拿大一所著名高校,是北美地區最優大學之一,其數學、計算機科學和工程學科教學水平居世界前列,其中優勢專業計算機科學名列 2017 年 usnews 世界大學排行榜第 18 位。
好了廢話不說,我們觀看少年的表演:
滑鐵盧大學是出了名的缺少社交活動和很難找到對象。和我(原作者Bai Li——譯者注)一樣,滑大的很多計算機專業男生都覺得,找女票是不可能找到的,大概畢業前都不會找到的。找也不知道該怎麼找,談戀愛又不會,就隻能敲敲代碼才能維持得了生活這樣子。
有些人覺得愛情這種東西是沒法量化的,你隻管“做你自己”就好了。不過,作為滑鐵盧大學的一個數據科學家,我對此持不同意見。我就想了,既然是搞計算機的,幹嘛不試試借助機器學習找女朋友呢?
方法論
心動不如行動,馬上着手研究如何用機器學習技術找女票。
這個研究的核心問題是:具備哪些屬性,能在滑鐵盧大學衆多男生中脫穎而出找到女朋友?
很多人覺得兜裡有錢會更能吸引妹子,此外身高、有沒有肌肉這些指标也會起作用。
我們下面就試着找出哪些是最有預測力的屬性,哪些假設沒有數據支撐。
我首先想到了下面這些屬性:
約會(目标變量):有女朋友,或者過去5年内曾有過至少維持了半年感情的女朋友。國籍:留學生(因為我也是留學生)專業:CS,SE和ECE專業事業:在學術上很成功,找到了薪水優渥的實習工作有趣性:能說會道,總能找到有趣的談資社交性:外向性格,總想認識新朋友自信:看着比較自信身高:身高比我高(> 175 cm)眼鏡:戴眼鏡(我也戴)健身:定期去健身房,或者運動時尚:注重外在形象,穿着有品位加拿大:過去5年内基本生活在加拿大亞洲人:來自東亞地區(因為我也是)
看到這裡你應該會發現,上面有些屬性非常主觀,比如怎麼證明一個人很有趣?
在上面這些情況中,我按照是否符合标準會賦予 1 或 0 這兩個值。所以,我們是在衡量人們的上述屬性和能找到對象之間的關系(當然是根據我自己的理解,不喜勿噴)。
所以,假如你是想看那種超硬核又嚴格統計的研究,那麼後面的内容可能不是你的菜。
為了收集數據,我把自己能想到的每個人都列在表格裡,在每個屬性裡會以 0 或 1 給他們打分。最終,數據集有 N=70 行。如果你過去兩年待在滑大,和我認識,多半這個表格上有你。
分析
首先,我們将精确概率法(Fisher’s Exact Test)對目标約會變量和所有的說明變量進行分析,發現其中有 3 個變量影響最為顯著:
健身:定期去健身房或運動的人有女朋友的概率會高出兩倍以上(P值=0.02)
眼鏡:不戴眼鏡的人有女朋友的概率比戴眼鏡的人會高出 70%(P值=0.08)
自信:有自信心的人有朋友的概率更高(P 值=0.09)
和我預期的一樣,有肌肉有自信的小夥更有吸引力。不過我對戴眼鏡與否影響這麼大感到很意外,好奇是不是因為戴眼鏡一般會給人産生“書呆子”的印象。所以我又查了些資料,發現還真有這麼一回事,有篇研究論文講到大多數人認為不管男性還是女性,戴眼鏡會降低自身吸引力。
有些變量對于能否成功約會可能比較有預測力,不過很難确定,因為樣本較小:
留學生比加拿大本地學生的約會成功率要高亞洲人和其它人種相比約會機會更少縱覽其它因素,雖然女生很少,計算機專業的男生似乎并不處于劣勢
剩下的變量(身高/事業/有趣性/社交性/時尚/居住地)這些和成功約會的關系不是很大。不好意思,哪怕你在 Facebook 上班,該沒女票還是沒有。
本次實驗的完整結果:
接着我們檢查各變量之間的關系,這可以幫我們識别出不正确的模型假設。紅色表示正相關,藍色表示負相關。我們隻展示統計顯著性 <0.1 的相關性,因此大部分變量之間的關系為空白。
從圖中看起來{有女朋友,看起來自信,去健身房,不戴眼鏡}有相互關系。
在接着往下看之前,我得強調一下我的這些朋友不能代表滑鐵盧大學的整體情況。我平時都是在課堂上或工作中認識的他們(雖然什麼樣的人都有,但都是從事計算機相關的事情),要麼是熟人(雖然來自不同專業,但大部分來自東亞地區,在加拿大生活)。
用這些數據訓練後的模型也會反應這些偏差,未來我也會擴大調查範圍,收集更多數據。
用邏輯回歸預測找女票
要是有個算法能夠預測你有多大幾率可以找到女票,豈不美哉?我們試試!
我訓練了一個邏輯回歸廣義線性模型,根據我們前文列舉的這些說明變量預測是否會有女票。借助 R 語言中的 glmnet 和 caret 包,我用彈性網絡正則化訓練了這個廣義線性模型。然後用标準網格搜索法優化了超參數,在每次叠代中使用留一交叉驗證法,并優化 kappa 系數。
最終模型的交叉驗證 ROC AUC 分數為 0.673,也就是說模型在預測你找到女票的幾率方面,比你憑感覺亂猜還是更靠譜些。當然了,生活中總會有些偶然的不确定因素,人生也會有驚喜嘛。
好了不說了,我去健身房了,還要努力摘掉眼鏡!
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!