轉載請注明出處: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)
十二、Nonlinear Transformation
非線性轉換。
12.1 Quadratic Hypotheses
二次的假設空間。
在之前的章節中,學習的機器學習模型都為線性模型,即假設空間都為線性的,使用的得分為線性得分(linear scores) 。這種線性模型的最大好處是理論上可以使用VC限制進行約束(假設是非線性的各種曲線或者超曲面,則每種假設都可以完全二分,即
種二分類),這保證了
;當遇到如圖12-1的情況,則很難尋找到一個直線能將兩類盡可能的分離,即存在很大的
。該如何打破這種限制?
圖12-1 線性不可分的情況
觀察圖12-1發現該數據集為線性不可分(non-linear separable)的情況,可以使用圓圈將樣本集分離,如圖12-2所示,此種方式稱作圓圈可分(circular separable),該圖使用一個半徑為 圓心在原點的圓划分,假設函數h如公式12-2所示,該公式的含義為將樣本點到原點距離的平方與數值0.6作比較,如果比0.6小,則標記為+1;反之為-1。
圖12-2 圓圈可分的情況
(公式12-1)
難道需要再將以前學過的線性PLA,線性回歸的算法都重新設計一遍,變成圓圈PLA,圓圈回歸重新學習?當然不會這樣,以下介紹一種思想通過已有知識解決上述新提出的算法模型。
將公式12-1中變量以及參數做一些轉變,變成熟悉的線性模型,如公式12-2所示。
(公式12-2)
該公式將圓圈可分 轉換成線性可分
,得到的結果如圖12-3所示。稱這種將輸入空間
的過程稱為特征轉換(feature transform
)。
圖12-3 在Z空間線性可分的情況
問題出現了,是否新的空間中數據線性可分,則在原空間中原數據一定是圓圈可分?搞清此問題之前,需要了解在新的空間中如何線性可分的。
新的空間Z的表示如公式12-3所示。
(公式12-3)
在空間X中假設函數h與空間Z假設函數 的關系如公式12-4所示。
(公式12-4)
公式12-4即為在X空間中假設函數的表達式,其中為權值向量,觀察權值向量的不同取值對X空間的中的假設函數的表達式有何不同,如表12-1所示。
表12-4 Z空間不同權值向量對應X空間的不同假設函數
Z空間的權值向量 |
X空間的假設函數 |
圖形 |
|
|
圓形(circle) |
|
|
橢圓形(ellipse) |
|
|
拋物線(hyperbola) |
|
|
全為+1 |
因此通過這種形式轉換的Z空間的直線對應着原X空間中特殊的二次曲線(quadratic curves)。為何說是特殊的?從表12-1第一行表示的圓只能是圓心過原點的圓,不能隨意表示各種情況的圓。
如果想要表示X空間中所有的二次曲面,Z空間該佮表示呢?設計一個更大的Z空間,其特征轉換如公式12-5所示。
(公式12-5)
通過以上特征轉換,Z空間中的每個超平面就對應X空間中各種不同情況的二次曲線。則X空間中的假設空間H如公式12-6所示。
(公式12-6)
其中表示Z空間中的假設函數。使用一個例子表示,如公式12-7為斜橢圓的表達式,可以得出權值向量
。
(公式12-7)
使用公式12-5的特征轉換,可以表示X空間中所有的線(包括直線和各種類型的二次曲線)和常數(全為正或全為負)。
12.2 Nonlinear Transform
非線性轉換。
從X空間轉換到Z空間,則在Z空間中獲得的好的線性假設函數,相當於在X空間中獲得了好的二次假設函數,即在Z空間中存在一個可分的直線對應於在X空間存在一個可分的二次曲線。如何在Z空間中尋找好的假設函數呢?
將在Z空間的數據集寫成如 ,前面的章節講述了如何在X空間的數據集
中尋找最好的假設函數,因此可以使用前面章節學習到的方法對Z空間的數據集進行訓練。
簡述下此種學習方式的步驟,轉換與學習步驟如圖12-4所示:
通過特征轉換函數 將在X空間中不可分的數據集
轉換成在Z空間中可分的數據集
;
使用線性分類算法通過數據集獲得尋找最優權值向量
;
返回假設函數g, 。
圖12-4 非線性的轉換步驟
判斷一個新的樣本點是屬於哪一類,只需要如圖12-4最下面兩幅,從左到右做轉換,即將X空間中的數據點轉換為Z空間中的一個數據點,使用Z空間中的假設函數,最終判斷該樣本點在X空間中的類別。
總結起來此種非線性模型算法為非線性轉換結合線性算法實現,因此包含兩個重要的特征:轉換函數和線性模型(線性模型包括前幾章中討論的二元分類、線性回歸和logistic回歸等等)。
以上求解非線性分類的思路不僅可以解決二次分類的問題,同時也可以用在三次感知器、三次回歸,甚至多項式回歸的問題上。
特征轉換是機器學習中一個非常重要的知識點。
12.3 Price of Nonlinear Transform
非線性轉換的代價。
當使用Q次多項式轉換時,轉換函數如公式12-8所示。
(公式12-8)
此時權值向量 的維度是多少?答案為
,其中1為
,
表示轉換后特征對應的權值分量個數。
如何計算維度?需要使用到排列組中重復組合的知識,從n個不同元素中無序可重復的抽取k個元素,用隔板法可知為 (證明思路就是在n個小球中插入k-1個板子,這種組合方式為
),用在求解
的維度時,要注意除了給定的元素
之外,還有一個元素為常數1,因此該問題為在d+1個元素中可重復的抽出Q個元素,維度為
,可表示為
。因此不論是對空間轉換或權值向量
計算與存儲上都消耗了更高時間復雜度和空間復雜度。因此在Q很大時,模型的計算非常困難。
除上述的弊端之外,特征轉換還帶來另一個問題。
在前面的章節中講述過,模型參數的自由度大概是該模型的VC維度,如公式12-9所示。
(公式12-9)
因此當Q越大時, 越大。
還記得第七章的表7-1的總結嗎?此處使用取代近似的
,得到表12-2。
表12-2 的大小與兩個條件的關系
|
|
|
第一個問題 |
滿足, 不好情況出現的幾率變小 |
不滿足, 不好情況出現的幾率變大了 |
第二個問題 |
不滿足,在 |
滿足,在 |
問題一是如何確保與
很接近;問題二是如何確保
足夠小。
如果表12-2還不夠形象,在舉一個形象化的例子,如圖12-5所示,圖12-5 a)表示使用原始的線性函數,圖12-5 b)表示4次函數的划分,視覺上可以看出圖12-5 b)的雖小,但是划分有些過了,可能和
差得很遠。
圖12-5 a) 原始的1次函數分類情況 b) 4次函數的分類情況
但是這種"視覺上"判斷的好壞已經是人類的大腦處理過后的結果,在機器學習中應避免直接觀察數據的情況出現。
12.4 Structured Hypothesis Sets
結構化的假設空間。
觀察不同維度間假設空間、VC維及 的關系,如公式12-10~公式12-12。
(公式12-10)
(公式12-11)
(公式12-12)
其中,
,表示i次多項式轉換的假設空間,公式12-10表示高次多項式轉換的假設空間包含了低次多項式轉換的假設空間;公式12-11表示高次多項式轉換的VC維度大於等於低次多項式轉換的VC維度;次數越高所能表示的邊界越復雜,
自然越小。
VC維與錯誤率之間的關系如圖12-6所示。
圖12-6 VC維與錯誤率之間的關系
從圖中可以得知,如果開始選擇一個高次多項式轉換,則可能得到的非常小,然而此種情況對應的
或許非常大。因此在做多項式轉換時,最好是從低次往高次依次測試,而不是開始選取一個高次的多項式作為轉換函數,最好從一次式(也稱為線性函數)開始。