【引言】浙大機器學習課程記錄
機器學習的定義
第一種定義
ARTHUR SAMUEL對Machine learning 的定義
Machine Learning is Fields of study that gives computers the ability to learn without being explicitly programmed
機器學習是這樣的領域,它賦予計算機學習的能力,(這種學歷能力)不是通過顯著式程式設計獲得的
- 顯著式程式設計
- 提前人為指定規律的程式設計方式
- 非顯著式程式設計
- 讓計算機自己總結規律的程式設計方式
Arthur Samuel 所定義的機器學習是專指這種非顯著式程式設計的方式
非顯著式程式設計方式的做法:
我們規定了行為和收益函式後,讓計算機自己去找最大化收益函式的行為
讓計算機通過資料、經驗自動的學習。
第二種定義
來自於1998年 Tom Mistshell 在《MACHINE LEARNING》書中給出的定義
A computer program is said to learn from experience E with respect to some task T and some performance measurc P, if its performance on T, as measured by P , improves with experience E
一個計算機程式被稱為可以學習,是指它能夠針對某個任務 T 和某個效能指標 P,從經驗 E 中學習。這種學習的特點是,它在 T 上的被 P 所衡量的效能,會隨著經驗 E 的增加而提高。
據 Tom Mitshell 的定義,機器學習為為識別不同任務而改造某種演算法
這種演算法的特點:
隨著 Experience 的增多,Performance Measure 也會提高
這種演算法的具體體現:
標識 | 動作 |
---|---|
任務 T | 設計程式讓 AI執行某種行為 |
經驗 E | AI 多次嘗試的行為和這些行為產生的結果 |
效能測試 P | 在規定時間內成功執行的次數 |
據經驗 E 來提高效能指標 P 的過程,為典型的最優化問題
機器學習的分類
按照任務性質的不同進行分類為:
-
監督學習
-
強化學習
- 計算機通過與環境的互動逐漸強化自己的行為模式
但不絕對
這裡主要介紹了監督學習
監督學習
(1)監督學習根據資料標籤存在與否分類為:
- 傳統監督學習(Traditional Supervised Learning)
- 非監督學習(Unsupervised Learning)
- 半監督學習(Semi-supervised Learning)
(2)基於標籤的固有屬性,按照標籤是連續還是離散分類為:
-
分類問題
-
迴歸問題
基於標籤存在分類
傳統監督學習
Traditional Supervised Learning 中每一個訓練資料都有對應的標籤
演算法包括
-
支援向量機 (SUPPORT VECTOR MACHINE)
-
人工神經網路(NEURAL NETWORKS)
-
深度神經網路(Deep Neural Networks)
非監督學習
Unsupervised Learning 中所有的訓練資料都沒有對應的標籤
在Traditional Supervised Learning中的資料可能有像:X 代表一類,圓形代表另一類,但在 Unsupervised Learning 中可能如下圖:
儘管我們不知道訓練資料的類別標籤,但我們可以這樣處理:
start=>start: 假設
info=>operation: 同一類的訓練資料在空間中距離更近
setCache=>operation: 樣本的空間資訊
end=>end: 無監督學習
out=>operation: 設計演算法將它們聚類為兩類
start->info->setCache->out->end
演算法包括
- 聚類(Clustering)
- EM 演算法(Expectation--Maximizationg algorithm)
- 主成分分析(Principle Component Analysis)
半監督學習
Semi-supervised Learning 中訓練資料中有一部分有標籤,一部分沒有標籤
在大量的資料面前,資料標註是成本巨大的工作
所以我們需要:
少量的標註資料 + 大量未標註資料 訓練一個更好的機器學習演算法
例如下圖:
在左邊,如果只有兩個標註過的訓練樣本,那麼便不好進行分類;如果像右圖增加沒有標籤的訓練樣本,那麼可能設計演算法就能實現更準確的分類。
基標籤固有屬性分類
分類和迴歸的分別是十分模糊的,因為離散和連續的區別也是模糊的。
我們主要研究機器學習模型解決分類問題。
分類
Classifcation:標籤是離散的值
例如人臉識別為分類問題
如圖:
模式一為雙人臉比對,模式二為人群中單人臉匹配。
迴歸
Regression:標籤是連續的值
例如:預測股票價格、預測溫度、預測人的年齡等任務
機器學習演算法的過程
start=>start: 特徵提取、特徵選擇
info=>operation: 不同的演算法,對特徵空間做不同的劃分
end=>end: 不同的結果
start->info->end
特徵提取(Feature Extraction):
通過訓練樣本獲得的,對機器學習任務有幫助的多維度資料。
機器學習的重點應該是:
假設在已經提取好的特徵的前提下,如何構造演算法獲得更好的效能
當然好的特徵是能構造出好演算法的前提,特徵越好演算法結果越好
我們需要研究不同應用場景下應該採取哪種演算法,甚至研究新的機器學習演算法以便適應新的場景
沒有免費午餐定理
1995年,D. H. Wolpert 等人提出:
沒有免費午餐定理(No Free Lunch Theorem)
任何一個預測函式,如果在一些訓練樣本上表現好,那麼必然在另一些訓練樣本上表現不好,如果不對資料在特徵空間的先驗分佈上有一定假設,那麼表現好與表現不好的情況一樣多。
在設計機器學習演算法的時候有一個假設:
在特徵空間上距離接近的樣本,他們屬於同一類別的概率會更高,但是並不絕對,是有可能出錯的
如果不對特徵空間的先驗分佈有假設,那麼所有演算法的表現都一樣
機器學習本質:
通過有限的已知資料基礎,在複雜的高維特徵空間中預測未知的樣本
沒有放之四海而皆為準的最好演算法,因為評價演算法的好壞涉及特徵空間先驗分佈的假設