【乾貨】機器學習和深度學習概念入門

kobejayandy發表於2018-12-31

目  錄

1   人工智慧、機器學習、深度學習三者關係

2   什麼是人工智慧

3  什麼是機器學習

4  機器學習之監督學習

5  機器學習之非監督學習

6  機器學習之半監督學習

7  機器學習之強化學習

8  什麼是深度學習

9 總結

 

 

1人工智慧、機器學習、深度學習三者關係

對於很多初入學習人工智慧的學習者來說,對人工智慧、機器學習、深度學習的概念和區別還不是很瞭解,有可能你每天都能聽到這個概念,也經常提這個概念,但是你真的懂它們之間的關係嗎?那麼接下來就給大家從概念和特點上進行闡述。先看下三者的關係。

人工智慧包括了機器學習,機器學習包括了深度學習,他們是子類和父類的關係。

下面這張圖則更加細分。

 

2 什麼是人工智慧

 

人工智慧(Artificial Intelligence),英文縮寫為AI。是電腦科學的一個分支,二十世紀七十年代以來被稱為世界三大尖端技術之一(空間技術、能源技術、人工智慧)。也被認為是二十一世紀三大尖端技術(基因工程、奈米科學、人工智慧)之一。1956年夏季,以麥卡賽、明斯基、羅切斯特和申農等為首的一批有遠見卓識的年輕科學家在一起聚會,共同研究和探討用機器模擬智慧的一系列有關問題,並首次提出了“人工智慧”這一術語,它標誌著“人工智慧”這門新興學科的正式誕生。人工智慧是對人的意識、思維的資訊過程的模擬。人工智慧不是人的智慧,但能像人那樣思考、也可能超過人的智慧。數學常被認為是多種學科的基礎科學,數學也進入語言、思維領域,人工智慧學科也必須借用數學工具。

人工智慧實際應用:機器視覺,指紋識別,人臉識別,視網膜識別,虹膜識別,掌紋識別,專家系統,自動規劃,智慧搜尋,定理證明,博弈,自動程式設計,智慧控制,機器人學,語言和影象理解,遺傳程式設計等。涉及到哲學和認知科學,數學,神經生理學,心理學,電腦科學,資訊理論,控制論,不定性論等學科。研究範疇包括自然語言處理,知識表現,智慧搜尋,推理,規劃,機器學習,知識獲取,組合排程問題,感知問題,模式識別,邏輯程式設計軟計算,不精確和不確定的管理,人工生命,神經網路,複雜系統,遺傳演算法等。人工智慧目前也分為:強人工智慧(BOTTOM-UP AI)和弱人工智慧(TOP-DOWN AI),有興趣大家可以自行檢視下區別。

 

3 什麼是機器學習

 

機器學習(Machine Learning, ML),是人工智慧的核心,屬於人工智慧的一個分支,是一個大的領域,是讓計算機擁有像人一樣的學習能力,模擬和實現人的學習行為和能力,可以像人一樣具有識別和判斷的能力,可以看作是仿生學。機器學習的核心就是資料,演算法(模型),算力(計算機運算能力)。以前也有人工智慧,機器學習。不過最近幾年網路發展和大資料的積累,使得人工智慧能夠在資料和高運算能力下發揮它的作用。機器學習應用領域十分廣泛,例如:資料探勘、資料分類、計算機視覺、自然語言處理(NLP)、生物特徵識別、搜尋引擎、醫學診斷、檢測信用卡欺詐、證券市場分析、DNA序列測序、語音和手寫識別、戰略遊戲和機器人運用等。

 

李飛飛說,機器是又快又準確,但是人類聰明呀!機器學習其實是在總結資料,預測未知。它具有高速的計算能力,我們可以通過不斷的學習用它來識別各種植物、動物等,並提高準確率。

機器學習就是設計一個演算法模型來處理資料,輸出我們想要的結果,我們可以針對演算法模型進行不斷的調優,形成更準確的資料處理能力。但這種學習不會讓機器產生意識。

      機器學習的工作方式      

 

選擇資料:將你的資料分成三組:訓練資料、驗證資料和測試資料。

模型資料:使用訓練資料來構建使用相關特徵的模型。

驗證模型:使用你的驗證資料接入你的模型。

測試模型:使用你的測試資料檢查被驗證的模型的表現。

使用模型:使用完全訓練好的模型在新資料上做預測。

調優模型:使用更多資料、不同的特徵或調整過的引數來提升演算法的效能表現。

 

      機器學習的分類      

 

基於學習策略的分類

機械學習 (Rote learning)

示教學習 (Learning from instruction或Learning by being told)

演繹學習 (Learning by deduction)

類比學習 (Learning by analogy)

基於解釋的學習 (Explanation-based learning, EBL)

歸納學習 (Learning from induction)

 

基於所獲取知識的表示形式分類 

代數表示式引數

決策樹

形式文法

產生式規則

形式邏輯表示式

圖和網路

框架和模式(schema)

計算機程式和其它的過程編碼

神經網路

多種表示形式的組合

 

綜合分類 

經驗性歸納學習 (empirical inductive learning)

分析學習(analytic learning)

類比學習

遺傳演算法(genetic algorithm)

聯接學習

增強學習(reinforcement learning)

 

學習形式分類

監督學習(supervised learning)

非監督學習(unsupervised learning)

注:細分的話還有半監督學習和強化學習。當然,後面的深度學習也有監督學習、半監督學習和非監督學習的區分。

4 機器學習之監督學習

監督學習(Supervised Learning)是指利用一組已知類別的樣本調整分類器的引數,使其達到所要求效能的過程,也稱為監督訓練或有教師學習。也就是我們輸入的資料是有標籤的樣本資料(有一個明確的標識或結果、分類)。例如我們輸入了 50000 套房子的資料,這些資料都具有房價這個屬性標籤。

監督學習就是人們常說的分類,通過已有的訓練樣本(即已知資料以及其對應的輸出)去訓練得到一個最優模型(這個模型屬於某個函式的集合,最優則表示在某個評價準則下是最佳的)。再利用這個模型將所有的輸入對映為相應的輸出,對輸出進行簡單的判斷從而實現分類的目的。就像我輸入了一個人的資訊,他是有性別屬性的。我們輸入我們的模型後,我們就明確的知道了輸出的結果,也可以驗證模型的對錯。

舉個例子,我們從小並不知道什麼是手機、電視、鳥、豬,那麼這些東西就是輸入資料,而家長會根據他的經驗指點告訴我們哪些是手機、電視、鳥、豬。這就是通過模型判斷分類。當我們掌握了這些資料分類模型,我們就可以對這些資料進行自己的判斷和分類了。

在監督式學習下,輸入資料被稱為“訓練資料”,每組訓練資料有一個明確的標識或結果,如對防垃圾郵件系統中“垃圾郵件”“非垃圾郵件”,對手寫數字識別中的“1“,”2“,”3“,”4“等。在建立預測模型的時候,監督式學習建立一個學習過程,將預測結果與“訓練資料”的實際結果進行比較,不斷的調整預測模型,直到模型的預測結果達到一個預期的準確率。

監督式學習的常見應用場景如分類問題和迴歸問題。常見監督式學習演算法有決策樹(ID3,C4.5演算法等)樸素貝葉斯分類器最小二乘法邏輯迴歸(Logistic Regression)支援向量機(SVM)K最近鄰演算法(KNN,K-NearestNeighbor)線性迴歸(LR,Linear Regreesion)人工神經網路(ANN,Artificial Neural Network)整合學習以及反向傳遞神經網路(Back Propagation Neural Network)等等

下圖是幾種監督式學習演算法的比較:

(請將手機橫著檢視)

 

5 機器學習之非監督學習

非監督學習(Unsupervised Learing)是另一種研究的比較多的學習方法,它與監督學習的不同之處,在於我們事先沒有任何訓練樣本,而需要直接對資料進行建模。是否有監督(Supervised),就看輸入資料是否有標籤(Label)。輸入資料有標籤(即資料有標識分類),則為有監督學習,沒標籤則為無監督學習(非監督學習)。在很多實際應用中,並沒有大量的標識資料進行使用,並且標識資料需要大量的人工工作量,非常困難。我們就需要非監督學習根據資料的相似度,特徵及相關聯絡進行模糊判斷分類。

 

6 機器學習之半監督學習

半監督學習(Semi-supervised Learning)是有標籤資料的標籤不是確定的,類似於:肯定不是某某某,很可能是某某某。是監督學習與無監督學習相結合的一種學習方法。半監督學習使用大量的未標記資料,以及同時使用標記資料,來進行模式識別工作。當使用半監督學習時,將會要求儘量少的人員來從事工作,同時,又能夠帶來比較高的準確性。

在此學習方式下,輸入資料部分被標識,部分沒有被標識,這種學習模型可以用來進行預測,但是模型首先需要學習資料的內在結構以便合理的組織資料來進行預測。半監督學習有兩個樣本集,一個有標記,一個沒有標記。分別記作Lable={(xi,yi)},Unlabled={(xi)},並且數量,L<<U。

注:

單獨使用有標記樣本,我們能夠生成有監督分類演算法

單獨使用無標記樣本,我們能夠生成無監督聚類演算法

兩者都使用,我們希望在1中加入無標記樣本,增強有監督分類的效果;同樣的,我們希望在2中加入有標記樣本,增強無監督聚類的效果

 

一般而言,半監督學習側重於在有監督的分類演算法中加入無標記樣本來實現半監督分類,也就是在1中加入無標記樣本,增強分類效果。

應用場景包括分類和迴歸,演算法包括一些對常用監督式學習演算法的延伸,這些演算法首先試圖對未標識資料進行建模,在此基礎上再對標識的資料進行預測。如自訓練演算法(self-training)多視角演算法(Multi-View)生成模型(Enerative Models)圖論推理演算法(Graph Inference)者拉普拉斯支援向量機(Laplacian SVM)等。

 

7 機器學習之強化學習

強化學習(Reinforcement Learning)也叫再勵學習、評價學習,在智慧控制和機器人領域有許多應用。輸入資料作為對模型的反饋,不像監督模型那樣,輸入資料僅僅是作為一個檢查模型對錯的方式。在強化學習下,輸入資料直接反饋到模型,模型必須對此立刻作出調整。常見演算法包括 Q-Learning、TD 演算法(時間差分學習,Temporal Difference)、SARSA 演算法。

在企業資料應用的場景下, 人們最常用的可能就是監督式學習和非監督式學習的模型。 在影象識別等領域,由於存在大量的非標識的資料和少量的可標識資料, 目前半監督式學習是一個很熱的話題。 而強化學習更多的應用在機器人控制及其他需要進行系統控制的領域。

強化學習靈感來源於心理學中的行為主義理論,即有機體如何在環境給予的獎勵或懲罰的刺激下,逐步形成對刺激的預期,產生能獲得最大利益的習慣性行為。這個方法具有普適性,因此在其他許多領域都有研究,例如博弈論、控制論、運籌學、資訊理論、模擬優化方法、多主體系統學習、群體智慧、統計學以及遺傳演算法。 它的本質就是解決“決策(decision making)”問題,即學會自動進行決策。它在沒有任何label告訴演算法應該怎麼做的情況下,通過先嚐試做出一些行為——然後得到一個結果,通過判斷這個結果是對還是錯來對之前的行為進行反饋。由這個反饋來調整之前的行為,通過不斷的調整演算法能夠學習到在什麼樣的情況下選擇什麼樣的行為可以得到最好的結果。

重點:強化學習其實就是自動進行決策,並且可以做連續決策。強化學習有很多應用,比如自動直升機,機器人控制,市場決策,工業控制,無人駕駛,AlphaGo,玩遊戲,還在製造業、庫存處理、電商、廣告、推薦、金融、醫療等與我們生活息息相關的領域也有應用。例如一家日本公司 Fanuc,工廠機器人在拿起一個物體時,會捕捉這個過程的視訊,記住它每次操作的行動,操作成功還是失敗了,積累經驗,下一次可以更快更準地採取行動。

舉個例子:以小孩學習走路為例,走路時候小孩需要知道先進行決定先邁那條腿,如果第一步作對了,那麼就會得到獎勵,錯了,那麼記錄下來,再進行第二次走路時候進行學習更正。又比如在向使用者推薦新聞文章的任務中,非監督式會找到使用者先前已經閱讀過類似的文章並向他們推薦其一,而強化學習將通過向使用者先推薦少量的新聞,並不斷獲得來自使用者的反饋,最後構建使用者可能會喜歡的文章的“知識圖”。

 

8 什麼是深度學習

深度學習(Deep Learning)是機器學習的一種,是它的一個大的分支,深度學習的概念由Hinton等人於2006年提出,深度學習的概念源於人工神經網路的研究。

既然叫做學習,那麼自然與我們人類的學習過程有相似之處,其實就是仿生學,仿照我們人類大腦的思維方式以及神經網路的接收和反饋方式進行計算機模擬深度學習的。

我們的大腦就是一個深度學習的超級計算機。深度學習實際上指的的深度神經網路學習,普通神經網路由於訓練代價較高,一般只有3-4層,而深度神經網路由於採用了特殊的訓練方法加上一些技術演算法,可以達到8-10層。深度神經網路能夠捕捉到資料中的深層聯絡,從而能夠得到更精準的模型,而這些聯絡不容易被普通的機器學習方法所發覺。

用官方的含義就是:含多隱層的多層感知器就是一種深度學習結構。

深度學習通過組合低層特徵形成更加抽象的高層表示屬性類別或特徵,以發現資料的分散式特徵表示。

同機器學習方法一樣,深度機器學習方法也有監督學習與無監督學習之分。不同的學習框架下建立的學習模型很是不同。

例如,卷積神經網路(Convolutional neural networks,簡稱CNNs)就是一種深度的監督學習下的機器學習模型,而深度置信網(Deep Belief Nets,簡稱DBNs)就是一種無監督學習下的機器學習模型。

深度學習整個過程就是資料收集、資料清洗處理、傳入資料進行訓練模型和學習優化、經過不斷優化調節後形成高準確率的識別分類模型,供相應的領域進行傳入相關資料進行應用分類。

 

相關文章