Categories

Calendar

June 2017
M T W T F S S
« Jun    
 1234
567891011
12131415161718
19202122232425
2627282930  

关于留学申请的一些注意事项

据说先报一下申请结果可以提高点击率:

Offer:MIT (2.10, CSAIL), UW (1.30)
AD: OSU (3.15, funding to be decided)
Withdraw:Cornell, UCLA, GaTech, TTIC, UCSD, Rutgers, UAlberta, WUSL, OSU, UToronto, UMich
Reject:Stanford (2.11), CMU (2.4 Stat SML, 2.11 CSD, 2.14 MLD), Princeton (2.18), UToronto (2.25), UC Berkeley (3.7), UCLA (2.22, 3.8), Cornell (3.12), UPenn (3.22)

背景大致是这样的:ZJU CS 本硕(本科 GPA 3.7),G 1390+3.5, T 110(口语 23), 无交流无实习,有 top 会议和期刊论文(但是没有一作),导师 […]

留学申请注意事项:英语考试

GT 其实没有太多可说的,我个人一直觉得 GT 属于比较鸡肋的条件:只要过了一定的线以后就变得不那么重要了。我参加的是老 G (就是那次 ETS 搞的万恶的 11G),一年只有两次,所以报名上时间也要计划好,但是现在新 G 貌似一年有很多次,所以时间上应该也问题不大了。我是先考 T 再考 G 的,这个感觉怎么都无所谓,看自己喜欢了。总之“不那么重要”并不是说不重要,认真考出好成绩总是没有坏处的,复习过程可能会有些漫长,特别是背 GRE 的单词,虽然有点痛苦,但是并不是百无一用,取决于你以后要过什么样的生活,实际上我个人觉得 GRE 中的大部分单词其实还是非常常用的,例如在英美的报刊杂志新闻之类的地方。当然有一个不得不承认的事实就是:在考完试之后大部分单词会被迅速遗忘掉。TOEFL 的话,复习用 Official Guide + TPO 吧!关于 GT 考试两个很好的论坛就是太傻和寄托家园。上面还有许多其他有用的资料,例如《太傻十日谈》是一本很有意思的书(虽然我没看完…… -.-),还有可以找到各大学校的《飞跃手册》之类的都是对整个申请过程有非常大的参考价值的(目前比较新且内容比较全的应该是《北大飞跃手册第二版》和《上交飞跃手册 2010~2011 版》吧),不过也要选择性吸收,例如许多飞跃手册上关于 GT 送分还是讲的电话甚至寄信给 ETS 的送分方式,实际上现在在网上送分已经非常方便了。

关于 TOEFL 要多说几句的是它的过期时间是两年。然而就像一兆可以是 1000000 也可以是 1048576 一样,这个“两年”的解释上也有各种“猫腻”。主要的分歧在于从何时开始算。我所期望的,是从提交网申的那个时间开始算,例如我申请 2012Fall ,提交网申的时间大概是在 2011 年 11 月左右,那么我只要在 2009 年 11 月之后考的 T 都应该是有效的。事实上大部分学校都是这样算的,然而有些学校则是按照入学时间来算的,2012 Fall 的入学时间通常是 2012 […]

留学申请注意事项:选校

选校一般是在 GT 之后。我大致是在 2011 年暑假快结束的时候开始看学校的,一开始也比较悠哉,但是到后面就开始有些紧张了,最好做好计划,因为比如每天看一个学校的话,看 20 个学校也要花掉大半个月的。实际上选校这个事情的建议是越早越好,或者可以分成几个阶段来,因为很多步骤其实都会依赖于你要申请哪几个学校。

比如知道去哪里的话,考试也有针对性了,例如去欧洲的话一般要考雅思而不是托福,而加拿大有不少学校似乎是不要 GRE 的,另外 MIT 的 EECS 其实也是不需要 GRE 成绩的。

再比如在考 GT 的时候会有 4 所免费送分的学校,如果事先有看过学校的话(只要大致知道自己肯定会申的 4 个学校就好了),就很好填了,G 和 T 每个学校送一次分都要 100+ 米的,所以还是要好好利用的。我就比较悲剧,考 G 的时候随便填了几个,后来申请的时候搞晕了结果又把那几个重新送了一次;考 T 的时候以为可以后面申请的时候再填结果就留空了,然后后来发现留空了就相当于放弃了免费送分的名额……

还有就是办理成绩单的时候,因为这也是一件比较麻烦的事情——特别是在高峰期的时候。知道自己要申多少学校的话,就好一次办好了。不过到这个阶段就需要更仔细一些的选校了,一方面要把学校列表确定下来,另一方面还得看看各个学校关于成绩单的要求:有个别学校是要求寄两份成绩单的,还有更多的学校并不需要寄成绩单,只要上传扫描版就可以了,纸质版成绩单可以在拿到 offer 之后再寄过去。

留学申请注意事项:文书

申请过程中的文书一般就是指 PS (Personal Statement) (或者 SoP:Statement of Purpose)和 CV ,这里重点说一下 PS 吧。

PS 重不重要呢?我觉得是非常重要的。当然说他重要并不是说其他条件都很水仅靠一篇金光闪闪的 PS 就能帮你拿到牛校 offer ,而是说 PS 是申请的时候学生唯一一个比较灵活地表现自己能力的机会。举个不太恰当的例子,就好比在沙漠里一壶水之所以重要并不是说有了这壶水你就能活着走出去,而是因为这壶水是你生存下去唯一可以倚仗的东西。

除了 CV 之外,其他的材料(成绩单、GT 等等)每个人都是同一个“模样”的,但是 CV 要求简洁(一般建议不超过一页),所以可以传达的信息并不是很多,Statement 则一般可以写到两页纸的文字,是表现自己 uniqueness 的唯一机会,uniqueness 就是指你和其他的申请者所不同的地方,这么多申请者,别人为什么选择你?当然“我一顿饭能吃八两”、“我左手长了六个指头”之类的虽然也可称为“独特之处”,但是肯定就不用写上去了,阅读你 PS 的人想看的是什么,不妨换位思考一下,自己站在他们的位置上想一想就大致明白了。或者可以具体来实践一下,比如你想买个什么东西(比如出国装行李用的 28 寸拉杆箱),然后上淘宝去搜索一下,然后可能你会通过价格、销量、信誉、地域等条件筛选出一个候选店铺列表来,之后就点进去看这些店铺的宝贝介绍页面——这个页面的内容就相当于我们申请的时候的 PS 了!你在浏览这些页面的时候有没有发现某个店铺让你眼前一亮的感觉呢?或者你可能会觉得这些页面其实都大同小异——因为本来就是公开可见的,大家互相抄袭模仿咯。然而 PS 虽然并不是公开可见的,但是其实绝大部分人都是按照网上找得到的那些建议、模板来写或者由那些中介之类的来修改,最后一样的会造成这个效果。我觉得在浏览淘宝购物页面的时候这种心情和教授挑学生的时候的感觉应该是比较相似的——特别是通过 RA 的方式,要由教授出钱来“买”这个学生的时候,所以我们自己多体验一下这个过程,应该也会对我们准备自己的文书准备工作产生一些启发吧!

留学申请注意事项:网申与推荐信

网申付款和送 GRE 成绩的时候都需要一张双币信用卡,应该正常一点的双币卡都可以吧,比如建行的浙大龙卡就挺好用的,没有出任何问题。TOEFL 送分由于是国内的一个网站,好像只能工行(还是哪个行?)的网银付账。另外网申是一件非常麻烦和痛苦的事情,要填各种各样乱七八糟的东西,注意事项大概以下几点吧:

大部分学校的网申系统都并不是要求你一次填完提交的,可以填一半保持了以后再慢慢填,我大部分学校基本上都是前前后后磨蹭了大半个月才提交。
有些学校对于没有填完的 form 有差不多一个月的保存时间,要注意看,不要等拖太久了它给你删了你又得辛辛苦苦重新填。
有些学校(比如 CMU)号称是你付款提交之后才会去帮你去整理匹配你送过去的成绩单和 GT 成绩之类的,所以为了有时间能确认寄过去的东西有没有收到,以及各种奇怪的意外问题,最好不要拖到最后一天才提交吧。比如在比较后面我才突然发现 CMU 的 TOEFL 成绩我居然忘了寄了。
大部分系统在提交之后就不能修改了,所以请再三确认。不过有的学校(比如 Columbia、CMU、MIT)在提交之后还是可以修改信息的。还有一些学校只可以修改部分信息。不过如果万一真的有问题的话,也可以联系小蜜,一般也可以帮忙修改的,特别是在 deadline 还没有过的情况下。
申请的学校多的话,密码是一个问题,全都用同一个密码倒也可以,但是有时候有些系统对密码有特殊要求,比如必须要同时有字母和数字啊,或者必须要有符号啊,如果两个网站的要求不一样的话,就不好统一了。还有许多学校是用的同一个网申系统的。如果觉得乱的话,可以用个密码管理器什么的,比如 LastPass 。
有时候说不定会有惊喜,比如 UAlberta 的网申,我照例拖了很久之后有一天突然收到一封 Email 说我们可以给你把申请费给免了,你只要点第三方支付,然后找谁谁谁就可以了。虽然不知道是怎么回事,但是总之是好事哈!

如果申请的学校比较多的话,建议用 Excel (或者任何方便使用的工具)做一下详细的进度跟踪和记录,否则很容易混淆或者遗漏了。

留学申请注意事项:陶瓷

申请阶段最后一个话题就是陶瓷了。陶瓷有没有用这几乎是一个永恒的争论,对于这个问题我的答案简单来说是“我不知道”,这里我只陈述一下我的想法和经历,具体大家自行判断。一开始我的主要想法是比较负面的,特别是在看到有不少教授在自己主页上或客气或不客气地写明了“请不要发邮件给我询问申请录取的事”、“一切资料都可以在学校网站上找到”、“你需要按照标准流程来提交申请”、“决定是由 committee 做的,给我发邮件并不会增大你被录取的几率”之类的话之后。文字太多了,再插播一幅听起来好像挺切题的图吧:Sasha 的 pottery

除非是那些在主页上写明了正在招生欢迎发邮件的人,否则如果你真的要申请,走正常申请渠道就好了啊,如果对某个老师感兴趣,直接在 SoP 上提到他的名字,他应该就会看到了,而且如果他真的对你感兴趣的话,从系统里看就可以看到你的各种材料,相比你发的邮件来说要全面得多。这个观点实际上是我之前有一个机会同 UMich 的一位教授聊天的时候问起来这样的问题得到的答案。我个人是比较认同这样的观点的。当然有可能出现的情况是初选的时候被不小心刷掉了,根本没到你提到的教授手里?我不知道学校在录取的时候审材料到底是什么样一个认真仔细程度,以及误杀的比例会是多大。但是学校也想招好的学生,所以应该也不会太过于马虎吧?不过我也问过许多许多其他人的意见,大家对待这个问题也各有观点,大多也都比较慎重,不过大部分人都表示“即便没有好处的话,至少也没有坏处吧”。

留学申请注意事项:最终试炼

如果说读 PhD 是一场战争的话,那么等待 offer 的这段时间大概就要算上战场之前的最终试炼了吧。我感觉,这似乎是申请过程中最痛苦难熬的阶段。首先,在前面漫长的紧张忙碌之后突然闲下来了,无事可做了,难免会觉得突然失去了方向一样倍感空虚;与此同时心又是悬着的,在等待结果,却又无法做任何事情来加速这个进程,就有点像有时候喜欢一个人但是却什么都做不了只能等待着等待着那样的痛苦。当然最痛苦的阶段还是真正开始于别人都开始有 offer 了,你还什么都没有或者只有 reject 的时候。一般是很难淡定下来做事情的,还好这段时间一般是寒假过年阶段,在家的时候大可轻松一下,出去找同学亲戚什么的玩一下什么的,每天早上起来查一下邮件就可以了。

求最小的几个特征值

在机器学习中经常都会遇到特征值问题,例如 Laplacian Eigenmaps 或者一大堆的 KernelPCA 派的降维方法,或者谱聚类之类的。通常都是对于一个很大并且比较稀疏的矩阵,求最大或者最小的几个特征值以及对应的特征向量。在 Matlab 里,eig 函数可以用来求得一个矩阵的全部特征值和特征向量,然而,如果我们只需要其中最大或者最小的那几个,用 eig 来求就显得杀鸡用牛刀了,费力还不讨好。而且,eig 还不能处理稀疏矩阵的情况,所以,这个时候通常就需要 eigs 出场了。

eigs 可以只求矩阵的几个最小的或者最大的(或者最接近某一个数值的)特征值和对应的特征向量,并且能够处理稀疏矩阵(如果矩阵规模很大而且稀疏程度有很高的话,使用稀疏矩阵速度会快很多)。当然它使用的算法和 eig 不一样,是迭代的方式(具体的细节我也不是很清楚,记得数值分析课上讲过 power method ,不过也忘得精光了 -.-)。这也造成了一个小缺点,就是当矩阵是 singular 或者 near-singular 的时候,如果求最小的几个特征值,就会有问题。例如下面这个极端的例子,我们造一个 rank 为 1 的矩阵:

a = rand(3,1);
A = a*a';
eigs(A, 2, ‘SM’);

Matlab 就会在这里出错。让人很痛苦,因为有时候会在数据中碰到矩阵 near-singular 的情况。一开始我找不到解决办法,因为 eig 是可以处理 singular 矩阵的,所以干脆在遇到 eigs 出错的时候转由 eig 来计算,然后手工选出最小的几个特征值和特征向量。

数学公式识别

在电脑上输入公式一直不是一件很愉快的事情,经历过 Word 的公式编辑器时代,还有 MathType ,只能说输入不方便而且结果非常难看。LaTeX 虽然号称是“所想即所得”,书写数学公式也相对流畅,然而有时候稍微复杂的公式写出来变成一堆结构不明显的代码,实在是比较难以继续——又不是所见即所得的,LaTeX 的错误信息又是那么让人摸不着头脑,遇到复杂的公式总是忍不住写一部分又编译一下看看是不是有问题,结果弄得很麻烦。但总归 LaTeX 渲染出来的公式目前来说还是最好看的,而且所见即所得的公司编辑确实也比较难做。Office 2007 开始有了新的公式编辑器,可以使用类似 LaTeX 的语法,渲染结果也比以前的那种要漂亮许多,不过那个所见即所得的编辑实在是非常难以驾驭,经常出现的结果是写了一大坨公式想要删掉其中的一个符号却删不掉,Office 只准你把这一整坨一起删掉,实在是很恶心,而且有时候还会有一些诡异的 bug 。就目前我尝试过的解决方案来说,我个人觉得 Emacs + CDLaTeX.el 是输入起来最迅速的,各种常用的符号、加粗斜体等操作都可以迅速完成;而最好用的是 LyX ,所见即所得的 LaTeX 公式编辑,总的编辑体验比 TeXmacs 要好。

解决 Matlab MEX 编译时 GCC 版本的问题

在 Matlab 里使用 mex 来编译 C/C++ 代码失败,这个问题算是困扰了我好几个月了,主要是我的环境比较恶劣:系统是 Arch Linux ,感觉这个系统比较喜欢追求最新版本,比较无视老版本软件的兼容性问题吧。再加上系统是 64 位的,出现各种兼容性问题似乎也觉得是理所当然的,然后像 Matlab 这样的软件通常使用较老版本的 GCC ,而 GCC 更新的时候又做了一些大改动,总之结果是我每次试图编译的时候都得到类似这样的错误:

/usr/lib/gcc/x86_64-unknown-linux-gnu/4.4.2/cc1: /opt/matlab/sys/os/glnxa64/libstdc++.so.6: version `GLIBCXX_3.4.11′ not found (required by /usr/lib/libgmpxx.so.4)

因为 GCC 新版本里把 GLIBCXX_3.4.11 这个符号去掉了,所以挂掉了。搞得我每次需要运行 mex 编译的代码都要放到另外一台 Windows 机器上跑。也 Google 了很多次都没有找到解决方案。今天一怒之下用了最暴力的方法:/opt/matlab/sys/os/glnxa64/libstdc++.so.6 其实是指向该目录下的另一个文件 libstdc++.so.6.0.9 的软连接,我将他改成指向系统里的新版本的 libstdc++:/usr/lib/libstdc++.so.6.0.13 ,结果问题解决了。那个目录下还有一个 README ,说了这几个文件是从 GCC distribution 里拷贝过来的。于是这样用新版本覆盖应该不会有太大的问题吧? 至少目前还没有出什么问题的。