1. 程式人生 > 其它 >【引言】浙大機器學習課程記錄

【引言】浙大機器學習課程記錄

機器學習定義、機器學習的分類、機器學習演算法的過程、沒有免費午餐定理、總結

機器學習的定義

第一種定義

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

​ 任何一個預測函式,如果在一些訓練樣本上表現好,那麼必然在另一些訓練樣本上表現不好,如果不對資料在特徵空間的先驗分佈上有一定假設,那麼表現好與表現不好的情況一樣多

在設計機器學習演算法的時候有一個假設:

​ 在特徵空間上距離接近的樣本,他們屬於同一類別的概率會更高,但是並不絕對,是有可能出錯的

如果不對特徵空間的先驗分佈有假設,那麼所有演算法的表現都一樣

機器學習本質:

​ 通過有限的已知資料基礎,在複雜的高維特徵空間中預測未知的樣本

沒有放之四海而皆為準的最好演算法,因為評價演算法的好壞涉及特徵空間先驗分佈的假設



測試