學習聖經Deeplearning需要掌握哪些數學基礎?
剛剛接觸這本書,本人已經有本科高數線代概率論和離散的基礎,但是書中第一部分提到的很多知識都沒有學過,該看哪些資料好補補課呢
說一下我自己的學習經驗吧,對於認為沒看過ESL不能談機器學習的大神來說可以無視,我的經驗對於普通學習者可能更適用。
有了高數線代概率論基礎,為什麼deep learning第一部分的好多內容都沒學過?類似的問題很多人都遇到過。究其原因,是因為這裡面涉及的內容確實比本科常規課程或者說課本涉及的知識要多。第2章 線性代數,裡面有些內容是在矩陣論里才出現的,或者說在一些國外教材才出現的,比常規工科本科線性代數的內容要多要深一些。第3章其實還好,只有13、14節本科可能沒有學過。第4章的內容也不是本科時全部涉及過的。
第5章機器學習部分,理論上來說如果你微積分、線代、概率、統計、優化掌握的不錯的話,這裡應該很容易看懂。但是等你發現你把前幾章看懂了,發現這一章似乎還是有點迷,這也是正常的。這是因為你對那些數學知識的理解還不夠深,深到可以統一到機器學習中去,你學的數學,沒有遷移到機器學習這個問題之下,沒有建立起機器學習知識體系。
那麼,怎麼補起我需要的知識,然後加深我的理解呢?對於補知識,我的經驗是,不要覺得自己哪不好,就抱著個數學書啃啊啃。哪裡不會補哪裡。deep learning這本書的第一部分,本身就是給你個脈絡,讓你補一補。如果看這裡面的內容還有點迷,那就找本正經的教材書,看相應的部分,這就叫哪裡不會補哪裡。至於哪些書比較好,知乎上很多推薦,我就不列舉了。我自己當時是先刷了一遍MIT的線性代數公開課,概率部分就是買了一本國內教材哪裡不會補哪裡。接下來如何加深理解、形成體系。
這個時候你應該前4章都沒有問題了。第5章可以視個人情況而定,時間充裕、基礎好當然可以上三巨頭----ESL,PRML和MLAPP(看完一本就可以了)。比較推薦PRML,PRML還是比較自包含的。ESL太偏統計,和深度學習關係不大,不推薦。但是對於很多人而言,看完這些大部頭,深度學習都涼了。那麼如果時間不充裕基礎一般,看三小頭----周志華的《機器學習》,李航的《統計學習方法》和張學工的《模式識別》。這三本書內容都比較少,可以結合著看,也容易相互促進理解。以上是我建議的學習路線,我個人是先對機器學習有了一定了解之後才開始深度學習的。但是後面才是我想說的重點:deep learning的第5章只是叫「機器學習基礎"(事實上也是),我想作者的用意是學習這本書,關於機器學習你掌握了這些就夠了。這個理念是正確的,因為機器學習體系和深度學習體系還是有一定區別的。深度學習是機器學習的一個分支,但是這個分支和其他的分支實在是太不像了,因此如果你只是想學習深度學習,那麼對於機器學習,你只要學習它根部那些東西就可以了,其他分支可以暫時不學。這個機器學習根部,就是第5章涉及的內容。所以說,如果你就是想快速上手深度學習,更高效的做法是你只看第5章以及三小頭裡和第5章相關的部分就可以了。
這樣第一部分是不是就看完了,並且沒有花太多時間?
接下來我說一下自己的學(cai)習(keng)心(guo)得(cheng)吧,有些內容可能與上面的重複。
1.數學知識上,某方面的基礎知識不薄弱到某個份上,不建議整體重溫。基礎打得牢固然好,問題是沒有時間一直打基礎啊。而且效率真的低。
2.理論與實踐結合著學。直接上python即可,把科學計算那幾個庫熟悉熟悉,這個過程可能正好與你看deep learning 第一部分的時間重合。如果有心學學機器學習,那這時候正好可以用學的機器學習演算法跑幾個數據集,寫個完整的從數據讀入到輸出結果的小project。練練python又增加了對機器學習各個方法的認識。事實上,我覺得寫代碼調參的過程是必須的,只看書得到的理解始終到不了那個深度。推薦《機器學習實戰》和《集體智慧編程》作為代碼參考。等到了學深度學習的部分,可以考慮上手一個框架比如tensorflow啊,pytorch啊。還是那樣,邊學邊跑個代碼,調個參數,慢慢對深度學習這門玄學就有感覺了。
先寫這些,要回宿舍了。。。
謝受邀,把這本書The Elements of Statistical Learning讀完再談機器學習。可能有些人覺得說的不在理。那我就補充一下。
你要真正學習DL,你就得先學習ML,你要學習ML,你就得學習Statistical learning,然後你又要學習Statistics,其中包括基礎統計學的所有知識,所以你就要有一定的數學底子,包括,linear algbra,numerical analysis等。R語言是做統計分析的一個工具,剛才說的關於統計的一些內容都是基於它R語言寫的案例。所以,我們又可以這麼說,Python不是萬能的,Python的統計包做的比較爛,也就告訴我們,不要什麼流行就學什麼。學到後面,在有些問題的處理上確實Python很棒,我也有在用。再者,考一個好一點的大學,沒有很好的大學,也就沒有很好的資源,因為師資力量很重要,這段話也請不要斷章取義,有時候真的很重要罷了。還有要把英語學好,最好雅思過7分,看得懂最新的論文和研報,很多DL的東東都是老外得,如果沒有這樣一個技能,那你會很吃力去消化你想要的知識。個人認為,不能從半途插進來學DL,否則你將永遠是半瓶水。
我記得Ng大神說過一句話:只要用心,人人都是DL大神。我只信一半。學DL不能看書,寫書的時間太久了,所以Deep Learning這本書里有大量過時內容(如何判斷過時內容?基本上涉及到概率的都是過時的)。
想要學習DL的,請看每年都更新的cs231課程。
你一邊看一邊查就行,只要耐下性子一邊看書一邊查不懂的地方,堅持一段時間就行了。不懂什麼看參考書,點拓展看經典論文(這個階段可以只看高引用量),如非專業,不要著急速成。
基礎知識在Deep Learning這本書的第2章到第5章已經有所介紹,主要包括高等數學(微積分和線性代數)、概率論、機器學習和統計學習基礎。
高等數學和概率論在本科有相應的課程,如果掌握得不夠好,那麼拿出課本重新學一遍,對學習Deep Learning很有幫助。機器學習方面,有一些關於機器學習的書籍可以閱讀,主要是講一些傳統的機器學習演算法。機器學習和統計學習方面,有兩本書值得看的,Pattern Recognition and Machine Learning和The Elements of Statistical Learning,這兩本書難度很高,尤其是後一本更難,需要花較多的時間精力掌握,如果不能完全掌握這兩本書,至少應該了解一些基本的機器學習和統計學習的思想。
就數學基礎而言,看Deep Learning的第2章到第5章可以大致掌握,如果還想了解更多,可以看相關方面的資料。
歪個樓.
正在看這本書, 感覺乾貨滿滿, 以前做DL時遇到的很多困惑不解在這本書里得到了解答.
看中文版的前言需要微積分 線性代數 統計學等等,看英文版的前言寫的是Advance Calculus,一般國內叫數學分析,baby rudin的那本書
Ian Goodfellow(本書的作者)已經說了,讀者所需要的所有數學知識都已經在這本書前幾章講解過了,所以你不用邊看書邊查資料了。
個人感覺如果沒有數學統計基礎的話,讀起來還是挺費勁的……,李航的統計學習方法和周志華的機器學習書先看看比較合適,
私以為mlapp前幾章看懂了,然後哪裡不懂查哪裡
謝邀。這本書這樣寫的目的就是把前面讀了,數學知識就有了。如果想正統學。機器學習必不可少的:線性代數論和概率論。
大學本科理工方面的數學基礎,再加點矩陣論,凸優化就好。不要去補基礎,現學現查。
推薦閱讀:
※神經網路的損失函數為什麼是非凸的?
※如何評價邢波(Eric Xing)老師實驗室開發的深度學習平台 Poseidon?
※wasserstein 距離的問題?
※圖森科技的演算法實習生和地平線的人工智慧演算法實習生如何選擇?
※如何評價文章「谷歌太可怕?專家:中國智能晶元引領世界」?
TAG:數學 | 機器學習 | 深度學習DeepLearning |