機器學習定義及基本術語(根據周志華的《機器學習》概括)

engineerxin發表於2018-07-25

機器學習的定義

機器學習是這樣一門學科:通過計算的手段,學習經驗(也可以說是利用經驗)來改善系統的效能。
在計算機系統中,經驗(Experience)通常是資料(Data);學習演算法(Learning algorithm)學習產生數學模型(Model),不斷改善系統效能(Performace)。

【Mitchell 1997】給出了一個更形式化的定義:假設用P(Performace)來評估計算機程式在某類任務T(Task)上的效能,若一個程式通過利用經驗E(Experience)在T中任務上獲得了效能改善,則我們就說關於T和P,該程式對E進行了學習。

周志華老師的機器學習書中“模型”泛指從資料中學得的結果。有的文獻用”模型“指全域性性結果,而用”模式“指區域性性結果(比如一條規則)·

基本術語

假定我們收集了一批西瓜的資料

  • (色澤=青綠,根蒂=蜷縮,敲聲=濁響)
  • (色澤=烏黑,根蒂=稍蜷,敲聲=沉悶)
  • . . . . . .

上面每對括號內是一條記錄(record)
這組記錄的集合稱為一個資料集(data set)
其中每條記錄是關於一個事件或物件的描述,稱為示例(instance)樣本(sample)
反應事件或物件在某方面表現或性質的事項,稱為屬性(attribute)特徵(feature)
屬性上的取值,比如西瓜的色澤屬性可以取值為青綠,稱為屬性值(attribute value)
屬性張成的空間稱為屬性空間(attribute space)樣本空間(sample space)輸入空間(input space)
對於屬性空間,可以把每個屬性看作一個變數或座標軸,比如上面對於西瓜的資料集,有三個屬性——色澤,根蒂,敲聲。它們可以張成一個用於描述西瓜的三維空間,每個西瓜都可以在這個空間中找到自己的座標位置。因此我們可以把一個示例看作一個特徵向量(feature vector)

註解:有時整個資料集亦稱一個”樣本“,因為它可以看作對樣本空間的一個取樣;通過上下文可以判斷出“樣本”是指單個示例還是資料集

一般使用符號D

D
表示資料集,D
D
={x1
x_1
,x2
x_2
,x3
x_3
,…,xm
x_m
}表示包含m
m
個示例的資料集,每個示例有d
d
個屬性描述,則每個示例xi
x_i
=(xi1
x_{i1}
;xi2
x_{i2}
;xi3
x_{i3}
;…;xid
x_{id}
)都是d
d
維樣本空間中的一個向量,d
d
稱為示例的維數(dimensionality)

學習(learning)訓練(training)指從資料中學得模型的過程,通過執行某個學習演算法來完成。
訓練資料(training data)指訓練過程中使用的資料。
訓練樣本(training sample)指訓練資料中的每個樣本。
訓練集(training set)指訓練樣本組成的集合。
假設(hypothesis)指學習得到的模型對應了關於資料的某種潛在的規律,這種學得的規律並不一定是準確的。
真相或真實(ground-truth)則是這種真實存在的潛在規律自身,學習的過程就是為了找出或逼近真相。
在周老師的書中模型稱為學習器(learner),可以看作學習演算法在給定資料和引數空間上的例項化。

對應前面的西瓜例子,如果希望學習成一個判斷沒剖開的西瓜是不是好瓜的模型,僅僅有前面的示例資料是不夠的。
要建立像預測西瓜好壞這樣的關於預測(prediction)的模型,我們需要獲得訓練樣本的結果資訊(類似於屬性變數對應的函式值),比如((色澤=青綠,根蒂=蜷縮,敲聲=濁響),好瓜)。上面關於示例結果的資訊,比如“好瓜”,稱呼為標記(label),而擁有了標記資訊的示例,稱呼為樣例(example)
一般地,用(xi

x_i
yi
y_i
)代表第i
i
個樣例,所有標記的集合,亦稱為標記空間(label space)輸出空間(output space)

如果我們想預測的是離散值,例如”好瓜“,”壞瓜“,則此類學習任務稱為分類(classification)
如果想預測的是連續值,例如西瓜的成熟度0.95,0.85,則此類學習任務稱為迴歸(regressio)
對於只涉及兩個類別的二分類任務(binary classification),通常稱其中一個類別為正類(positive class),另一個稱為反類(negative class);對於二分類任務,標記空間通常取{+1

+1
1
-1
},{0
0
1
1
};
涉及多個類別時,則稱為多分類任務(multi-class classification),對於多分類任務,標記空間通常取R實數集。

學習到模型後,使用模型進行預測的過程稱為測試(testing)
而被預測的樣本稱為測試樣本(testing sample)

對應前面的西瓜例子,我們還可以對西瓜做聚類(clustering),即把訓練集中的西瓜分成若干個組,每個組稱為一個簇(cluster);這些自動形成的簇可能對應一些潛在的概念劃分,例如淺色瓜,本地瓜等。這樣的學習過程有助於我們瞭解資料的潛在規律,能為更深入分析資料建立基礎。
需補充說明的是:在在聚類學習中,淺色瓜,本地瓜這樣的概念是我們事先所不知道的,而且學習過程中使用的訓練樣本通常不擁有標記資訊。

根據訓練資料是否擁有標記資訊,學習任務大致劃分為兩類:

  • 監督學習(supervised learning)
  • 無監督學習(unsupervised learning)

分類和迴歸是前者的代表,而聚類是後者的代表。

相關文章