有很多小伙伴想自學機器學習,但是無從下手,特意找來知乎高贊回答,感覺看了以下回答,會有所受益。
入門
首先,你要知道什么是機器學習。
這里我推薦Andrew Ng的機器學習教程,比較適合新手和來自工業界對數學要求不是很高的同學。
這門課適合剛上大學的萌新們。
https://www.bilibili.com/video/av50747658
它有19個小時,我看完它用了將近兩個月,我建議你也不要看的太急。
當看完這些教程之后,你就對機器學習有了清晰的認知。
接下來,你可以感性的認識一下深度學習,我同樣推薦Andrew的課。
https://www.bilibili.com/video/av49445369
這門課同樣不難,不需要高深的數學知識,同樣是為新手們準備的。
深度學習的內容稍多,Andrew帶你粗略的了解了AI的一些方面,一共25個小時,我看完它花了三個月。
在期間我去實踐了他提到的各種優化方法和技巧,閱讀了CV和NLP領域他提到的論文,并且找到輪子跑了跑。
我認為,深度學習的學習更重要的是實踐。
進階
接下來,你可以嘗試讀一些有公式推導的專業書籍了。
前提是你已經了解了線性代數,微積分和概率論的知識,當然,作為計算機系的同學,你一定掌握了離散數學。
我推薦《統計學習方法》,它適合接受能力正常的同學。
https://book.douban.com/subject/10590856/
因為我是接觸機器學習很久后才接觸到這本書的,因此我讀的很快,沒有印象到底讀了多久??傊@本書比較平易近人。
如果你覺得你的理解能力一流,我推薦《機器學習》。
https://book.douban.com/subject/26708119/
這本書的覆蓋范圍非常廣,適合打算進一步深入這個領域的同學。
這本書是我機器學習的入門書籍,又愛又恨。
看這本書的同時你可能會感到數學基礎不夠,十分歡迎你補課凸優化。
我推薦Boyd的covex optimization,Boyd書寫的不錯,但是感覺課講的不太好,同時推薦凌青老師的公開課。
https://book.douban.com/subject/21249088/
https://www.bilibili.com/video/av40868517
如果你的數學基礎比較好,又不太喜歡讀書,我強烈推薦你直接看李宏毅老師的公開課。
李宏毅老師非常幽默風趣,上他的課是十分快樂的事情。
https://www.bilibili.com/video/av10590361
https://www.bilibili.com/video/av9770302
如果想進一步了解機器學習的最新進展,可以看https://www.bilibili.com/video/av46971639
我真得真得非常喜歡他講的課,同時我認為你看完這些課之后會對機器學習(主要是深度學習部分,對,他幾乎不怎么講統計學習)有更深的認識。
這三個視頻分別是31,40,11個小時,我看完花了相當長的時間,如果你已經有一些接觸但是擔心他哪里講的太好沒聽到可惜,那么可以先瀏覽他的slides,slides做的也非常棒!
前面的課程和教材都集中在監督學習和無監督學習,別忘了強化學習也是機器學習非常重要的一部分,強化學習推薦大家都熟知的Reinforcement Learning: An introduction.
因為這本書開源了,我直接給你pdf:https://urlify.cn/JZFBJv
這本書是強化學習領域非常非常經典的教材,但是這本書寫的太磨嘰了!
不過我也沒有其他備選項,如果有讀過其他強化學習教材,感覺不錯的,歡迎補充。
深入
接下來該深入了解機器學習了,到了這個階段,你也不是大家口中的小白了。
統計學習方面,我推薦Pattern Recognition and Machine Learning
https://book.douban.com/subject/2061116/
這本書詳細的介紹了頻率派和貝葉斯派的思想,讀這本書的時候你會有一種恍然大悟的感覺。
注意網上的版本可能會有錯誤,參考這本書的勘誤。https://urlify.cn/ER7zie
同時,深度學習方面推薦非常經典的花書,它也被稱為深度學習的圣經。
https://book.douban.com/subject/26883982/
概率圖模型推薦這本Probabilistic Graphical Models
https://book.douban.com/subject/4007200/
它和前面那本Reinforcement Learning: An introduction一樣,非常全面,但缺點是太啰嗦了,英文版1200+頁,我沒讀完。
然后,下面是一些在我書單里,但是我還沒有開始讀的書,大家可以了解一下。
https://book.douban.com/subject/3294335/
https://book.douban.com/subject/1789534/
https://book.douban.com/subject/10758624/
可以看到,這些書的側重點都不同,這也是為什么我打算都讀一遍它們。
當你進入「深入」這個階段的時候,其實你完全可以開始自己讀論文了。
當然,如何找到合適的論文,這類問題在知乎已經有非常詳細的回答了。同時,知乎也是一個學習機器學習的好地方,這里有很多知識淵博的答主,他們在我剛入門的時候給了我非常大的幫助。
二
作者:hy5468
https://www.zhihu.com/question/332726203/answer/734365629
入門不難,深入難
1.了解什么是機器學習。推薦吳恩達(Andrew Ng)機器學習課程(非深度學習課程),看下來最適合初學者的還是吳恩達的視頻,講的內容精要但是有來龍去脈,必要的數學原理會解釋到能讓人看懂的程度,當然更深入的理解就要學習相應的數學基礎。
2.數學基礎。有些人覺得現在搞深度學習不需要啥數學基礎,但那樣只會淪為低級的調包俠,不能成長為一名合格的煉丹術士。機器學習(包括深度學習)需要的數學基礎包括:微積分(熟練掌握),凸優化(熟練掌握),矩陣論(熟練掌握其中矩陣運算,各種分解等,并理解其含義),泛函分析(理解,如果不做相關內容,看著不眼生即可),高等概率論(理解,常用概率公式和概率定理)。數學不要光看,要聯系機器學習當中的實際應用一起理解。
3.編程基礎。常用的有python,MATLAB,C/C++等,理論上C/C++學好了,其他語言掌握特性和擴展包即可。
4.如何深入。找個靠譜的老師!找個靠譜的老師!找個靠譜的老師!翻到你們學院老師主頁,如有文章發表在NIPS,ACL,CVPR,ICLR,ICML等會議上,說明學術水平非常不錯。然后打聽其人品,人品可以,就聯系跟著做??孔V的老師會直接帶你走入到一個細分領域的最前沿,節省大量的搜索時間。
三
作者:Kel Liu
https://www.zhihu.com/question/332726203/answer/756804600
如果只是想學到會用各種模型解決問題的話現在的理論儲備已經夠了。
推薦個我們學校的課程:https://urlify.cn/JJVv6v
在syllabus那一欄下面有所有的課件。我覺得Kilian是個很好的教授,講得非常清楚。(雖然我不怎么去上課。。)他的課件也是循序漸進挺有條理的。我感覺機器學習的傳統方法其實都是統計的各種運用。。所以如果題主統計學得好的話其實看起來應該沒有什么問題。在知道各種傳統模型背后的原理之后其實就可以去調參娛樂了。推薦再學個python,現在感覺python已經占領了機器學習領域。。
如果題主追求分析模型的能力,比如說分析一個SVM的最大error margin是多少這種東西,就屬于master level的課程了。類似于machine learning theory這種課。我能力有限無法做出評價。
課程后半段會討論深度學習的概念,這個學起來的感覺和傳統模型差別很大,挺魔性的。我覺得作為本科生題主只要能在不同場景下知道運用什么魔性,大概怎么調參,就可以了。如果以后還對這個領域感興趣的話可以讀研讀博深造。如果你想要練手的項目之類的我也可以試著去翻翻以前的作業。
四
作者:匿名用戶
https://www.zhihu.com/question/332726203/answer/110691656
首先,不會很困難,學過高數線代概率論就行。
其次,對于怎么學的問題,私以為,選擇太多往往會每個就看一點最后什么都沒學到。建議按如下順序學習:
1.coursera上吳恩達機器學習--推導少,簡單易懂,適合入門;
2. 有了大致印象之后,可以看一些更深的課程。比如李宏毅和林軒田,B站上有;
3. 強烈推薦看B站大神shuhuai008機器學習白板推導系列,看完之后機器學習數學基礎應該很不錯了。
以上都完了之后,如果你還是一個本科生,建議找導師進實驗室/聯系實習。
五
作者:凌軍
https://www.zhihu.com/question/332726203/answer/760396018
在讀小碩士一枚,大四考研期間抽時間學了python和機器學習,不請自來分享一下學習經歷。
準備
學機器學習首先要入門一點基礎概念,比如機器學習是什么,包括哪些研究問題,研究方法等等。比較知名的教材像《模式識別與機器學習》這本書,還有國內很火的西瓜書《機器學習》(周志華著)把幾十年來的東西都總結了下來,看看目錄就能對這些問題有個膚淺的了解。
循序漸進
大概了解之后就得選擇學習資料,教科書自然就不用說了,肯定是必看的。想學得循序漸進一點的話,可以在慕課上參加國內大學開設的機器學習課程或者在coursera上選一門課程,每天跟著課程學習,完成作業。
這當然還不夠,如果只聽課,聽完了不會有很深的印象,對應機器學習中的學習型算法,像線性回歸,邏輯回歸,決策樹,隨機森林,支持向量機等的數學推導應該能做出來才能證明你懂基本原理了,更深刻的知識比如這些方法適用的問題,優缺點等應該很熟悉才對。
練手
理論搞懂了就可以實戰了,可以試著拿一些小數據集來訓練,手寫優化算法,作為檢查對比,可以用機器學習包sklearn做一個對比結果,了解一下自己算法新能的差異。
代碼都搞通了就可以參加上kaggle做更大規模貼近真實場景的數據了。。
六
作者:菜狗
https://www.zhihu.com/question/332726203/answer/737205846
我個人覺得,先挑一個不錯的教程,比如吳恩達的課程來看,不要著急好好理解體會內容,不懂的地方就多看看別的資料、書籍之類的。
同時好好學習自己的專業課,比如數學能力、編程能力都很重要。學這東西也不要著急,踏踏實實的學,等入門了在開始看點的稍微難點的,比如吳恩達cs229或者李航的統計學習方法。
最好跟著導師做下項目,這個很重要,同時有時間的話在參加下相關的比賽,對個人能力都是個提升,如果靜下心來搞科研的話,還是要多看看state of art的論文,跟著前沿走。
-
機器學習
+關注
關注
66文章
8382瀏覽量
132436
原文標題:本科生如何自學機器學習?
文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論