前言
之前分享過一篇算法的學習文章
,有人留言說想看看具體怎麼看怎麼學,我一直記在心中,今天終於找到了這樣一個github,有機器學習自學方法總結/算法崗準備指南/面試經驗總結,感覺是我目前找到的最好的機器學習自學教程了,多看看,能收穫不少,這裡分享給大家。出自:
https://github.com/zslomo/2019-Autumn-recruitment-experience
offer
百度廣告 品牌廣告(正式批) 機器學習算法
螞蟻金服 微貸 算法工程師
騰訊 CDG 廣告 算法工程師
愛奇藝 廣告部 算法工程師
海康威視 上研 CV算法工程師
拼多多 推薦算法(正式批) 算法工程師
虹軟CV 筆試 CV算法工程師
美團廣告平臺 推薦算法工程師
網易 杭研 數據挖掘工程師
達觀數據 算法工程師
機器學習資料準備以及自學方法
1 資料、課程
人工智能太火了,資料特別多,但是魚龍混雜,實際上經典的課程資料 paper就足夠
吳恩達系列
吳恩達老師真乃人工智能屆的孔夫子,在這個水平上還能致力於基礎教學和入門推廣功德無量啊,吳老師的課講的也是真的好。
CS229(https://www.coursera.org/learn/machine-learning),強推,Stanford的公開課,網易雲課堂有2008年的課件和講義,我就是對著這個學的,打印講義一點點對著推吧。
Coursera Machine Learning,Coursera的課比較基礎,其實有了CS229就不推薦看這個了。 DeepLearning.ai(https://www.deeplearning.ai/),也是偏基礎的課程,不過還是很值得看,對傳統機器學習、CV、NLP都有一個不是很深入的講解,作為入門很棒。
Machine Learning Yearning(https://www.deeplearning.ai/machine-learning-yearning/),這本書也是偏基礎,工程向,講了實際工程項目中調參等等東西,我學的時候只出了前幾章,後面沒有看過。
李沐 動手學深度學習系列
動手學深度學習(http://zh.gluon.ai/),強推,非常好的課程,李沐是機器學習的大家,在分佈式機器學習領域非常有建樹,除了廣為人知的mxnet,還有parameter server,這裡就不展開說了。李沐的課程是將門斗魚的直播,都錄了下來,在網站上還有配套的代碼講解和書籍,唯一美中不足是基於gluon,這個稍微冷門一些。
莫凡系列
莫凡python(https://morvanzhou.github.io/),怎麼說呢,比起其他課程還是遜色不少,不過講的很基礎,而且是不多的講解RL的中文課程。
其他公開課
CS231N(http://cs231n.stanford.edu/),強推,stanford公開課之二,李飛飛的cv實驗室出品,講師是大名鼎鼎的Justin Johnson,雖然是講CV,但對DeepLearning的基礎也講的非常詳細,cs229是最好的ML課程,cs231n是最好的DL課程。
附加:算法導論 6.046J(http://open.163.com/special/opencourse/algorithms.html),大名鼎鼎的MIT算法導論公開課,雖然不是ML/DL向,但是基礎算法還是要會的,畢竟算法工程師首先是工程師,課程較難,很多名校本科上過這門課,大部分沒有上過,還是有必要抽空看看的
2 書籍
《CS229講義》,為啥把這個單獨拿出來說呢,因為這個講義真的就是一本書,有詳細的推導過程,並且很多同學看公開課會忽略講義,一定注意。
《統計學習方法》 李航,機器學習最常用的書,人稱小藍書,其實這本書不適合入門,裡面很多推導晦澀難懂,但是講的很詳細。有些地方的推導方式和寫作習慣跟吳恩達不一樣,所以兩個一起看有時候會很迷。
《機器學習》 周志華,人稱西瓜書,不僅封面是西瓜,裡面的例子也全是西瓜。難度比《統計學習方法》簡單不少,還有各種西瓜例子,入門首選。
3 項目
其實這塊是最難的,因為自學,實驗室也沒有項目,實習沒有基礎也難找,尤其我年初自學,3月份就開始暑期實習招聘,再找一個實習肯定來不及,好在我們有kaggle!
kaggle,強推kaggle!!!!
在開始kaggle之前,請看看Kaggle的三個Getting Started比賽,分別是手寫識別(CV),泰坦尼克預測(分類),房價預測(迴歸),這三個比賽就是教學比賽,kernel和discuss版塊有大量的教學,好幾個會長篇講如何基本的使用DNN、xgb、lgb、sklearn這些工具,和如何開始做機器學習。
當你開始打featured的比賽的時候,有一點要明確,去打比賽不是為了贏,你是個沒有基礎的初學者,很可能也沒有隊友,只能solo,想拿名次就算了,打kaggle的目的是為了學習,為什麼選kaggle不選天池或其他比賽呢?因為kaggle的氛圍非常非常open,討論區和kernel區一定會有人給出自己的完整思路和代碼,不僅有base model,還有各種有用的數據處理代碼,甚至很常見到前10的隊伍公開自己的思路甚至代碼!這是其他比賽不具備的,你可以在看別人代碼,改進自己代碼中成長。
4 積累
這是自學最欠缺的,沒有積累,尤其是科研積累,沒有人帶自己想搞出一篇工作就免了吧,但是熟讀某個方向的paper,對該方向有深入瞭解是必須的,如果僅僅是達到見過或者會用的程度,肯定拿不到offer的。具體的積累看是什麼方向,github上有很多repo是經典paper集合比如這個repo,可以對照著看,也要關注該領域頂會每年的文章,還有就是對自己項目中用到的model、方法的相關工作要熟讀。
5 計劃
時間緊迫,給自己定一個清晰的計劃還是很重要的,筆者自己是打印了一份日曆,然後把暑期實習、秋招等關鍵時間點和自己計劃完成的deadline日期做上標記,每天干過的事情標在當天的日期上,然後劃掉這一天,每天看著時間會有緊迫感促進你學習。
6 老師
自學沒有老師,但俗話說三人行必有我師,周圍相關方向的同學,該請教就請教,有些東西自己搞是搞不出來的,但會的同學隨便點你一下這塊就過去了。記得請教過你的大佬吃飯。
END覺得文章不錯的,歡迎點 好看和轉發,長按下圖關注程序員喬戈裡,收看更多精彩。
作者喬戈裡親歷2019秋招,哈工大計算機本碩,百度java工程師,歡迎大家關注我的微信公眾號:程序員喬戈裡,公眾號有3T編程資源,以及我和我朋友(百度C++工程師)在秋招期間整理的近200M的面試必考的java與C++面經,並有每天一道leetcode打卡群與技術交流群,歡迎關注。
閱讀更多 程序員喬戈裡 的文章