统计人的算法进阶学习之路

      博者本人一路从统计走来,从最初大学的懵懂,到考研的艰辛,再到研究生后的学习规划,再到找工作以及毕业茫然,最后成功收获到了自己想要的offer,一路非常艰辛,有很多学弟学妹都会请教我是如何学习的,在此记录下,并且推荐一些干货,以供学弟学妹们参考。

1. 本科考研  

    因为我本人从本科开始到研究生就一直是应用统计专业,基本算是见证了这个专业是如何火热起来的,最开始本科填志愿时并不知道什么是统计,这个志愿也是调剂的,大-到大三基本就是玩吧,然后到大三的时候,身边朋友说考研,于是毅然决定开始准备考研,有研究过统计专业的都会知道,统计比较好的学校就是人大、上财、厦大,于是啥都没调研就准备和一个同学一起考厦大,另外的几个分别考上财、湖大和暨南大学,那段时间也是非常努力的学习了,可是时运不济,最终没考上,上财和湖大的同学考上了。当然就觉得不服,于是想准备二战,被妈妈阻止,强行调剂回长沙理工,然后就有了我的研究生生活。

2. 研究生学习

   2.1 比赛

   不知道那段时间受了什么薰陶,开始想考CPA,暑假到研一开学前竟然都在认真准备CPA考试,竟然还过了一门...后来研一cpa考完好像是10月份还是多久,比较无聊,就想着python比较火(本科的时候都是R、matlab),开始看《利用python进行数据分析》,开始跟着这本书慢悠悠的学习,qq上也添加了许多关于机器学习的群,某天夜里群里有个人说自己打天池比赛招募队友,然后就开始接触到了天池数据挖掘比赛,因为本科有一丢丢编程基础,数学基础也不错,跟随者我高大上的队友开始了花式玩数据,堆模型,都是现学先用,因为这个比赛持续了快三个月,这三个月我基本每天都是在学习阅读kaggle上的一些kenerl,尝试一些小trick,2500多只队伍一直稳定在前十名,可惜存在过拟合,最后换榜掉在了42名,这场比赛相当于是彻底打开我的数据之路。比赛结束后我就是认真分析总结一些开源代码的思想,总结模型,总结方法。后面又参加了天池IJCAI18,5000多只队伍第60名。

  2.2 打好基础

   开始补充模型的基础知识,主要就是看周志华《机器学习》和李航的《统计学习方法》,跟着书本仔细推到模型,这点比较重要,知其然方能知其所以然,尝试自己代码复现。然后学习数据结构,学习sql,刷牛客网上的leetcode和sql题,所有书籍我会传到我百度云分享出来。这个时候我基本坚定了自己走 数据或者算法这条路,CPA完全放弃。

 2.3 研一暑假实习

   自己在上财的同学从研一就开始实习了,考虑到自己研究生学校不是很好,就想着尽快实习或许还能博一下,于是在研一的暑假开始找实习,最后是本着方便在长沙的一家小公司实习,总部是在北京,他们当时是弄个暑假实训营,找来了不同方向的学生一起培训实习,当然大方向都是互联网研发,在这个公司最大的收益就是工程上的一些事没那么一窍不通了,都是和一起实习的小伙伴学的,自己搭建hadoop,弄spark啥的,配合看一些书籍,学的比较快。自己所在的公司也每年会举办一场数据挖掘比赛,我以学生的身份参加了,差不多就是10多名的样子,后面因为是自家公司的比赛,前几名的源码思想都会拿得到,所以便宜不占白不占,立马收割,细细的品,不懂的地方还可以直接问参赛选手(前几名需要现场答辩),因为平时比赛就是传统机器学习方法构特征堆模型,深度学习阿里妈妈比赛的时候有试过不work,也没有继续往下学,然而我们公司这个数据集似乎更适合深度学习,当时第二名说明文档写的很仔细,实现了两种方法,最后stack夺得第二名,这仿佛又打开了我一扇大门,于是开始学习keras,tensorflow,熟悉一下常用的网络结构,自己搭基本没啥问题了。

2.4 研二春招实习

   2019年注定就是不平凡的一年,秋招前的最后一个暑假,互联网方向的都知道这个暑假实习的重要性,因为互联网可能50%+的秋招offer都给了暑假实习转正的人,所以他们每年暑假实习都是招今年要参加秋招的人,卡的也会比日常实习严格很多,身边打比赛的队友都去了大公司实习,我自己也鼓起勇气投一些较大的公司,面经可参考https://blog.csdn.net/qq_40778406/article/details/91344711,基本都是在牛客网上找内推或者找认识的人直接内推到部门leader(这个方式简历通过率是最高的,也是反馈最快的),从19年3月刚开始我就开始投,一般建议是越早投越好,坑多面试简单,之前同学就是一直觉得在准备准备投,拖到4,5月投,已经没有什么hc了,面试一边都是围绕简历展开,你的简历就是你最好的准备工具,一定要方方面面仔仔细细的,面试完立马总结,最开始面试非常被动,缺乏经验经常被面试官牵着鼻子走,后面面多了就发现基本绕来绕去就是那些问题,可以尝试着引导面试官,他们比较care的就是你在某个项目中遇到的难点,你怎么解决的,为什么你要这样做不那样做,大多时候都是考你一些基础知识,所以你最好养成笔记的习惯,当时我围绕着自己的简历做了一份比较全的知识点剖析,没事就回味一些。想要做算法的话,现场编程也是非常重要的一个环节,我当时也是这一步吃了大亏,leetcode没有很熟,一到写程序空气就突然凝固,然后就gg了,所以我奉劝各位同学从一开始学习就每天两道leetcode,一般最好刷完medium,hard刷一半以上,对于题目要熟悉到最优时间复杂度/空间复杂度一次性bugfree,时间紧的至少也要刷完热门前100题。最后选定公司我主要就是看公司部门,是否有留用名额(面试的时候问面试官)。

3 .暑假实习+秋招

    兜兜转转就开始暑假实习了,我的目标很明确,那就是拿到秋招offer,所以一定要够主动,不怕吃苦,多学习。实习的时候我基本能做到早上9点到晚上12点全时段在线秒回,周末亦是如此。当时公司在封闭开发,事情也多,经常晚上10点多还有突然的需求,我都是随身带着电脑跑,及时响应,老大好几次夸我靠谱。周六偶尔加班,不加班也会去公司自主学习,当时带我的老大人也特别好,是抱着培养的心态带我,隔壁组的老大对待实习生就是对待打杂的态度。所以最后结果就是被老大认可,老大极力推荐我留了下来。我本身自己喜欢这个组的业务,氛围也还比较融洽。所以能留下来我就非常开心。秋招也就没什么压力了,回到学校一边准备着论文,也还跑着宣讲会,又吃了一番苦头,反正就是看个人追求把,后面秋招也拿到了还可以的offer,但最后也都还是选择了去实习的那家。

 4. 我的现在

    俗话说,今天不学习,明天变垃圾。所以说每天都还是要学习的,确定了职业发展方向,就可以全心全意的超它发展了,互联网更新迭代快,所以我基本会保证每周一篇论文的阅读,尽量去复现,代码写的不好,我就多看看别人怎么写的。不想老老实实坐在书桌前用电脑的时候,我就看知乎,关注了许多业界的大佬,既幽默又专业,啃啃他们写的文章,无意之中我又学到了许多,将学习当作兴趣的话,真的是无时无刻都觉得开心。

5. 个人建议

    算法真的是太火了,只要是研究生,不管啥专业,基本全民算法了,所以每年竞争极其惨烈,除了产品经理,最难的岗位的应当就是算法了,所以他的门槛也会被拉的比开发高,更看重学校、比赛、论文、实习,每年也是旱的旱死,涝的涝死,所以我建议如果是计算机的学生做两手准备,算法和开发,如果是跨专业的实在做不了开发,也可尝试数据分析和数据挖掘(虽然竞争也很激烈),但是不要在一棵树上吊死,算法其实没有你想象的那么光鲜,有时候,选择比努力更重要!

   注:如果是大佬请随意,反正70%的offer都会在你们身上

6. 书籍分享

      机器学习相关:《机器学习》周志华,《统计学习方法》李航,《机器学习实战》

      自然语言处理:《统计自然语言处理》、

      python相关:《利用python进行数据分析》

      推荐系统:《推荐系统实践》,《计算广告》

      数据结构:《大话数据结构》

      深度学习:《深度学习》花书

      C++:《C++ Primer Plus 》

      hive:《Hive编程指南》   

      shell:《shell脚本学习指南》

      hadoop,spark:《大数据Spark企业级实战 》,《hadoop实战》、《Spark快速大数据分析》

      linux:《鸟哥的Linux私房菜 基础学习篇(第三版)》

      leetcode:《剑指offer_名企面试官精讲典型编程题》、《算法图解》

还有一些看过的,都打包了,尽情挑选,多看书!

哈哈,百度云链接附上,喜欢纸质的某宝买:

链接:https://pan.baidu.com/s/1d8ewp-bcZUtE8dAVO8-eVQ  密码:i2js

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章