史上最萌最认真的机器学习/深度学习/模式识别入门指导手册(一)
喵喵喵~大家元宵節快樂噢。有沒有要陪小夕出去看煙花的吖...
小夕借此給熱愛學習的喵喵們獻上這篇拙文,希望不要嫌棄哦~
還有,小夕畫的封面圖是不是很棒呀( ̄? ̄)
小夕發現現在想進軍人工智能領域的程序yuan甚至少年少女喵好多呀,但是有幾只向我吐槽過網上的資料很多很雜,入門指導基本是雜而不實,很容易讓人滿腔熱情的開始,卻又一臉懵逼的放棄。于是小夕來拯救世界啦!~
小夕的車轍
小夕從大二開始做人臉識別,后來發現很快遇到了瓶頸。于是開始學機器學習理論,又很快遇到了瓶頸,于是又開始補數學。補完數學又鉆模式識別,又被虐了,但還是辛苦的啃完了《模式分類》。后來學深度學習。再后來不停的論文論文論文、代碼代碼代碼...
?
由于小夕是從工程出發然后到理論,再回工程的道路,小夕覺得這樣走的彎路挺大的。而且前期做工程的時候真的很懵逼,各種看不懂然后跳過。
所以小夕這里分享給大家的道路是從理論到工程的平坦上升的道路。當然啦,理論中肯定會穿插代碼實踐。小夕希望這是一條靠譜的、沒有知識斷層的深度學習/機器學習的入門之路,希望能在真正意義上幫到大家。
前言
本指導適合于真正有志于鉆研機器學習(含深度學習)、模式識別及其相關應用領域的人。對于那種“1個月入門機器學習”的大忽悠學習模式,小夕這里沒有噢~
?
理論上說,完全小夕的整個入門指導后,應對整個機器學習大框架、理論細節、工程能力都有了比較好的積累。
?
在此之后可以偏向工程,輕松玩TensorFlow、Caffe等DL框架,轉CV、NLP等應用性更強的方向;也可以偏向理論,比較輕松的看看最新的paper,跟上學術界的最前沿。但是工程與理論不是絕對割裂的哦,偏工程也要看論文、補數學,偏理論也要敲代碼、了解優秀框架哦。
?
首先,在開始之前,要確保有以下的理論基礎:
語文能力最少達到初中水平。
英語能力最少要達到高中優秀水平,盡量在大學四級水平之上。
數學最少達到高中水平,微積分一定得學過。
?
盡量有以下的工程基礎(這樣可以邊學邊練,體會更深的喵,但是不會也沒有關系的)
面向過程編程范式
常見數據結構
常見算法思想及算法分析能力
?
然后小夕為了避免文章過長,將計劃截成了四五個階段。本文為第一階段。
階段一
線性代數
前置課程
中學代數
主參考資料
《線性代數應該這樣學》(英文叫《Linear Algebra done right》)
輔助參考資料(有先后順序)
《Deep Learning》Bengio等,第二章(中譯本勉強能看,鏈接https://github.com/exacity/deeplearningbook-chinese?嗚嗚好想趕緊開通原創功能插超鏈接);
Wiki百科(翻墻不用教吧...);
《矩陣分析與應用》張賢達
重點內容(無先后順序):
向量及向量空間
內積與范數
線性映射
矩陣? ??
張成、線性相關、線性無關
特征值與特征向量
特征分解
高級內容(最起碼要了解):
譜定理
奇異值分解(SVD)
矩陣的跡
行列式
學習方法
適當參考小夕總結的重點內容,細細的品味《線性代數應該這樣學》(這本書真的棒呆了)。
對于書中依然理解不了的部分,參考其他輔助資料哦。另外如果大家有哪方面難以理解,可以告訴小夕,小夕會盡量解答,若有必要的話直接寫一篇小文章幫助大家理解哦。
主要意義
線性代數是機器學習的不能更基礎的數學基礎。不僅僅是因為矩陣是機器學習中運算的基本單位,而且一些線性代數中的高級理論也被借鑒吸收到了機器學習算法中,比如用SVD(奇異值分解)來對特征降維,跡運算可以加深對PCA及某些聚類算法本質的理解等。
Matlab
前置課程
線性代數
面向過程編程范式
主參考資料:
Coursera平臺斯坦福大學Andrew Ng的“機器學習”課程的Matlab章節的視頻及補充資料
Matlab內嵌幫助文檔
輔助參考資料
Google
CSDN
StackOverFlow
重點內容:
Matlab基本語法
矩陣運算常用的內置API(即用戶編程接口/函數接口)
學習方法
參考Coursera平臺“機器學習”課程的Matlab教學視頻及閱讀材料來掌握Matlab基礎知識。
養成使用Matlab內嵌幫助文檔來學習新API的方法的習慣。例如在解釋器中可以用“help +命令”或“doc +命令”快速掌握某API的用法等。
多多總結積累常用的矩陣運算API。
主要意義
利用Matlab入門和理解機器學習算法,可以很大限度的忽略編程語言語法特性對算法實現的影響,也就是說語法對數學表示的還原度很高~這樣可以很輕松的打通數學到計算機算法的橋梁,對于以后深入學習機器學習的理論和代碼實現都大有裨益。
機器學習-上
前置課程
線性代數
微積分
Matlab
主參考資料:
Coursera平臺斯坦福大學Andrew Ng的“機器學習”課程
《數據挖掘導論》
重點內容:
機器學習基本概念及應用領域
回歸與分類的概念
線性回歸模型(Linear regression model)
邏輯回歸模型(Logistic regression model)
淺層神經網絡(Neural Network)
支持向量機(Support Vector Machine)
交叉驗證思想及用途(Cross Validation)
聚類的概念
K-Means模型
學習方法
乖乖的跟著Coursera課程計劃來就好,要認真完成課后習題和編程題哦。若課程中的有些內容實在沒有理解透,強烈建議參考《數據挖掘導論》中的相關章節吶(這本書對于機器學習部分的講解很好喵)。
小夕注:?Matlab代碼實現中多多體會和建立“用矩陣運算”解決問題的思想,努力擺脫“循環套循環”的low做法。Coursera結束后,仔細閱讀《數據挖掘導論》中的第4、5章。先跳過其中的決策樹和貝葉斯分類器那一節(以后的計劃中會安排的哦),另外第五章的組合方法能看懂就看,看不懂也沒關系,放在以后還會深入學。
主要意義
Coursera上的“機器學習”課程中幾乎沒有涉及到概率統計的知識,自然也沒有貝葉斯分類器這個經典統計模型。同時也沒有深入講解最優化的知識。
不過這樣極大的降低了課程的難度,非常適合拿來快速接觸機器學習又不會受很大打擊。對于提升興趣,以及后續理論深入的學習真的很有幫助呀,小夕當年就是看了這個視頻然后愛上了可愛的Andrew Ng,然后愛上了這一領域\(//?//)\。
而《數據挖掘導論》也非常適合新手入門,講解的十分淺顯易懂,在Coursera課程結束后再根據這個復習一遍,效果會非常好的。下階段預告
概率論與數理統計
最優化算法-上
機器學習-下
本文重點
?
記得推薦給身邊有需要的人哦,ta與小夕都會很感激您的~
?
...要哭哭了,最近都快沒人打賞了...對小夕的文章不夠滿意,記得在訂閱號主頁給小夕提意見哦~小夕真的很用心哦(。 ?︿ ?。)
總結
以上是生活随笔為你收集整理的史上最萌最认真的机器学习/深度学习/模式识别入门指导手册(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阿里P8架构师谈:数据库、JVM、缓存、
- 下一篇: 深度学习在文本领域的应用