機器學習怎麼入門——自學篇

時也勢也,最近因爲機緣巧合,下定主意要從項目管理領域跳轉到機器學習領域(人工智能/深度學習),爲了更快更高效的進入學習狀態,我對這一塊的培訓市場和自學方法也做了一些調研。上一篇(機器學習培訓班這麼多,你該如何選擇?)已經就培訓市場情況,做了一個簡要說明,今天就自學成才道路進行簡要分析。由於我也是剛剛開始這塊的學習,難免會有紕漏,請大家批評指正。

首先,闡明以下個人背景:211工科碩士,雙控工程畢業,有一定數學和人工智能基礎。

接下來,我們就細細分析人工智能的自學之路。

1.前提條件:個人學力(非學歷)要求

很多培訓班在進行培訓產品推介的時候,都會對學員的學歷背景做一定了解,是不是大學生?有沒有學過高數?是否瞭解統計學?甚至有的培訓班還會將英語水平作爲一個諮詢條件。
在我個人看來,培訓班這樣做,並非是做樣子,而是,在人工智能的進階之路上,確實有一定的基礎知識和硬性條件,概括來講有以下幾點
(1)數學能力:分爲高等數學、線性代數和統計學等領域。
舉個例子,很多機器學習/人工智能培訓課的第一堂課,往往會將線性迴歸。線性迴歸的求解思路有兩種:線性代數矩陣求逆和梯度下降法,前者需要學生知道什麼矩陣,向量,轉置、求逆等基本知識,後者需要學生了解導數、偏導數,這些概念在高等數學的基礎上是,是很難直接領會的,跨專業跨行業自學的同學,如果您的大一大二基礎課不錯,相信入門應該會輕鬆很多。
爲什麼要講統計學?這就要細緻的談到機器學習的知識體系,機器學習從監督角度來分,分爲監督學習和無監督學習,有很多模型的基礎是直接來源統計學,所以有時候大家會看到統計學習這個概念,就是這種原因。有一本比較好的入門書籍推薦給大家《統計學習方法》-李航編寫的,通俗易懂,開篇就給大家介紹了:統計學習是關於計算機基於數據構建概率統計模型並運用模型對數據進行預測和分析的一門學科。書中提到的感知機、k近鄰等方法就不一一列舉了。
綜合看來,數學方面的基礎能力,確確實實是學習機器學習的基礎,不可或缺。

(2)計算機能力:基本的計算機知識和適當的編程能力。
計算機能力的要求,應該是易於理解的,機器學習,必須是要驅動機器去學習,去對數據進行特徵提取,去代替人思考和判斷,連驅動機器的基本常識不具備,可能也會在這方面吃一些虧吧。
問題的關鍵在於應當如何定義計算機能力?
人工智能需要計算機編程高手嗎?非也,計算機高手固然有優勢,但數學建模能力更重要。這裏討論機器學習最低門檻水平,我認爲即是具備閱讀僞代碼的基本水平吧。
現如今,世界上的機器學習框架非常多,存在有以各種計算機語言爲基礎的機器學習算法庫,最爲火爆的就是python,而python就是著名的膠水語言,其編碼行文邏輯非常類似人類語言,可以達到快速上手。創新導師李開復曾經說過:我那個時候學機器學習,但是沒什麼成果,爲甚?因爲沒有這麼多技術的支撐,個人能力非常有限,成果有效,但現在不一樣,大數據、機器學習的開源項目,總有一款適合你。
剩下英語能力,說到底還是進階需求,當學習到一定程度之後,你會發現大家都要從英文裏面找材料來學習,這裏暫且不討論。

2.確定學習目標

在經過自我判定,是否具備機器學習自學的條件後,我們需要定位自己的學習目標,沒有目標就沒有計劃,沒有計劃,自學將成爲無稽之談。

那個人應該如何確定目標了?其實有個很簡單方法:上招聘網站,看人工智能相關崗位的崗責要求,崗責要求中對學歷、經驗、技能、理論功底、都有非常明確的要求,可謂是明碼變價,後續,我將會就人工智能崗位做一個大數據分析,發表第一篇純技術應用型文章。
簡單來講,我們可以將目標定義爲三類:
(1)初級小白:對人工智能有一定了解的業外人士;
(2)中級工程師:能夠利用機器學習方法投入生產實踐的專業人士;
(3)技術領袖:在機器學習領域具備理論探索能力的神級人士;

在這裏,我們之探討第二類,因爲第二類是常人所能及,第一類相對簡單,順道就可以實現,而第三類那就是博士教授大大們的事情了,與凡人無關了(開個玩笑,只要你願意幹,都可以實現的)。

3.自學進階之道

這一部分將會推薦很多機器學習自學資料,按難易程度排序,供大家參考:

(1)基礎篇
書籍:
1.統計機器學習。李航
2.機器學習。周志華
視頻:
1.機器學習。斯坦福。吳恩達
2.Tom Mitchell(CMU)機器學習
(2)升級篇
書籍:
1.機器學習實戰
2.深度學習-AI聖經
視頻:
2.機器學習基石
(3)實戰篇
書籍
1.Tensorflow實戰google深度學習框架

目前,我個人還在第一階段,跟着吳恩達的課程和周志華的西瓜書在學習,效果尚可,沒有很明顯的學習梯度。

4.想強調的話

企業在招聘人才的時候,相比於理論能力,更看重實踐能力,如果沒有機器學習實戰的同學,可以有以下幾條渠道刷經驗:
(1)加入開源項目(github上找),爭取成爲contributer
(2)參加國內外機器學習競賽,拿名次,國內有天池、國外有kaggle

總之一句話,就是要多練。



寫到最後,還是非常抱歉,未能給大家在機器學習自學上有更多貢獻,但是我相信師父領進門修行在個人,當每個人都進入機器學習的自由王國之後,思想的交流與碰撞會更加重要。

補充,對於學生黨來講,可以發論文,以下是機器學習高水平論文期刊、會議名錄,摘自《機器學習》周志華
  1. 機器學習領域
    • 國際會議:
      • 國際機器學術會議:ICML
      • 國際神經信息處理系統會議NIPS
      • 國際學習理論會議COLT
    • 區域會議:
      • 歐洲機器學習會議ECML
      • 亞洲機器學習會議ACML
    • 國際期刊
      • journal of machine learning research
      • machine learning
  2. 人工智能領域
    • 重要會議
      • IJCAI
      • AAAI
    • 重要期刊
      • artificial intelligence
      • journal of artificial intelligence research
  3. 數據挖掘領域
    • 重要會議
      • KDD
      • ICDM
    • 重要期刊
      • ACM transactions on knowledge discovery from data
      • data mining and knowledge discovery
  4. 計算機與模式識別
    • 重要會議
      • CVPR
    • 重要期刊
      • IEEE transactions on pattern analysis and machine intelligence
  5. 神經網絡領域
    • 重要期刊
      • neural computation
      • IEEE transactions on neural networks and learning systems
  6. 統計領域
    • 重要期刊
      • annals of statistics
  7. 國內:
    • 中國機器學習大會(CCML)兩年一次
    • 機器學習機器應用(MLA)

2017年12月15日










發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章