算法自学之路:本科经济的背景下拿大厂算法offer
19校招阿里腾讯华为美团算法岗面经,均已拿offer
在原帖下,很多人回复并且希望我能开一篇如何从文科专业,经济学专业自学转算法的帖子。正好现在人在美国,还在倒时差,睡不着就来写写这篇帖子。希望大家能从中有所启发,再次强调,我非大佬,能拿到这些offer纯粹是一些运气和老天对我努力的奖励,我离真正的算法工程师差距还很大。
1. 背景介绍:
本人是在国内某东南海边小城市985上的本科,高中作为一个文科生,只想以后划划水在家和老爸做做生意。高考后,侥幸考了省前150名,但是还是离好大学的好专业有差距,所以无奈选了该985的经济学,进入经济学院后,又考入了王亚南经济研究院,这可以说我人生的一个转折点。在这个奇葩的经济学国际化试点班中,我们要全英文上课考试写论文写作业,要上15学分的数学分析,6学分的大学物理,这些“奇葩”的课程安排,无意间为我后来的发展垫下了基础。想象一个文科生上这种课的痛苦。。。
美国研究生申请阶段,由于本科的数理统计课的兴趣激发,所以决定往统计专业申请,刚好当时有个叫“数据科学”的专业吸引了我的目光,于是抱着试一试的态度就去了,实际上当时根本不知道什么大数据,机器学习,算法是啥东西。研究生第一年,很自然的除了课内的统计课,我一门心思只想做金融,于是连考了2级CFA也就是特许金融分析师,而且基本都是8A以上通过。正当我做着成为金融大亨,迎娶白富美,走向人生颠覆的美梦,现实击倒了我,国外的大投行我甚至收不到任何一个实习的面试机会。。。我懵了,于是脑海闪过了一个做数据的念头。
研二前,我申请了gap一年,这一年时间,我开始疯狂找实习,刚开始是很困难的,由于没有什么实践和项目经验,基本没有人理我。好在一个Amazon的pm赏识我,让我从数据分析师做起,在Amazon一共做了6个月的数据分析,后来事情就变得越来越容易,Intel的BI分析师实习,美团的算法实习也就随之而来。在实习的日子里,除了做好本职工作外,我每天回到家必须再额外学至少3小时的东西,才能让我往前追赶。。。
终于,在研二前的暑假,也就是这个校招,我算是侥幸拿到了这些offer。。。接下来的一年,我除了疯狂去CS蹭课,还得舔着脸找大牛prof要项目做research,我离成为一个合格的算法工程师的路还很长。。。
2. 这一年我看的书和刷的题:
《统计学习方法》李航:看得非常细,手推了里面的每个公式
《机器学习》周志华:基本没咋看,只看了上面那本没涉及到的
《Python与机器学习实战》 何宇健:实现了里面的大部分代码
《剑指offer》:其实主要是在牛客上刷了两遍题
leetcode:大概200多题
《算法导论》:买来当鼠标垫了。。。但是最后这年希望能好好看一下
3. 学习方法:重点(CS科班大佬们可跳过退出这个帖子啦,希望和我一样的转专业狗可以看看)
接下来就是干货了,前面这些其实都是废话。
工具:一本有机器学习算法数学推导的书(《统计学习方法》),***,草稿纸,一个笔记本,一个笔记本电脑
对于每个算法/模型,要做以下几件事情:
1. 看一遍理论推导,不会的不懂不理解的地方Google it
2. 自己盖上书在草稿纸上推导一遍,忘了接着看书,然后接着盖上书重来一遍
3. 在笔记本上开一章专门针对这个算法的页,把书上内容复现在本子上
4. 在Google上搜索: (以SVM为例)SVM适用场景,SVM解决过拟合的方法,SVM损失函数,SVM的优缺点,SVM与其他分类方法的比较,SVM的分布式计算方法,SVM的复杂度,并讲这些内容记在本子上
5. 打开Google/github,搜索该算法的实现代码,不要调包。。。而是老老实实的跟着网上代码的代码自己写一遍
6. 找一个数据集,自己kaggle上找一个适合该算法的,跑一下,看有没有bug
7. 在Google上找到该算法的调包和调参指南。。。用刚刚的数据集当一次调包侠和调参侠
完成以上7步,算搞定一个模型,惭愧的说,因为时间有限(懒),我并没有每个模型都做了以上7步,但基本也差不多。。。
4. 总结:
我也不想废话太多,这篇帖子只专注于第三部分,至于获得一份算法的offer需要什么,由于我不是大佬,不敢乱说,只能说好的实习/好的论文/好的比赛项目/好的学历都可作为你的闪光点。。。不敢说哪个重要,但至少还是得有一个的。。。最后希望即便现在没有offer的同学,不要着急,你要相信,借用牛客另一个大佬的话,现在有offer的很多人两个月前就是个菜鸡,我们只是前期运气好一些罢了,后面的运气希望都能给你们。希望现在还是研一甚至本科的同学,早点想好自己要做什么,然后为之努力。天道酬勤,Trust the process!
最后如果想要和我进一步交流的,可以私信我加我微信,谢谢大家看到这里!