監督學習的任務是學習一個模型,使得模型能夠對任意給定的輸入,對其相應的輸出做一個好的預測。
輸入空間、特徵空間與輸出空間
監督學習中將輸入與輸出所有可能取值的集合分別稱爲輸入空間和輸出空間
每個具體的輸入是一個實例,通常由特徵向量表示,所有的特徵向量存在的空間爲特徵空間。有時假設輸入空間與輸出空間爲相同的空間,有時假設兩者爲不同的空間,將實例從輸入空間映射到輸出空間。模型實際上都是定義在特徵空間上面的。輸入變量與輸出變量均爲連續變量的預測問題稱爲迴歸問題;輸出變量爲有限個離散變量的預測問題稱爲分類問題;輸入變量與輸出變量均爲變量序列的預測問題稱爲標註問題。
聯合概率分佈
監督學習假設輸入輸出隨機變量X和Y遵循聯合概率分佈P(X,Y),P(X,Y)表示分佈函數或分佈密度函數。訓練數據和測試數據被看做是依聯合概率分佈P(X,Y)獨立同分布產生的。統計學習假設數據存在一定的統計規律,X與Y具有聯合概率分佈的假設就是監督學習關於數據的基本假設。
假設空間
監督學習的目的在於學習一個由輸入到輸出的映射,這一映射由模型來表示。學習的目的在於找到最好的這樣的模型。模型屬於由輸入空間到輸出空間的映射的集合,這個集合就是假設空間(hypothesis space)。假設空間的確定意味着學習範圍的確定。監督學習的模型可以是概率模型或非概率模型,由條件概率分佈P(Y|X)或決策函數Y=f(X)表示。
構建一張統計學習方法就是確定具體的統計學習的三要素:
學習方法 = 模型+策略+算法
模型就是所要學習的條件概率分佈或決策函數。模型的假設空間包含所有可能的條件概率分佈或決策函數。例如假設決策函數是輸入變量的線性函數,那麼模型的假設空間就是所有這些線性函數構成的函數集合。假設空間中的模型一般有無窮多個。
假設空間用F表示,假設空間可以定義爲決策函數的集合:
,也可以定義爲條件概率的集合:

有了模型的假設空間,統計學習需要考慮如何學習或者選擇最優的模型。引入了損失函數和風險函數。損失函數度量一次預測的好壞,風險函數度量平均意義下模型預測的好壞。損失函數是f(x)和Y的非負實值函數,記作
常用的損失函數如下所示:
- 0-1損失函數:
平方損失函數:
絕對損失函數:
對數損失函數(對數似然損失函數):
由於模型遵循聯合分佈P(X,Y),所以損失函數的期望如下,這是理論上模型f(X)關於聯合分佈P(X,Y)平均意義下的損失,稱爲風險函數或期望損失,記作
:
模型f(X)關於訓練數據集的平均損失稱爲經驗風險或經驗損失,記作
:
學習目標就是選擇期望風險最小的模型,由於聯合分佈P(X,Y)是未知的, 不能直接計算,事實上,若知道聯合分佈P(X,Y),可以從聯合分佈直接求出條件概率分佈P(Y|X),也就不需要學習了。根據大數定律,當N趨於無窮時,兩者趨於相同,但現實中數據不會無窮大,這時需要對經驗風險進行校正,使用監督學習中的兩種基本策略:經驗風險最小化和結構風險最小化。
經驗風險最小化就是求解最優化問題,最優模型爲經驗風險最小的模型:
但是當樣本容量很小時容易產生過擬合,這時就需要使用結構風險最小化,等價於正則化,在經驗風險上加上表示模型複雜度的正則化項或懲罰項。結構風險的定義如下:
算法是指學習模型的具體計算方法,使用何種計算方法求解最優模型。如何保證找到全局最優解,並使求解的過程高效。統計學習可以使用已有的最優化方法,如梯度下降之類的,有時也需要使用獨自的最優化算法。
訓練誤差是指模型關於訓練集的平均損失,測試誤差是指模型關於測試集的平均損失。當損失函數爲0-1損失的時候,測試誤差就變成了常見的測試數據集上面的誤差率。常見的測試數據集上面的準確率爲:
模型複雜度與預測誤差的關係圖如下所示,模型複雜度越高越容易導致在測試集過擬合的問題。(pixeImator畫圖真心好用)
下面介紹兩種常用的模型選擇方法:正則化和交叉驗證
正則化是結構風險最小化策略的實現,一般具有如下形式:
正則化的作用是選擇經驗風險與模型複雜度同時較小的模型。正則化符合奧卡姆剃刀原理,它應用在模型選擇時變爲以下想法:在所有可能選擇的模型中,能夠很好的解釋已知數據並且十分簡單纔是最好的模型。
交叉驗證是另一種常用的模型選擇方法,將數據分爲訓練集,驗證集,測試集,訓練集用來訓練模型,驗證集用於模型的選擇,測試集用於對學習方法的評估。在學習到的不同的複雜模型中,選擇對驗證集有最小預測誤差的模型。交叉驗證的基本思想是重複使用數據:把給定的數據進行劃分,對劃分的數據反覆進行訓練、測試以及模型選擇。
- 簡單交叉驗證
將數據隨機分爲兩個部分,(70%訓練集,30%測試集),然後用訓練集在各種條件下(不同參數個數)訓練模型,從而得到不同的模型,在測試集上面評價各個模型的測試誤差,選出測試誤差的最小的模型。
S折交叉驗證
這個應用最多(S-fold cross validation),首先隨機劃分爲S個互不相交的大小相同的子集,然後用S-1個子集的數據訓練模型,餘下的子集測試模型,反覆重新進行S種組合,最後選出S次評測中平均測試誤差最小的模型。
留一交叉驗證
當S折交叉驗證中S=N時稱爲留一交叉驗證,N爲給定數據集的容量。
泛化能力(generalization ability)是指由該方法學習到的模型對未知數據的預測能力。
泛化誤差(generalization error)的定義如下:如果學習到的模型時
,那麼用這個模型對未知數據預測的誤差即爲泛化誤差。實際上,泛化誤差就是所學習到模型的期望風險。
學習方法的泛化能力分析往往通過研究泛化誤差的概率上界進行,簡稱泛化誤差上界。通過比較這個來比較兩個算法的優劣。泛化誤差上界通常具有以下性質:它是樣本容量的函數,當樣本容量增加時,泛化上界趨於0;它是假設空間容量的函數,假設空間容量越大,模型就越難學,泛化誤差上界就越大。
泛化誤差上界定理:對於二類分類問題,當假設空間是有限個函數的集合
時,對任意一個函數
,至少以概率
,以下不等式成立:
上面(1.1)式中左端 是泛化誤差(泛化誤差就是所學模型的期望風險),右端即爲泛化誤差上界。在泛化誤差上界中,第一項是訓練誤差,訓練誤差越小,泛化誤差也越小。第二項 是N的單調遞減函數,當N趨於無窮大時趨於0;同時它是 階的函數,假設空間 包含的函數越多,其值越大。
證明:在證明中需要用到Hoeffding不等式,如下:
由於