零基礎入門機器學習指南

寫這篇文章的初衷是很多朋友私信我想了解如何入門或轉行人工智能,結合自己的工作和學習經歷在這裡說一說我的一些想法或建議。

本文將從以下幾個部分介紹

1、什麼是人工智能?

2、機器學習有哪些分支和算法?

3、怎麼學習?

4、有什麼書可以推薦?

5、有什麼網站可以推薦?

一、什麼是人工智能?

AI,也就是人工智能,它是研究、開發用於模擬、延伸和擴展人的智能的理論、方法、技術及應用系統的一門新的技術科學。AI的學科覆蓋範圍非常高,比如說數學、計算機、統計學等等,可以說是交叉學科中的典範,因此現在互聯網公司的算法工程師的專業非常廣,有計算機、數學、統計學、通信等,所以你還在遲疑因為自己的專業不對口而不知道該不該學習AI的,只要你是真的感興趣,大膽的去嘗試吧。

說是人工智能,不得不說的就是機器學習了。通俗地講:機器學習是一種計算機程序,可以從現有的經驗中學習如何完成某項任務,並且隨著經驗的增加,性能也隨之提升。因此,經驗,也就是專業人士說的“數據”,對於機器學習來說,就是最重要的。就像火箭要起飛需要燃料,人要變得有智慧需要閱歷一樣,機器學習需要海量的數據。AlphaGo 打敗李世石不是因為它聰明,而是因為它通過自己和自己下棋的方式,已經相當於下了一萬年以上的棋,和一個只下了幾十年的人比,自然是有著不可比擬的優勢,它打敗李世石依靠的是無可比擬的經驗。

人工智能從 1956 年提出概念以來經歷了漫長的發展歷程,中間有兩次高峰,兩次低谷,現在是第三次高峰,而帶來發展起伏的是機器學習算法的變遷。第三次高峰開始的標誌是 2006 年的時候,機器學習算法中的神經網絡方向出現了一個突破,多倫多大學教授 Geoffrey Hinton 提出了“深度學習”的概念。在接下來的幾年中,因為計算機性能的提升和數據量的急速增加,深度學習技術的實用性越來越強。關於人工智能、機器學習、深度學習三者的關係,下面一張圖盡收眼底。

零基礎入門機器學習指南

機器學習是實現人工智能的一種方法,機器學習有很多的細分領域,其中有一個領域是人工神經網絡,而深度學習是人工神經網絡這個領域的一個分支。

二、機器學習有哪些分支和算法?

機器學習可以分成以下三種形式:監督學習( Supervised Learning )、非監督學習( Unsupervised Learning )和強化學習( Reinforcement Learning )。

監督學習:帶標籤學習。說白了就是告訴你這是什麼,讓你去學習。

無監督學習:不帶標籤的學習,就說讓你自己去學習數據分佈特性。

強化學習:通過不斷做出決策並獲得結果反饋後,學會自動進行決策,得到最優結果。

機器學習有哪些比較重要的算法:

(1)線性迴歸

(2)邏輯迴歸

(3)K近鄰

(4)貝葉斯

(5)決策樹

(6)支持向量機

(7)神經網絡

(8)K均值

(9)強化學習

(10)EM算法

幾乎現在所有的算法都是在上述算法的基礎上延伸發展的。因此,入門人工智能,上面的算法需要了解。

三、怎麼學習?

學習可以從數學部分、算法部分、編程部分來學習。

數學部分(高數、概率論、現代)

高數:

1)常數e

2)導數

3)梯度

4)Taylor

5)gini係數

概率論:

1)微積分與逼近論

2)極限、微分、積分基本概念

3)利用逼近的思想理解微分,利用積分的方式理解概率

4)概率論基礎

5)古典模型

6)常見概率分佈

7)大數定理和中心極限定理

8)協方差(矩陣)和相關係數

9)最大似然估計和最大後驗估計

線性代數:

1)線性空間及線性變換

2)矩陣的基本概念

3)狀態轉移矩陣

4)特徵向量

5)矩陣的相關乘法

6)矩陣的QR分解

7)對稱矩陣、正交矩陣、正定矩陣

8)矩陣的SVD分解

9)矩陣的求導

10)矩陣映射/投影

算法部分:主要是瞭解上述比較經典的算法就可以了,需要一個個的公式推導。

編程部分:很多人問我需要學什麼語言,其實什麼語言都可以的,但是在這裡還是給大家推薦一下:python或者R(至於入門,多寫寫代碼就可以了)

四、有什麼書可以推薦?

python部分,我推薦python學習手冊

機器學習算法部分,我推薦三本書。

第一本:李航老師的統計學習方法

第二本:周志華老師的西瓜書

第三本:聖經(深度學習)

有很多問學習TensorFlow看什麼書,我大概瞭解了一下,市面上關於TensorFlow的書寫的都一般,要學習的話可以看官方文檔,當然這裡也推薦一本書


五、有什麼網站可以推薦?

實踐是檢驗真理的唯一標準,因此在學習的過程中我們需要實踐,做一些項目或者比賽。有問題也需要去一些專門的問答社區。這裡我推薦三個:

(1)Kaggle

Kaggle是一個數據分析的競賽平臺,網址:https://www.kaggle.com/。企業或者研究者可以將數據、問題描述、期望的指標發佈到Kaggle上,以競賽的形式向廣大的數據科學家徵集解決方案,類似於KDD-CUP(國際知識發現和數據挖掘競賽)。Kaggle上的參賽者將數據下載下來,分析數據,然後運用機器學習、數據挖掘等知識,建立算法模型,解決問題得出結果,最後將結果提交,如果提交的結果符合指標要求並且在參賽者中排名第一,將獲得比賽豐厚的獎金。

(2)阿里天池

天池是阿里雲旗下大數據平臺,圍繞雲生態挖掘輸送優秀人才。旨在打造“AI開發者社區”第一平臺,歡迎來自世界各地的技術人員來玩轉大數據,共同探索數據眾創新模式。是一個和kaggle類似的數據算法比賽平臺。

(3)八斗問答

給大家推薦一個我平時在用的一款專注於機器學習的問答社區——“八斗問答”(微信小程序搜索)。圍繞深度學習、機器學習等主題展開,有很多高校教授、博士生、工程師入駐,免費在線解答疑惑。有任何人工智能相關的問題都可以在這兒提問,當然也會得到滿意的答案。

想要系統的學習,大家也可以關注下面這個專欄,內容寫的還不錯。

有任何問題,可以在下面留言,看到後我會回答,也可以關注我的微信公眾號:機器學習與數據挖掘,喜歡小編的動動手指,關注一下,歡迎大家點贊、評論、轉發。



分享到:


相關文章: