1. 程式人生 > >西瓜書《機器學習》學習筆記 一 緒論

西瓜書《機器學習》學習筆記 一 緒論

今天開始學習周志華老師的《機器學習》,邊學邊做筆記,總結一下自己的所學,會堅持更新,機器學習小白,出錯的地方請各位大佬不吝指教。

教材連結:https://pan.baidu.com/s/1uNulv7Os0vzqjXc-c5mx5w 密碼:6pzb

第一章 緒論

1、樣本空間

百度百科定義:隨機事件E的所有基本結果組成的集合為E的樣本空間。樣本空間的元素稱為樣本點或基本事件。

現實任務中樣本空間規模通常很大(例如20個屬性,每個屬性有10個可能,則樣本空間的規模已達10^20)。在機器學習中,通常假設樣本空間中全部樣本服從一個未知“分佈”D,我們獲得的每個樣本都是獨立地從這個分佈上取樣獲得的,即“獨立同分布”

訓練集:通常只是樣本空間的一個很小的取樣,我們希望它能很好地反映出樣本空間的特性,否則就很難期望在訓練集上訓練的模型可以在整個樣本空間都可以工作的很好。

泛化能力:機器學習的目標是使學得模型能很好地適用於“新樣本”,而不是僅僅在訓練樣本上工作的很好。學得模型適用於新樣本的能力,稱為“泛化”能力。具有強泛化能力的模型能很好的適用於整個樣本空間。

一般而言,訓練樣本越多,我們的到的關於D的資訊越多,這樣就越有可能通過學習獲得具有強泛化能力的模型。

2、假設空間

歸納:從特殊到一般的“泛化”(generalization)過程,即從具體的事實歸結出一般性規律;

演繹:從一般到特殊的“特化”(specialization)過程,即從基礎原理推演出具體情況。

"從樣例中學習"顯然是一個歸納的過程,亦稱“歸納學習”(inductive learning)

僅僅“記住”訓練樣本,就是所謂的“機械學習”,或稱“死記硬背式學習”;還需要具有良好的泛化能力。

我們可以把學習過程看做是一個在所有假設(hypothesis)組成的空間中進行搜尋的過程,搜尋目標是找到與訓練集“匹配”(fit)的假設,即能夠將訓練集中的瓜判斷正確的假設。假設的表示一旦確定,假設空間及其規模大小就確定了。

假設空間有所有特徵變數的可能取值所形成的假設組成。例如有3個可變特徵,分別是0,1,那麼面臨的假設空間規模大小為3*3*3+1=28. (0,1,和非01值)

需要注意的是,現實問題中我們常面臨很大的假設空間,但學習過程是基於有限樣本訓練集進行的,因此,可能有多個假設與訓練集一直,即存在著一個與訓練集一致的“假設集合”,我們稱之為“版本空間

”(version space)。這個時候可能會出現一個問題,現在有N個與訓練集一致的假設,但是與它們對應的模型在面對新樣本時,卻會產生不一樣的輸出,那麼我們怎麼樣選擇採用哪一個模型呢?這時候就需要考慮歸納偏好

3、歸納偏好

任何一個有效的學習演算法必有其歸納偏好,否則它將被假設空間中看似在訓練集上“等效”的演算法所迷惑,而無法產生確定的學習結果(模型)。

“奧卡姆剃刀”(Occam's razor)原則:“如無必要,勿增實體”;即切勿浪費較多東西去做,用較少的東西,同樣可以做好的事情;即“若有多個假設與觀察一致,則選用最簡單的那一個。”

“奧卡姆剃刀”是一個常用的、自然科學研究中最基本的原則,可以作為一種偏好用來引導演算法確立。但並不是唯一的偏好。怎麼判斷一個假設更“簡單”並不容易,需要藉助其他機制才能解決。

事實上,歸納偏好對應了學習演算法本身所做出的關於“什麼樣的模型更好”的假設。在具體的現實問題中,這個假設是否成立,即演算法的歸納偏好是否與問題本身匹配,大多數時候直接決定了演算法能否取得好的效能。

NFL定理(“沒有免費的午餐”定理,No Free Lunch Theorem)對於一個學習演算法Ea,若它在某些問題上比學習演算法Eb好,則必然存在另一些問題,在那裡Eb比Ea好。即無論學習演算法Ea多麼聰明,學習演算法Eb多笨拙(哪怕胡猜),它們的期望性是相同的。證明請看西瓜書1.4節。NFL定理假設所有“問題”出現的機會相同,或所有問題同等重要,但實際情形不是這樣,很多時候,我們只關注正在試圖解決的問題。

NFL定理最重要的寓意:脫離具體問題,空泛的談論“什麼學習演算法更好”毫無意義,因為要是考慮所有潛在的問題,則所有學習演算法一樣好,要談論演算法的相對優劣,必須針對具體的學習問題;在某些問題上表現良好的學習演算法,在另一些問題上卻可能不盡如人意,學習演算法自身的歸納偏好於問題是否匹配,往往會起到決定性的作用。