機器學習基石筆記12——機器可以怎樣學習(4)


轉載請注明出處: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 的大小與兩個條件的關系

 

很小的時候

很大的時候

第一個問題

滿足,

不好情況出現的幾率變小

不滿足,

不好情況出現的幾率變大了

第二個問題

不滿足,在變小時,假設的數量變小,算法的選擇變小,可能無法找到 接近0的假設。

滿足,在變大時,假設的數量變大,算法的選擇變大,找到 接近0的假設的幾率變大。

 

問題一是如何確保很接近;問題二是如何確保足夠小。

如果表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維與錯誤率之間的關系

 

從圖中可以得知,如果開始選擇一個高次多項式轉換,則可能得到的非常小,然而此種情況對應的或許非常大。因此在做多項式轉換時,最好是從低次往高次依次測試,而不是開始選取一個高次的多項式作為轉換函數,最好從一次式(也稱為線性函數)開始。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM