機器學習基礎知識整理歸納
- 2019 年 11 月 10 日
- 筆記
關於機器學習的一些基本概念的整理
1.前言
1.機器學習是一門致力於研究如何通過計算的手段,利用經驗來改善系統自身的性能的學科。1997年Mitchell給出一個更形式化的定義,假設用P來評估電腦程式在某任務類T上的性能,若一個程式通過利用經驗E在T中任務上獲得了性能改善,則我們就說關於T和P,該程式對E進行了學習。
- 機器學習所研究的主要內容,是關於在電腦上從數據中產生「模型」的演算法,即學習演算法(learning algorithm)。「數據」即是現實生活中的「經驗」。
- 關於產生的模型(model),可以泛指從數據中學得的結果。但也有不同說法。Hand在2001年發表的一篇文獻中就提到,模型是全局結果(例如一顆決策樹),模式指的是局部性結果(例如一條規則)。
2. 基本術語
引例,假設搜集到一些關於西瓜的數據(色澤 = 青綠;根蒂 = 蜷縮;敲聲 = 濁響),(色澤 = 烏黑;根蒂 = 稍蜷;敲聲 = 沉悶),(色澤 = 淺白;根蒂 = 硬挺;敲聲 = 清脆),……
上述引例中,每對括弧內是關於西瓜的(也可是任何一個事件或者對象的)一條記錄,則有:
數據集 (data set): 一組記錄的集合
示例/樣本(instance/sample):上述都每一條記錄,均可稱為示例/樣本
屬性/特徵(attribute/feature):反映事件或者對象在某方面的表現或者性質的事項。例如上述色澤,根蒂,敲聲
屬性值(attribute value): 屬性上的取值,例如青綠,烏黑,等等
特徵向量(feature vector): 屬性空間上每一個點相對原點構成的坐標向量
樣本維數(sample dimensionality): 每一個樣本(示例)所包含的不同屬性的數量
學習/訓練(learning/training) : 從數據中學得模型的過程
訓練數據(training data): 訓練過程中使用的數據
訓練樣本(training sample): 訓練數據中的樣本
訓練集(training set): 訓練樣本的集合
假設(hypothesis): 值得是學得模型。因為這個模型對應了關於數據的某種潛在規律
真相/真實(ground-truth): 潛在規律本身
標記(label): 訓練樣本的結果資訊
樣例(example): 擁有了標記資訊的示例。一般的,用((x_i,y_i))來表示第i個樣例。其中(y_i)是示例(x_i)的標記
標記空間/輸出集合(label space): 所有標記的集合
屬性空間/樣本空間/輸入空間(attribute/sample space): 屬性張成的空間。例如,如果把色澤,根蒂,敲聲作為三個坐標軸,則他們張成一個用於描述西瓜的三維空間,每個西瓜都可以找到自己的位置。
分類(classification): 在關於利用訓練集學得的預測模型中,預測值是離散值。這樣的學習任務稱為分類
回歸(regression): 與分類相似,只是預測值是連續值
({color{red} 補充一句:(預測的任務是希望通過對訓練集{(x_1,y_1),(x_2,y_2),…}進行學習,建立一個從輸入空間到輸出空間的映射關係)})
二分類任務(binary classification): 預測結果只有兩個類別。通常將其中的一個稱為正類(positive class),另一個稱為反類(negative class)。而涉及多個,類別則稱為多分類(multi-class)任務
測試(testing): 學得模型以後,使用其進行預測的過程
測試樣本(testing sample): 被預測的樣本,例如,在學得(mathit{f}) 以後,對測試例(x_i) 可得到其預測標記(y=f(x_i))
聚類(clustering): 將訓練集中的示例分成若干組,每組稱為一個簇(cluster)。這些自動形成的簇可能對應一些潛在的概念劃分,例如本例中的西瓜可以分成淺色瓜,深色瓜…在聚類學習中,這些淺色瓜,深色瓜的概念事先是不知道的,而且學習過程中使用的訓練樣本通常也沒有標記資訊
學習任務大致可以劃分成兩類:
(1)監督學習(supervised learning):訓練數據帶有標記,例如分類與分歸
(2)無監督學習(unsupervised learning):訓練數據不帶有標記,例如聚類
泛化能力: 學得模型適用於新樣本的能力
(目前機器學習仍然假設樣本空間的全體樣本滿足獨立同分布假設,因此經典概率論得以適用)
3.假設空間
前言:歸納(induction)和假設(deduction)是科學推理的兩大基本手段。前者是從特殊到一般的泛化(generalization),即從具體的事實歸結出一般性規律;後者則是從一般到特殊的特化(specialization)過程,即從基礎原理推演出具體狀況。 在機器學習中,「從樣例中學習」顯然是一個歸納過程。因此,又被稱為歸納學習(inductive learning)
廣義的歸納學習:相當於從樣例中學習
狹義的歸納學習:從訓練數據中學得概念(concept)。因此也稱為「概念學習」或者「概念形成」 .概念學習中最基本的是布爾概念學習,即是或者不是的結果表述
假設空間(hypothesis space): 所有假設組成的空間
我們可以將學習的過程看作一個在所有假設組成的空間中進行搜索的過程,搜索目標是找到與訓練集匹配的假設,即能夠將訓練集中的樣本判斷正確的假設,假設的表示一旦確定,假設空間及其規模大小就確定了。
可以有許多策略對假設空間進行搜索,搜索過程中可以不斷刪除與正例不一致的假設,或者與反例一致的假設。最終將會獲得與訓練集一致的假設,就這是學得的結果。
版本空間(version space):現實生活中,我們常常面臨很大的假設空間,但是學習的過程是基於有限的樣本訓練集進行的,因此,可能有多個假設與訓練集一致,即存在一個與訓練集一致的假設集合,這個假設集合就是版本空間
4.歸納偏好
歸納偏好(inductive bias):機器學習演算法在學習過程中對某種類型假設的偏好。偏好要起作用,是發生在形成版本空間的時候。而學習演算法又必須產生一個模型。這樣,偏好會起作用
({color{red}任何一個有效的機器學習演算法都必有其偏好,否則它將被假設空間中看似在訓練集上等效的假設所迷惑,而無法產生正確的學習結果}) 對於歸納偏好的看法: 歸納偏好可以看作學習演算法自身在一個可能很龐大的假設空間中對假設進行選擇的啟發式或價值觀。有一個一般性的原則來引導演算法確立正確的偏好,即
奧卡姆剃刀(Occam’s razor):若有多個假設與觀察一致,則選擇最簡單的那個。({color{red}然而奧卡姆原則並非唯一可用原則})
事實上,歸納偏好對應了學習演算法本身所做出的關於"什麼樣的模型更好的假設"。在具體的現實問題中,這個假設是否成立,即演算法的歸納偏好是否與問題本身匹配,大多數時候直接決定了演算法能否取得好的性能。
假設學習演算法(zeta_a) 是基於某種歸納偏好產生的模型,學習演算法(zeta_b)是基於另一種歸納偏好產生的模型。對於學習演算法(zeta_a)若它在某些問題上比學習演算法(zeta_b)好,則必然存在一個問題,(zeta_a)比(zeta_b)好在哪裡?根據NFL定理,無論兩種演算法怎樣產生,兩者出錯概論的期望是相同的(但是NFL定理前提是,所有問題出現的機會相同,或者所有問題同等重要,但是實際情形我們只需要關注我們目前試圖解決的問題即可,因此(zeta_a)與$ zeta_b$ 還是有區別的。NFL定理其實是想說明,脫離具體問題討論學習演算法好壞是無意義的。學習演算法自身的歸納偏好與問題是否匹配,往往起到決定性作用。)