本文對機器學習做一個大體概覽,以便看清該學科分支的知識點分布情況,以供后續學習指明方向與道路,
機器學習是什么
一般的解釋如下:
機器學習是通過編程讓計算機從資料中進行學習的科學(和藝術),
還有兩位前輩對機器學習的定義如下:
機器學習是讓計算機具有學習的能力,無需進行明確編程, —— 亞瑟·薩繆爾,1959
計算機程式利用經驗 E 學習任務 T,性能是 P,如果針對任務 T 的性能 P 隨著經驗 E 不斷增長,則稱為機器學習, —— 湯姆·米切爾,1997
機器學習有哪些優勢
在《Sklearn與TensorFlow機器學習實用指南》一書中,指出機器學習的特長如下:
1 需要進行大量手工調整或需要擁有長串規則才能解決的問題:機器學習演算法通常可以簡化代碼、提高性能,
2 問題復雜,傳統方法難以解決:最好的機器學習方法可以找到解決方案,
3 環境有波動:機器學習演算法可以適應新資料,
4 洞察復雜問題和大量資料,
機器學習演算法分類與概括
根據訓練手段與資料特點,常見的機器學習演算法被分為以下幾類(考慮到深度學習屬于機器學習的一個分支,但其自身研究規模可以單獨成為一門學科,所以不再將深度學習內容吸納進來):
1 監督學習
2 無監督學習
3 半監督學習
4 強化學習
當然,如果從問題本身出發,則可以按問題特征將演算法進行分類,如分類問題、回歸問題、聚類問題以及降維問題等,
1 監督學習
在監督學習中,用來訓練的資料包含了答案,一般將這個答案稱為標簽,通常在分類與回歸問題中,多數用到監督學習演算法,其包含的演算法有:
K近鄰演算法、線性回歸、邏輯回歸、支持向量機、決策樹和隨機森林、神經網路(隸屬深度學習)等多種演算法,
2 無監督學習
在無監督學習中,訓練資料是不帶標簽的,通常在聚類、關聯規則、降維以及例外檢測等任務中需要用到無監督學習演算法,其包含的演算法有:
聚類、K均值、層次聚類分析、期望最大值、可視化和降維、主成分分析、關聯性規則學習、Apriori 演算法等多種演算法,
3 半監督學習
在半監督學習中,面對的是部分帶標簽的訓練資料,即通常是大量不帶標簽資料和小部分帶標簽資料,半監督學習介于監督學習與無監督學習之間,所以多數半監督學習演算法是監督演算法和無監督演算法的結合,例如深度信念網路(deep belief networks)是基于互相疊加的受限玻爾茲曼機(restricted Boltzmann machines,RBM),后者是一個非監督組件,RBM 先用無監督學習方法進行訓練,再用監督學習方法進行整個系統的微調,
4 強化學習
強化學習在機器學習中獨樹一幟,學習系統在這里被稱為智能體(agent),可以對環境進行觀察,選擇和執行動作,從而獲得獎勵或懲罰,以此促進系統自己學習哪個是最佳方法或策略才能得到長久的最大獎勵,學習到的策略決定了智能體在給定情況下應該采取的行動,DeepMind 的 AlphaGo 就是強化學習的典型案例,它在 2016 年三月擊敗了世界圍棋冠軍李世石,震撼一時,
宣告:對于機器學習的入門書籍,筆者較為推薦文中提到的《Sklearn與TensorFlow機器學習實用指南》,筆者也是在閱讀之后想將其內容分享給諸位,本篇博文的素材與思路大多來源于這本書,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/49864.html
標籤:其他
