[分享] 申請錄取預測器
申請錄取預測器 (Graduate Admission Predictor)
Jia-Bin Huang 黃嘉斌
E-Mail: jbhuang0604@gmail.com
Motivation
定期來看留學板已經有一段時間了, 今年我也申請了電機資訊領域的博士班, 本想發個錄
取文回饋板眾, 但有感於各項資料的準備[1]和申請流程[2]和各類討論都是非常清楚地記
錄在精華區裡頭, 考試的準備部份在ptt也已有專門的版做詳細的討論,大多數的人主要還
是看看別人的背景以及錄取的學校 (這點可以由推文數和學校排名的高度正相關得知),由
此推估自己申請時可能有的結果, 常常有人對於自己的背景能申請到排名多少的學校相當
好奇, 而TOEFL, GRE要考到多少才夠? GPA這麼低也可以申請到好學校嗎?這些問題永遠
是留學板的熱門話題, 所以我想提供一個研究所申請預測器, 只要你輸入你的相關背景和
想查的學校, 此預測器便提供你錄取此間學校的機率, 對於尚未畢業的學弟妹, 藉由調整
背景的參數, 也比較知道自己應該往哪個方向努力.
做此預測器的目的並不是要搶代辦幫忙選校的生意, 也不是要刻意鼓勵或是打擊未來的申
請者, 只是希望由眾多前人的背景和其申請結果的資料庫, 學習出學校由教授組成的審查
委員會對於學生背景是如何進行選擇, 提供未來申請者的申請時的一個預測, 同時也提供
一個較為完整的留學資料庫.
System Overview
此預測器由使用者輸入的學術背景資料, 預測欲申請的學校錄取之機率, 現在系統僅能預
測電機資訊領域, 主要原因為電機資訊領域的申請者較多, 可用資料較完整。
輸入資料及說明
1. Undergraduate School
根據大學念哪間學校, 依照以下的對照表輸入相對應的數字
台大: 1 交大: 2 清大: 3 成大: 4 其他: 5
對於現在還沒有除了其他各個學校的選項感到很抱歉, 完全是因為資料不充足, 太容易
產生Overfitting, 導致偏差的預測結果, 沒有不尊敬的意思, 請見諒
2. Graduate School
根據研究所念哪間學校, 依照以下的對照表輸入相對應的數字
台大: 1 交大: 2 清大: 3 成大: 4 其他: 5
如果為大學畢業生即申請出國的版友, 這項便為0
3. Undergraduate Overall GPA
填入大學四年Overall GPA 例如: 3.56
4. Undergraduate Major GPA
填入大學主修科目的GPA 例如: 3.88
5. Undergraduate Class Rank
填入在班上名次的百分比
例如: 在五十人的班級排第四名, 則填入4/50=0.08
6. Graduate GPA
填入研究所時期的GPA
7. Graduate Class Rank
填入研究所的名次百分比
8. GRE Verbal
GRE字彙分數 例如: 450
9. GRE Quantitative
GRE數學分數 例如: 780
10. GRE Analytical Writing
GRE分析寫作分數 例如: 3.0
11. TOEFL Total Score
托福新制iBT的總分 例如: 95, CBT的分數請按照ETS提供的轉換表做轉換
12. Work Experience
幾年的工作經驗?
注意13-15項為主觀分數, 以下我列出評分的準則
13. Score on Recommendation Letters
分數範圍為1-10
每位推薦人的評分為0-4分 3位推薦人分數之相加 若超過10分則以10分計算
4. 該推薦人為你申請領域的重要人物, 並且和你相當熟識, 一起做過研究, 且有相當不
錯的論文發表, 同時過去他也推薦過許多學生出國念書, 並都表現很好
(e.g. 院士級人物, 有人脈的教授)
3. 該推薦人指導你做過研究, 對於你的研究能力以及表現很欣賞 (e.g. 大學專題老師
, 研究所指導教授)
2. 該推薦人和你做過研究, 但對於你的表現並不十分激賞 (e.g. 大學專題老師, 研究
所指導教授)
1. 學校修課時的老師
14. Score on Statement of Purpose
同樣為1-10分
15. Score on Selected Honor
1-10分
奧林匹亞競賽獎牌, 國際科展, 書卷獎連莊四年 10 分
有參加競賽(e.g. 程式, 論文獎)得名或是僅有系上少數一兩次書卷 6 分
少數不知名(以國外角度來看)的獎學金 3 分
剩下的請自行內差估計
16. Score on Journal Publications
每一篇論文假設有兩個考量因素 1. 第幾作者? 2. 期刊素質?(分為1st tier/ 2nd
tier/ 3rd tier)
令A表示第幾作者, J表示期刊的level
則一篇文章所得到的分數是 1/(A*J) 也就是作者序位越前面, 期刊素質越好分數就越
高, 若有多篇文章, 將其相加, 公式為 SUM(1/(A_k*J_k))
17. Score on Conference Publications
同16
18. Contact Professor
有積極連絡教授為1 反之為0
19. MS or Ph.D?
申請碩班或博班, MS輸入0 而Ph.D.則輸入1
20. Year Applied
輸入申請年度 如 2010年
輸出結果為各學校的錄取機率, 目前此資料庫可預測的學校有
MIT Stanford Berkeley UIUC Caltech UMichigan Gatech
UMaryland UCLA USC UCSD Cornell Columbia Purdue
UTAustin TAMU UWisconsin UPenn Princeton
若往後資料庫對於其他學校的申請結果有足夠的樣本, 將會擴充此預測範圍
註:順序不具意義
Method
實現預測器的方法很簡單, 基本上就是做高中時數學課就教過的回歸Regression[3], 首
先觀察一些input和output的範例, 希望可以由這些範例中來推測新的input所產生的
output, 在錄取預測器的情況, input就是每個申請者的量化背景, 為一個21維的向量,
而output便是錄取與否, 為在[-1~1]區間的數值, 其中1 表示錄取, 而-1表示不錄取, 欲
希望看到約略的錄取機率, 可將output的數值做平移和縮放 P = (output+1)*0.5
有了使用者輸入的量化過的背景資料後, 首先我先訓練一個回歸器(Regressor), 有非常
多種不同類型的回歸器可以使用, 例如Linear Regressor [4], Ridge Regressor [5],
SVM Regression [6], RVM Regression [7], Gaussian Process Regression [8],
在這裡我使用Gaussian Process Regressor.
我們可以這麼看待Regreesion: 拿測試資料(i.e. 新申請者的量化背景)和所以在資料庫
裡頭的每一個已知申請者的量化背景做比對, 計算測試資料和每一筆訓練資料的距離, 而
由於測試資料和訓練資料的維度僅有20維, 往往在此空間沒有辦法很有效地定義距離, 因
此做Regression時往往會運用一種叫做Kernel的方法[9], 簡言之, 就是將原本20維的資
料, 藉由此技巧投影到更高維(可能是無限維)的空間中, 在高維空間中來定義兩筆資料的
距離, 在這邊我使用最常用的Gaussian Kernel [10].
Missing Data Approximation
在版友的文章中, 除了主觀的評分(i.e. 推薦信, SOP, 和榮譽)之外, 還有許多量化的分
數會遺失, 這時我只好用已知的資料來推估, 例如許多人的名次若沒有列出, 就會根據
GPA來大略估計, 或是沒有Major GPA, 此時我便直接將Overall GPA來當做Major GPA.
Limitations
目前的研究所錄取預測器仍有幾項限制
1. 資料不足, 容易造成overfitting的現象
板上許多錄取分享文中, Pending的學校仍佔大多數, 因此此類分享文對於預測的方面沒
有很大的幫助, 另外我想還有非常多有申請的版友沒有PO錄取分享文章, 但是他們的背景
以及結果都可以提供此錄取器相當寶貴的資料, 因此我將錄取預測器的資料放上網, 希望
有興趣的版友可以提供你們的背景資料以及結果, 這將會使得錄取預測器有更完善的功能
和更高的準確率, 另外, 若是您的背景資料已被使用, 你仍可以藉由此介面來新增錄取學
校的結果, 或是提供更為準確的數據(e.g., Major GPA, Ranking, 主觀數據等等)
若您為EECS歷年來的申請者, 願意提供您的寶貴背景及申請結果, 請至下列網址
按照上述的資料型態輸入你的量化資料
http://spreadsheets.google.com/ccc?key=pbRuwn_UlgWLWje6iMf-xYQ
填入你的資料之後, 在後面有各個學校的欄位, 若你被錄取, 則填入1, 被拒絕則填入-1,
若是沒有申請該間學校, 則填0, 整個填寫過程相當簡單容易, 不需要3分鐘就可以完成
註: 方便各位版友, 任何人都可以到此提供您的背景, 但是希望版友們能夠守規矩
不竄改別人的資料或是將別人的資料刪除, 謝謝大家的配合
2. 申請博士班的結果容易被各領域經費以及計畫影響
由目前的實驗結果觀察, 預測博士班申請錄取率的準確度較碩士班低, 原因除了博士班的
外在因素較多, 另外一個因素就是目前的樣本數不夠多, 不足以提供一個穩固的預測
3. 主觀分數難以決定
目前的資料庫中有關於主觀的評分都是我根據申請者背景胡亂預測的, 如果這部分可以由
申請者本人來填寫的話, 相信會有更好的預測結果
4. 申請過程中的假設
在此我對於要模擬的申請過程做一個簡單的假設, 也就是說審查委員在看待申請者背景時
是一個平滑的決策過程, 也就是說, 相似背景的申請者通常會得到相似的結果, 我想這個
假設在申請碩士班時較為成立, 多少也可以解釋為何博士班的錄取預測較為困難
Experimental Results
目前測試的方法, 我使用Cross Validation中的Leave-one-out cross-validation (因為
訓練資料不足的關係), 在目前相當有限和充滿雜訊的資料中, 大致上約有6-7成的準確率,
等到更多版友將申請資料分享出來之後, 我會再提供正式的預測數據, 並在未來提供圖形
介面的軟體供版友們參考.
Conclusion
此錄取預測器有幾項應用:
1. 提供未來申請者申請之前選校的定位
2. 已申請過的版友可以看看自己當初沒申請上的學校的錄取機率
3. 藉由調整背景參數, 了解自己如何最佳化申請結果
4. 錄取器會提供學習出來的各項量化背景的比重為何, 由此了解學校審查時著重的
內容為何
藉由號招過去以及現在的申請者提供更完整的背景資料, 提供未來申請者可使用的
申請錄取預測器, 模擬各學校篩選學生的決策過程, 了解各學校是如何看待各種背
景的學生, 讓之後的版友可以更為了解自己的背景以及可能出現的結果, 由此預測
器的建立, 同時也可以得知各學校對於各項申請資料的權重, 提供之後的申請者參
考以及努力方向, 未來若有更多版友願意提供背景資料以及結果時, 將可以拓展此
預測器能夠預測的領域(e.g., 理工, 商管等等)
對於此錄取預測器有任何建議或是對於實做方法上有興趣的朋友們, 可以來信指教,
E-Mail: jbhuang0604@gmail.com
藉由更多人的參與, 希望可以討論如何將此概念實現得更完善 :)
謝謝
Reference
[1] Jia-Bin Huang [分享] 留學申請流程 Part I 資料準備 (EECS相關) ptt
[2] Jia-Bin Huang [分享] 留學申請流程 Part II 線上申請 (EECS相關) ptt
[3] http://en.wikipedia.org/wiki/Regression_analysis
[4] http://en.wikipedia.org/wiki/Linear_regression
[5] http://www.anc.ed.ac.uk/rbf/intro/node19.html
[6] Burges, A tutorial on support vector machines for pattern recognition,
Data mining and knowledge discovery, 1998
[7] http://en.wikipedia.org/wiki/Relevance_vector_machine
[8] http://www.gaussianprocess.org/gpml/code/matlab/doc/regression.html
[9] http://en.wikipedia.org/wiki/Kernel_trick
[10]http://en.wikipedia.org/wiki/Gaussian_function
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 169.236.143.21
推
04/17 14:45, , 1F
04/17 14:45, 1F
推
04/17 14:46, , 2F
04/17 14:46, 2F
→
04/17 14:46, , 3F
04/17 14:46, 3F
→
04/17 14:46, , 4F
04/17 14:46, 4F
推
04/17 15:03, , 5F
04/17 15:03, 5F
推
04/17 15:08, , 6F
04/17 15:08, 6F
推
04/17 15:14, , 7F
04/17 15:14, 7F
推
04/17 15:16, , 8F
04/17 15:16, 8F
推
04/17 15:17, , 9F
04/17 15:17, 9F
推
04/17 15:25, , 10F
04/17 15:25, 10F
→
04/17 15:25, , 11F
04/17 15:25, 11F
推
04/17 15:26, , 12F
04/17 15:26, 12F
→
04/17 15:33, , 13F
04/17 15:33, 13F
→
04/17 15:33, , 14F
04/17 15:33, 14F
→
04/17 15:34, , 15F
04/17 15:34, 15F
推
04/17 15:35, , 16F
04/17 15:35, 16F
→
04/17 15:35, , 17F
04/17 15:35, 17F
→
04/17 15:37, , 18F
04/17 15:37, 18F
→
04/17 15:37, , 19F
04/17 15:37, 19F
→
04/17 15:40, , 20F
04/17 15:40, 20F
→
04/17 15:40, , 21F
04/17 15:40, 21F
→
04/17 15:41, , 22F
04/17 15:41, 22F
→
04/17 15:41, , 23F
04/17 15:41, 23F
→
04/17 15:42, , 24F
04/17 15:42, 24F
推
04/17 15:43, , 25F
04/17 15:43, 25F
推
04/17 15:49, , 26F
04/17 15:49, 26F
推
04/17 15:51, , 27F
04/17 15:51, 27F
推
04/17 15:53, , 28F
04/17 15:53, 28F
推
04/17 15:58, , 29F
04/17 15:58, 29F
推
04/17 16:07, , 30F
04/17 16:07, 30F
推
04/17 16:13, , 31F
04/17 16:13, 31F
推
04/17 16:16, , 32F
04/17 16:16, 32F
推
04/17 16:18, , 33F
04/17 16:18, 33F
推
04/17 16:22, , 34F
04/17 16:22, 34F
推
04/17 16:25, , 35F
04/17 16:25, 35F
→
04/17 16:27, , 36F
04/17 16:27, 36F
推
04/17 16:35, , 37F
04/17 16:35, 37F
推
04/17 16:38, , 38F
04/17 16:38, 38F
推
04/17 16:40, , 39F
04/17 16:40, 39F
→
04/17 16:41, , 40F
04/17 16:41, 40F
→
04/17 16:41, , 41F
04/17 16:41, 41F
→
04/17 16:42, , 42F
04/17 16:42, 42F
→
04/17 16:43, , 43F
04/17 16:43, 43F
→
04/17 16:44, , 44F
04/17 16:44, 44F
→
04/17 16:44, , 45F
04/17 16:44, 45F
→
04/17 16:45, , 46F
04/17 16:45, 46F
→
04/17 16:46, , 47F
04/17 16:46, 47F
推
04/17 16:47, , 48F
04/17 16:47, 48F
→
04/17 16:47, , 49F
04/17 16:47, 49F
→
04/17 16:48, , 50F
04/17 16:48, 50F
→
04/17 16:49, , 51F
04/17 16:49, 51F
→
04/17 16:51, , 52F
04/17 16:51, 52F
→
04/17 16:53, , 53F
04/17 16:53, 53F
→
04/17 16:54, , 54F
04/17 16:54, 54F
→
04/17 16:55, , 55F
04/17 16:55, 55F
推
04/17 16:59, , 56F
04/17 16:59, 56F
推
04/17 17:16, , 57F
04/17 17:16, 57F
→
04/17 17:23, , 58F
04/17 17:23, 58F
推
04/17 17:24, , 59F
04/17 17:24, 59F
推
04/17 17:36, , 60F
04/17 17:36, 60F
推
04/17 19:44, , 61F
04/17 19:44, 61F
推
04/17 21:00, , 62F
04/17 21:00, 62F
推
04/17 23:40, , 63F
04/17 23:40, 63F
推
04/17 23:59, , 64F
04/17 23:59, 64F
推
04/18 00:47, , 65F
04/18 00:47, 65F
→
04/18 04:17, , 66F
04/18 04:17, 66F
→
04/18 04:17, , 67F
04/18 04:17, 67F
→
06/18 03:41, , 68F
06/18 03:41, 68F