注:關於該系列,只爲整理並記錄個人學習過程中,遇到的知識點整理;
機器學習讀書筆記(一)
文章目錄
第1章 緒論
1.1 引言
機器學習定義
機器學習一門致力於研究如何通過計算的手段,利用經驗來改善系統自身的性能的學科。機器學習所研究的主要內容,是關於在計算機上從數據中產生“模型(model)”的算法,即“學習算法”。
1.2 基本術語
數據集
一組記錄的集合,其中,每條記錄是關於一個事件或對象的描述,稱爲一個“示例”(instance)或“樣本”(sample)。
屬性或特徵
反映事件或對象在某方面的表現或性質的事項,稱爲“屬性”(attribute)或“特徵”(feature);屬性張成的空間稱爲“屬性空間”、“樣本空間”或“輸入空間”。
由於空間中每個點對應一個座標向量,因此,我們也把一個示例稱爲一個“特徵向量(feature vector)”。
一般地,令 表示包含 個示例的數據集,每個示例由 個屬性描述,則每個示例 是 維樣本空間 中的一個向量,,其中, 是 在第 個屬性上的取值, 稱爲樣本 的“維數”(dimensionality)。
從數據中學得模型的過程稱爲“學習”(learning) 或“訓練”(training),這個過程通過執行某個學習算法來完成。訓練過程中使用的數據稱爲“訓練數據”(training data),其中,每個樣本稱爲一個“訓練樣本”(training sample),訓練樣本組成的集合稱爲“訓練集”(training set)。學得砸開對應了關於數據的某種潛在的規律,因此,亦稱爲“假設”(hypothesis);這種潛在規律自身,則稱爲“真相”或“真實”,學習過程就是爲了找出或逼近真相。有時將模型稱爲“學習器”(learner),可看作學習算法在給定數據和參數空間上的實例化。
要建立關於“預測”的模型,我們需要獲得訓練樣本的“結果”信息。這裏關於示例的信息,稱爲“標記”(label);擁有了標記信息的示例,則稱爲“樣例”(example)。一般地,用 表示第 個樣例,其中, 是示例 的標記, 是所有標記的集合,亦稱“標記空間”(label space) 或“輸出空間”。
分類和迴歸
若我們欲預測的是離散值,此類學習任務稱爲“分類”(classification);若欲預測的值是連續值,則此類學習任務稱爲“迴歸”(regression)。對只涉及兩個類別的“二分類”(binary classification) 任務,通常稱其中一個類爲“正類”(positive class),另一個類爲“反類”(negative class);涉及多個類別時,則稱爲“多分類”任務。一般地,預測任務是希望通過對訓練集 進行學習,建立一個從輸入空間 到輸出空間 的映射 。對二類分類任務,通常令 或 ;對多分類任務,; 對迴歸任務, , 爲實數集。
聚類
我們還可以對訓練樣本進行聚類,即將訓練集中的樣本分成若干組,每組稱爲一個“簇”(cluster),這些自動形成的簇可能對應一些潛在的概念劃分,這樣的學習過程有助於我們瞭解數據內存的規律,能爲更深入地分析數據建立基礎。需要說明的是,在聚類學習中,學習過程中使用的訓練樣本通常不擁有標記信息。
有監督學習和無監督學習
分類和迴歸是有監督學習的代表,聚類則是無監督學習的代表。
泛化能力
學得的模型適用於新樣本的能力,稱爲“泛化能力”(generalization),具有強泛化能力的模型能很好地適用於整個空間。
通常我假設樣本空間中全體樣本服從一個未知“分佈”(distribution) ,我們獲得的每個樣本都是獨立地從這個分佈上採樣獲得的,即“獨立同分布”(independent and identically distributed, 簡稱 ). 一般而言,訓練樣本越多,我們得到的關於 的信息越多,這樣就越有可能通過學習獲得具有強泛化能力的模型;
1.3 假設空間
歸納(induction)與演繹(deduction)是科學推理的兩大基本手段。前者從特殊到一般的“泛化”過程,即從具體的事實歸結出一般性規律,後者則是從一般到特殊的“特化”(specialization)過程,即從基礎原理推演出具體狀況。“從樣例中學習”,顯然是一個歸納的過程,因此亦稱“歸納學習”(inductive learning)。
1.4 歸納偏好
機器學習在學習過程中,對某種類型假設的偏好,稱爲“歸納偏好”(inductive bias),或簡稱爲“偏好”。對於一個具體的學習算法而言,它必須要產生一個模型。這時,學習算法本身的“偏好”就會起到關鍵作用。
任何一個有效的機器學習算法必有其歸納偏好,否則,它將被假設空間中看似在訓練集上“等效”的假設所迷惑,而無法產生確定的學習結果。
1.4.1奧卡姆剃刀原則(Occam’s razor)
“奧卡姆剃刀”是一種常用的、自然科學研究中最基本的原則,即“若有多個假設與觀察一致,則選最簡單的那個”。該原則,也常用來作爲引導機器學習算法確立正常“偏好”的一般原則;
事實上,歸納偏好對應了學習算法本身所做出的關於“什麼樣的模型更好”的假設。在具體的現實問題中,這個假設是否成立,即算法的歸納偏好是否與問題本身匹配,大多數時候直接決定了算法能否取得好的性能。
1.4.2 沒有免費午餐定理(No Free Lunch Theorem,簡稱 NFL 定理)
該定理的結論是,由於對所有可能函數的相互補償,最優化算法的性能是等價的。該定理暗指,沒有其它任何算法能夠比搜索空間的線性列舉或者純隨機搜索算法更優。該定理只是定義在有限的搜索空間,對無限搜索空間結論是否成立尚不清楚。
NLF 定理
1)對所有可能的的目標函數求平均,得到的所有學習算法的“非訓練集誤差”的期望值相同;
2)對任意固定的訓練集,對所有的目標函數求平均,得到的所有學習算法的“非訓練集誤差”的期望值也相同;
3)對所有的先驗知識求平均,得到的所有學習算法的“非訓練集誤差”的期望值也相同;
4)對任意固定的訓練集,對所有的先驗知識求平均,得到的所有學習算法的的“非訓練集誤差”的期望值也相同。
NFL定理表明沒有一個學習算法可以在任何領域總是產生最準確的學習器。不管採用何種學習算法,至少存在一個目標函數,能夠使得隨機猜測算法是更好的算法。
NFL 定理有一個重要前提:所有“問題”出現的機會相同、或所有問題同等重要。
算法,至少存在一個目標函數,能夠使得隨機猜測算法是更好的算法。
NFL 定理有一個重要前提:所有“問題”出現的機會相同、或所有問題同等重要。
NFL 最重要的寓意,是讓我們清楚地認識到,脫離具體問題,空泛地談論“什麼學習算法更好”毫無意義。因爲若考慮到潛在的問題,則所有學習算法都一樣好。要談論算法的相對優劣,必須要針對具體的學習問題; 在某些問題上表現好的學習算法,在另一些問題上卻可能不盡如人意,學習算法自身的歸納偏好與問題是否相配,往往會起到決定性的作用。