轉載請注明出處:http://www.cnblogs.com/ymingjingr/p/4271742.html
目錄
機器學習基石筆記1——在何時可以使用機器學習(1)
機器學習基石筆記2——在何時可以使用機器學習(2)
機器學習基石筆記3——在何時可以使用機器學習(3)(修改版)
機器學習基石筆記4——在何時可以使用機器學習(4)
機器學習基石筆記5——為什么機器可以學習(1)
機器學習基石筆記6——為什么機器可以學習(2)
機器學習基石筆記7——為什么機器可以學習(3)
機器學習基石筆記8——為什么機器可以學習(4)
機器學習基石筆記9——機器可以怎樣學習(1)
機器學習基石筆記10——機器可以怎樣學習(2)
機器學習基石筆記11——機器可以怎樣學習(3)
機器學習基石筆記12——機器可以怎樣學習(4)
機器學習基石筆記13——機器可以怎樣學得更好(1)
機器學習基石筆記14——機器可以怎樣學得更好(2)
機器學習基石筆記15——機器可以怎樣學得更好(3)
機器學習基石筆記16——機器可以怎樣學得更好(4)
七、The VC Dimension
VC維。
7.1 Definition of VC Dimension
VC維的定義。
先對上一章的內容作簡單總結:如果一個假設空間存在突破點。則一定存在成長函數被某個上限函數
所約束,可求出上限函數等於一個組合的求和形式
,易知該形式的最高次項是
。圖7-1a)和b)分別是以上限函數為成長函數上限的情況和以
為成長函數上限的情況。
圖7-1 a) 以上限函數為上限 b) 以為上限
從圖中可以看出在 且
的情況下,滿足
,得到公式7-1。
(公式7-1)
通過公式7-1和上一章的結論可以得出公式7-2。
(公式7-2)
該公式的意義是在輸入樣本N很大時,VC限制一定成立,同時等式的左邊也一定會在 的情況下被以多項式形式(
)所約束(注意這里
的條件沒有了,原因很簡單,VC限制是樣本N很大的情況下產生的,因此一定滿足
的條件),而在k<3的情況下有其他的限制可以滿足(比如前幾章提到的如正射線之類的分類不需要多項式形式的限制也可以約束住成長函數)。
至此得知,滿足以下幾個條件,機器便可以學習:
-
假設空間的成長函數
有一個突破點k(有好的假設空間H);
-
輸入數據樣本N足夠的大(有好的輸入樣本集D);
1和2通過VC限制共同推出了和
有很大的可能很接近。
-
一個算法A能夠找出一個使
足夠小的g(好的算法A);
再結合1和2得出的結論就可以進行學習了(當然這里需要一點好的運氣)。
接下來介紹一下這一節的正題,VC維度或者VC維(VC dimension)是什么意思。
它的定義和突破點(break point)有很大關系,是最大的一個不是突破點的數。
VC維是假設空間的一個性質,數據樣本可以被完全二分的最大值。用作為VC維的數學符號,假如突破點存在的話,即最小的突破點減去1,如公式7-3所示;如果不存在突破點的話,則VC維為無限大。
(公式7-3)
如果輸入數據量N小於VC維,則有可能輸入數據D會被完全的二分類,這里不是一定,只能保證存在。
如果輸入數據量N(或者用k表示)大於VC維,則有k一定是假設空間H的突破點。
使用VC維對公式7-1進行重寫,在
且
時,如公式7-4所示。
(公式7-4)
對第五章中提到的幾種分類,使用VC維取代突破點,表示VC維與成長函數的關系,如表7-1所示。
表7-1 VC維與成長函數的關系
正射線 |
|
|
一維空間的感知器 |
|
|
間隔為正的分類 |
|
|
凸圖形分類 |
|
|
二維平面的感知器 |
|
|
對上述條件1中好的假設空間重新做一個定義,即有限的VC維。
一個有限的VC維總是能夠保證尋找到的近似假設g滿足,這一結論與下述部分沒有關系:
-
使用的算法A,即使
很大,也依然能滿足上述的性質;
-
輸入數據的分布P;
-
未知的目標函數f。
即VC維可應對任意的假設空間,任意的數據分布情況,任意的目標函數。
滿足這一性質可以得到如圖7-2所示的流程圖,其中灰色的部分表示上述幾個不會影響這一結果的部分。
圖7-2 由VC維保證機器可以學習的流程圖
7.2 VC Dimension of Perceptrons
感知器的VC維。
以下兩個條件保證了2維線性可分的數據是可以學習的。
-
線性可分的數據通過PLA算法運行足夠長的時間(T步驟足夠大),則會找出一條可以正確分類的直線,使得樣本中沒有產生分錯類的情況,即
;
-
在訓練樣本和整個數據集都服從同一分布P的前提下,有VC限制保證了,在
且訓練樣本N足夠大時,
。
以上兩個條件共同得出的結論。
這一節討論的是PLA能否處理維數大於二維的數據。
從上一節的內容得知:只要求出是一個有限數,則可以使用VC限制來保證
。於是問題變成了在維數大於二維時,感知器的VC維
如何表示(能否表示成一個有限數)。
兩種已知感知器的VC維表示。1維感知器的VC維:;2維感知器的VC維:
。
能否以此類推得出d維感知器的VC維:呢?
上述只是一種猜想,接下來是對此猜想進行證明,證明的思路也很傳統,證明等於號的成立分為兩步:證明大於等於以及小於等於
。
證明大於等於的思路:證明存在d+1數量的某一數據集可以完全二分;證明小於等於的思路:證明任何d+2數量的數據集都不可以完全二分。
首先證明大於等於。因為只需要證明存在,不妨構造一個輸入樣本集,假設樣本為一個行向量,其中第一個樣本為0向量,第二個樣本是其第一個分量為1其他分量為0的向量,第三個樣本是其第二個分量為1其他分量為0的向量,以此類推,第d+1個樣本是其第d個分量為1其他分量為0的向量,如: ,
,
,…,
,在感知器中樣本X如公式7-5所示,其中每一個樣本加上默認的第0個分量,其值為1(從閾值b變成
所乘的樣本分量)。
(公式7-5)
很容易證明該矩陣式可逆:除了第一行之外的每一行都減去第一行得到一個對角矩陣,因此為滿秩,可逆。
需要證明的是可以完全二分,關注的重點為輸出標記向量 。只要找出各種權值向量
能將上述輸入樣本集X映射到全部的二分情況下的
上就可以了。
已知感知器可以使用 表示。而只要權值向量使得
成立,就一定滿足
的需求。假設其中輸入矩陣如公式7-5所示,即X是可逆矩陣,輸出向量y的任意一種二分類情況都可以被一個假設函數w划分出,原因是權值向量
滿足
,即任何一種二分類情況都會有一個權向量w與之對應,因此滿
成立。
證明小於等於的思路:證明小於等於是不能如上,舉一個特殊輸入數據集,因為其要證明在所有的情況下,證明過程稍微復雜一些,先以一個2維空間的例子為切入點。
假設一個2維空間,則需要觀察在2+2個輸入數據量,不妨假設這四個輸入樣本分別是,
,
,
。輸入數據集X如公式7-6所示。
(公式7-6)
可以想象在標記 為-1,
與
為+1時,
不可以為-1,如圖7-3所示。
圖7-3 2維數據樣本不可二分的情況
用數學的形式如何表達?首先根據這四個樣本可以確保公式7-7成立。
(公式7-7)
該公式等號兩邊同時左乘權值向量依舊成立,但在滿足
為-1,
與
為+1這一條件時,公式左邊一定大於0,如公式7-8所示。
(公式7-8)
這種樣本間線性依賴(linear dependence)的關系導致了無法二分。
那在高維空間結果如何呢?
假設在d維空間中d+2個樣本,其輸入樣本集如公式7-9所示。
(公式7-9)
因為樣本間的線性依賴關系,一定可以得到公式7-10,其中 表示系數,該系數可正可負,也可以等於0,但是不可以全為0.
(公式7-10)
此處使用反證法:設存在一個這樣的二分情況,,在公式7-10的等號兩邊左乘權值向量
得公式7-11。
(公式7-11)
因為和
的第i個分量同號(i=1,2,…,d+1),因此左項必然為正,假設不成立,因此在任何d+2個輸入數據集中必然都存在不能滿足的二分類,即
。
至此大於等於以及小於等於都證明結束,起初的猜想成立。
7.3 Physical Intuition of VC Dimension
VC維的直覺。
上一節內容將感知器中數據的維度與VC維聯系到了一起,也明白了起名時VC維中的維的含義。而在感知器中,數據樣本的維度又與權值向量的維度一致,不同的權值向量對應着不同的假設函數,因此稱假設函數的參數是假設空間上的自由度(degree of freedom)。如果從假設空間的數量|H|角度上描述,則自由度是無限大的;但是從感知器在二元分類上這一限制條件入手,則可以使用VC維作為自由度的衡量。
通過之前學習過的兩個列子來更具體的看待VC維和假設空間參數之間的關系,如圖7-4所示。
圖7-4 a) 正射線
b) 間隔為正的分類
其中圖7-4 a)VC維時,假設空間有1個參數,即閾值;圖7-4 b)VC維
時,假設空間有2個參數,即左右邊界點。因此在大部分情況下,VC維
大致等於假設空間參數的個數。
5.1節中提到的兩個問題,本節可以使用VC維替代M,進而描述與這兩個問題的關系,如表7-1所示。
表7-1 VC維的大小與兩個條件的關系
|
|
|
第一個問題 |
滿足,
|
不滿足,
|
第二個問題 |
不滿足,在 |
滿足,在 |
此處寫點自己的思考:在一些書中,參數較多的模型都稱為復雜模型,很少給出解釋,這一節的內容給出了很好的解釋,因為在很多情況下模型參數的個數大致等於VC維的個數。參數越多或者說模型越復雜,越有可能找出使最小的假設函數g,但是這需要大量訓練樣本的支持,因為只有在訓練樣本數量N足夠大時,才能使更復雜(即參數更多或者說VC維更大)得模型出現不好情況的幾率變小,如上表的右列。
7.4 Interpreting VC Dimension
解釋VC維。
VC限制的公式如7-12所示。
(公式7-12)
不等式的右邊用符號 表示,則好事情
發生的幾率一定大於等於
,
與
接近程度可以使用含有
的公式表示,如公式7-13所示。
(公式7-13)
其中與
接近程度,即
被稱為泛化誤差(generalization error),通過上式證明該誤差小於等於
。
因此的范圍可以用公式7-14表示。
(公式7-14)
其中最左邊的公式一般不去關心,重點是右邊的限制,表示錯誤的上限。
又被寫成函數
,稱為模型復雜度(model complexity)。
通過一個圖表來觀察VC維到底給出了哪些重要信息,如圖7-5所示。
圖 7-5 錯誤率與VC維的關系
其中藍色線表示隨VC維
的變化;紅色部分為模型復雜度
隨
的變化;紫色部分為
隨VC維
的變化,其中
可以表示用
與
表示成
的形式。
其中隨着
的增加而減小,不難理解,因為
越大可以選擇的假設空間就越大,就有可能選擇到更小的
;模型復雜度
隨
的增加而增加也不難理解,從
就能得出關系;而
因為這前兩者的求和,因此出現了一個先降低后增加的過程,使其最小的取值為
。使得
最小才是學習的最終目的,因此尋找
很重要。
VC維除了表示模型復雜度之外還可以表示樣本的復雜度(sample complexity)。
假設給定需求 ,
,
,求N為多少時,即輸入樣本多大時才可以滿足這些條件。我們將N的各個數量級代入公式
,與
作比較,得到圖7-6。
圖7-6 N的取值與的關系
從圖中可以得出在N差不多2萬9千時,才可以訓練出滿足條件的模型,這是一個很大的數字,即數據的復雜度和VC維存在一個理論上的關系, 。但在實際應用中,倍數遠比這小的多,大概是
。造成這一現象的原因使自VC限制是個非常寬松的約束。寬松的原因主要來自以下四個:
-
霍夫丁不需要知道未知的
,VC限制可以用於各種分布,各種目標函數;
-
成長函數
取代真正的二分類個數本身就是一個寬松的上界,VC限制可以用於各種數據樣本;
-
使用二項式
作為成長函數的上界使得約束更加寬松,VC限制可以用於任意具有相同VC維
的假設空間;
-
聯合限制(union bound)並不是一定會選擇出現不好事情的假設函數,VC限制可以用於任意算法。
其實很難找出在這四個方面都可以任意選擇且比VC限制約束更緊的限制了,了解VC限制的重點其實也並不是它的約束寬松與否,而是它給予我們的哲學啟示。