1. 程式人生 > >深度學習知識儲備

深度學習知識儲備

一.數學:

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

離散數學:

買本教材書即可

概率統計/統計學:

可汗學院公開課:統計學

 http://open.163.com/special/Khan/khstatistics.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..以此入門最好,踩得坑最少.

。。。待續