統計人的算法進階學習之路

      博者本人一路從統計走來,從最初大學的懵懂,到考研的艱辛,再到研究生後的學習規劃,再到找工作以及畢業茫然,最後成功收穫到了自己想要的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

 

 

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