深度學習知識儲備
一.數學:
Required:
高等數學:
可汗學院公開課:微積分預備 http://open.163.com/special/Khan/precalculus.html
可汗學院公開課:微積分-微分學 http://open.163.com/special/Khan/differentialcalculus.html
可汗學院公開課:微分方程 http://open.163.com/special/Khan/differential.html
線性代數:
可汗學院公開課:線性代數 http://open.163.com/special/Khan/linearalgebra.html
離散數學:
買本教材書即可
概率統計/統計學:
可汗學院公開課:統計學
Optional:
想要發高質量論文,不只是用那幾個深度學習演算法搞搞庫的話,需要學先這些.
凸優化:
王寧的那本書 <凸優化>
模糊數學:
想深入理解計算機如何處理模糊的概念,比如頭髮多還是少,對機器學習的特徵處理能有數學上的認識.不要求深入,大概理解即可.
二.程式設計能力:
Required:
Python:首推python,好用庫全。
1.基本語法看兩天即可上手,推薦廖雪峰的python教程.http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000
2.深入語法:當想要程式碼不那麼醜,想要把python寫得如絲般順滑,必須瞭解裡面很多很多細節概念。建議<python學習手冊第四版>http://vdisk.weibo.com/s/BDAgBJIhoxITP
書不在多,一本即可。看完這兩個就可以多寫寫實際的程式碼.
實際編碼:
1.安裝anaconda.整合科學計算環境,庫檔案都有不用麻煩自己來裝了。
2.現在開始實際寫寫例子。
(1)python線性代數練習 非常簡潔的python線代實現教程 http://jingyan.baidu.com/season/41121
(2)《Python科學計算》第二版.瞭解Python來寫線代高數等實現程式碼如何寫..此書最好.
(3)《利用python進行資料分析》和上面的python科學計算進行互補。裡面有教anaconda裡的numpy,pandas,ipython等等怎麼用.還有實際的資料分析例子.
Optional:
C++:
當你以後學到那些深度學習框架時,會發現框架最多使用的還是c++, caffe\tensorflow等等;另外學python時偶爾會需要寫Cpython庫,也就是寫或者呼叫c++庫來給python使用。
三.機器學習:
深度學習是機器學習中的一種,也是目前最火也又有效果的一種。但是不能光學深度學習。學習其他的機器學習方法,alphago裡就不止是深度學習這一種,裡面還有一層增強學習。
Required:
1.入門:各種資料各種書。本人使用的是<機器學習導論>這本書入門的。另外,周志華的<機器學習>也很好。免得耽誤時間.有英文能力的看英文書也行,<PRML>推薦此書。
注:資料不在多,瞭解了那些最常用的幾個機器學習方法後就已經入門了,也不用再看這些入門書。
2.學會了開始搞點編碼練習.:用此書輔助<機器學習實戰>3.入門後呢,找些經典例項開發,是想機器學習語音/影象/文字/還是啥..現在走大流做語音助手或者人臉識別不是說不行。前人大牛都已經很成功了,很難殺出一條血路。本文不討論這些方向
研究選題方向,可以標新立異一點.思路從人類需要訓練才能獲得的行為出發。看機器可以通過訓練來掌握人類的什麼技能.
1.遊戲:有人用機器學習玩超級馬里奧,這是論文.
3.機器人:機器人方面除了視覺,其他的很多都是目前還沒有被開發的題目,相當於把一個機器人訓練成什麼樣,思路很廣.
打羽毛球乒乓球呀,走路,...等等..如何選題思路舉例:古有孰能生巧幹各種活.往機器人身上套就行了. 比如谷歌altas機器人用深度學習走路.
四.深度學習:
2.實際開發.各種框架都用一用:python方向推薦.Keras, backend 為 Theno/Tensorflow..以此入門最好,踩得坑最少.
。。。待續