一、引言
機器學習致力於研究如何通過計算的手段,利用經驗來改善系統自身的性能。
在計算機系統中,“經驗”通常以“數據”的形式存在,因此,機器學習所研究的主要內容,是關於在計算機上從數據中產生的“模型”的算法,即“學習算法”。有了學習算法,我們就把經驗數據提供給它,它就能基於這些數據產生模型,在面對新的情況時,模型會給我們提供相應的判
二、基本術語
1、屬性:反映事件或對象在某方面的表現或性質的事項
2、屬性值:屬性的取值
3、屬性空間:屬性張成的空間
4、特征向量:空間中每個點的坐標向量
5、標記:關於示例結果的信息
6、樣例:擁有了標記信息的示例
7、數據集:所有樣例組成的集合
8、學習:從數據中學得模型的過程
9、訓練集:訓練樣本組成的集合
10、真相(ground-truth):數據的潛在的某種規律
11、測試:學得模型后,使用其進行預測得過程
12、測試集:測試樣本組成得集合
13、泛化能力:學得模型應用新樣本的能力。
舉例:
我們已經知道了,機器學習是利用數據,從數據中歸納出規律,並用來對新事物進行預測。所以,機器學習首先要有數據,假設我們收集了一份關於西瓜的數據:
- 我們看到的諸如西瓜數據集這樣的一個二維表格就是數據集;
-
我們把數據中的每一行稱為一個示例或樣本;
-
反映事件或對象在某方面的表現或性質的事項,如:色澤、根蒂、敲聲,稱為屬性或特征;
-
屬性上的取值,例如:青綠、烏黑。稱為屬性值或特征值;
-
屬性值形成的集合稱為屬性空間;
-
我們把一個示例(樣本)稱為一個特征向量。
一般地,令 D={x1 , x2 , .. , xm } 表示包含 m 個示例的數據集,每個示例由 d 個屬性描述(例如上面的西瓜數據使用了三個屬性),則每個示例:
xi = ( xi1; xi2 ...; xid )
是 d 維樣本空間X中的一個向量,xi∈X,其中 xij 是xi在第 j 個屬性上的取值。d 稱為樣本xi 的維數。
有了數據后,機器就可以從數據中進行學習。從數據中學得模型的過程稱為“學習”或“訓練”,這個過程通過執行某個學習算法來完成。
訓練過程中使用的數據稱為“訓練數據”,其中每個樣本稱為一個“訓練樣本”,訓練樣本組成的集合稱為“訓練集”,學習過程就是為了找出或逼近真相。
數據分為訓練集和測試集,在測試集上的表現稱為泛化能力。在評估泛化能力,通常比較預測值與真實值。
根據數據是否有標簽,可以將機器學習方法分為有監督方法和無監督方法。
如果數據有標簽,則為有監督方法。有監督方法的兩大類任務,一個是回歸,一個是分類。如果標簽為連續值,它就是一個回歸任務。如果標簽數據是離散值,那就是一個分類任務。
如果數據沒有標簽,就屬於無監督方法,聚類是一種典型無監督學習方法。俗話說“物以類聚、人以群分”,聚類算法就是將數據划分成不同的組,組內的樣本具有很強的相似性,組間的樣本具有很強的差異性。
三、假設空間
14、歸納:特殊到一般的泛化過程
15、演繹:從一般的特殊的特化過程
16、概念學習:要求從訓練數據學得概念。
17、布爾概念學習:對是、不是這樣的可以表示成0/1布爾值的目標概念學習。
假設空間在已知屬性和屬性可能取值的情況下,對所有可能滿足目標的情況的一種毫無遺漏的假設集合。
歸納和演繹是推理的兩大手段,歸納是特殊到一般的泛化過程,即從具體的事實歸結出一般性的規律,演繹是從一般到特殊的特化過程。
從樣例中學習的過程很顯然是一個歸納的過程,因此也成為歸納學習。歸納學習有狹義和廣義之分,廣義的歸納學習大致相當於從樣例中學習,而狹義的歸納學習則要求從訓練數據中學的概念(concept),因此亦稱為“概念學習”或“概念形成”。
概念學習最基本的形式是布爾概念學習,即對“是”“不是”這樣的可表示為0/1布爾值的目標概念的學習。
舉例:
學習得“好瓜”這樣一個概念可以用一個布爾表達式進行表示:
問號表示尚未確定的取值,我們學習目標為“好瓜”,通過學習,將這些問號確定下來,確定問號的取值就是學習的過程。
學習的過程可以看作一個在所有假設組成的空間中進行搜索的過程。搜索目標是找到與訓練集“匹配”的假設,即能夠將訓練集中的瓜判斷正確的假設。除此還有一種取值用通配符*表示,表示無論取什么值都合適。空集符號表示一種極端的概念,也許世界上根本不存在好瓜。假設的表示一旦確定,假設空間及其規模大小就確定了。
舉個例子,假設西瓜的好壞由“色澤”,“根蒂”以及“敲聲”決定,且"色澤"、"根蒂"和"敲聲"分別有3、3、3 種可能取值。
假設空間的大小即為:(3+1)*(3+1)*(3+1)+1=65
可以有許多策略對這個假設空間進行搜索,例如自頂向下、從一般到特殊,或是自底向上、從特殊到一般,搜索過程中可以不斷刪除與正例不一樣的假設、和(或)與反例一致的假設。最終將會獲得與訓練集一致(即對所有訓練樣本能夠進行正確判斷)的假設,這就是我們學得的結果。
現實問題中我們常面臨很大的假設空間,但學習過程是基於有限樣本訓練集進行的,因此,可能有多個假設和訓練集一致,即存在着一個與訓練集一致的“假設集合”,我們稱之為“版本空間”(version space)。
版本空間構建過程:對假設空間進行搜索,可以自頂向下(一般到特殊),也可以自底向上(特殊到一般),在搜索過程中只保留與訓練集正例一致的假設。
分析:
新瓜:(色澤=青綠,根蒂=蜷縮,敲聲=沉悶),
(1)對於假設 (色澤=*) ⋀ (根蒂=蜷縮) ⋀ (敲聲=*),判斷好瓜
(2)對於假設(色澤=*) ⋀ (根蒂=蜷縮) ⋀ (敲聲=濁響),判斷壞瓜。
四、歸納偏好
歸納偏好(簡稱"偏好"):機器學習算法在學習過程中對某種類型假設的偏好。說白了就是“什么樣的模型更好”這一問題。
歸納偏好可看作學習算法自身在一個可能很龐大的假設空間中對假設進行選擇的啟發式或“價值觀”。而在具體的現實問題中,學習算法本身所做的假設是否成立,也即算法的歸納偏好是否與問題本身匹配,大多數時候直接決定了算法能否取得好的性能。
“奧卡姆剃刀”(Occam's razor):是一種常用的、自然科學研究中最基本的原則,即“若有多個假設與觀察一致,則選最簡單的那個”。
沒有免費的午餐定理(NFL):無論一個算法多么笨拙,無論一個算法多么聰明,他們的期望性能相同。脫離具體問題,空泛談論“什么學習算法更好”毫無意義。