機器學習基石12:非線性變換(Nonlinear Transformation)

本文介紹了非線性變換的整體流程:通過非線性變換,將非線性模型映射到另一個空間,轉換爲線性模型,再來進行線性分類。
之後介紹了非線性變換存在的問題:時間複雜度和空間複雜度的增加。
最後證明了非線性變換的一般做法:儘可能使用簡單的模型,而不是模型越複雜越好。



12. Nonlinear Transformation

12.1 Quadratic Hypotheses

在之前的章節中,學習的機器學習模型都爲線性模型,即假設空間都爲線性的(2D平面中爲一條直線,3D空間爲一個平面),使用的得分爲線性得分(linear scores) s=wTxs=w^Tx。其中,xx 爲特徵值向量,ww 爲權重。

線性模型的優點是理論上可以使用VC限制進行約束(假設是非線性的各種曲線或者超平面,則每種假設都可以完全二分,即有 2N2^N 種二分類。),這保證了 EinEoutE_{in} \approx E_{out}(VC-Dimension比較小)。但是對於線性不可分(non-linear separable)的問題(如下圖), EinE_{in} 很大,從而導致 EoutE_{out} 也很大,導致分類結果不理想。

在這裏插入圖片描述
爲了解決線性模型的缺點,我們可以使用非線性模型來進行分類。基於這種非線性思想,之前討論的PLA、Regression問題也可以通過非線性的形式進行求解。例如可以使用一個半徑爲 0.6\sqrt{0.6} 圓心在原點的圓劃分,它的hypotheses可以寫成:

hSEP(x)=sign(x12x22+0.6)(12-01)h_{SEP}(x) = sign(−x^2_1−x^2_2+0.6) \tag{12-01}

該公式的含義爲將樣本點到原點距離的平方與數值0.6作比較,圓形將樣本集分離,圓形內部是正類,標記爲+1,外部是負類,標記爲-1,此種方式稱作圓形可分(circular separable)。如下圖所示:

在這裏插入圖片描述
將公式(12-01)做如下轉換,變爲熟悉的線性模型:
在這裏插入圖片描述
原公式中,h(x)h(x) 的權重爲 w0=0.6w_0 = 0.6w1=1w_1 = -1w2=1w_2 = -1,但是 h(x)h(x) 的特徵不是線性模型的 (1,x1,x2)(1,x_1,x_2),而是 (x,x12,x22)(x,x^2_1,x^2_2)。通過令 z0=1,z1=x12,z2=x22z_0 = 1, z_1 = x^2_1, z_2 = x^2_2h(x)h(x) 可以變成上式。

這種 xnznx_n \rightarrow z_n 的變換可以看作將 XX 空間中的點映射到 ZZ 空間中去,即從 XX 空間的圓形可分映射到 ZZ 空間的線性可分。ZZ 域中的直線對應於 XX 域中的圓形。其背後的思想是通過非線性的特徵變換 Φ\Phi(feature transform) 將圓形可分(非線性可分)變爲線性可分。
在這裏插入圖片描述
那麼問題來了,已知在 XX 域中圓形可分,在 ZZ 域中線性可分;反過來,如果在 ZZ 域中線性可分,是否在 XX 域中一定圓形可分呢?

答案是否定的。由於權重向量 ww 取值不同,XX 域中的hypothesis可能是圓形、橢圓、雙曲線等等多種情況。
在這裏插入圖片描述
通過這種形式轉換的 ZZ 空間的直線對應着原 XX 空間中特殊的二次曲線(quadratic curves)。說“特殊”是因爲表示的圓只能是圓心過原點的圓,不能隨意表示各種情況的圓。如果想要表示 XX 空間中所有的二次曲面,應設計一個更大的 ZZ 空間,其特徵轉換如公式爲:
在這裏插入圖片描述
通過以上特徵轉換,ZZ 空間中的每個超平面就對應 XX 空間中各種不同情況的二次曲線(圓、橢圓、雙曲線)。則 XX 空間中的假設空間H爲:
在這裏插入圖片描述
上式中,h~\widetilde{h} 表示 ZZ 空間中的假設函數。


習題01:
在這裏插入圖片描述


12.2 Nonlinear Transform

XX 空間轉換到 ZZ 空間,則在Z空間中獲得的好的線性假設函數,相當於在X空間中獲得了好的二次假設函數,即在 ZZ 空間中存在線性可分的直線對應於在 XX 中(非線性)可分的二次曲線。目標就是在 ZZ 空間中找到一個最佳的分類線(假設函數)。

在這裏插入圖片描述

利用映射變換的思想,通過映射關係,把 XX 空間中的最高階二次的多項式轉換爲 ZZ 空間中的一次向量 z,即從二次假設轉換成了感知器問題。用 z 值代替 x 多項式,其中向量 z 的個數與 XX 空間中 x 的多項式的個數相同(包含常數項)。這樣就可以在 ZZ 域中利用線性分類器進行訓練。訓練好之後,再將 z 替換爲 x 的多項式即可(反變換)。具體過程如下:

  • XX 空間中的數據爲 {(xn,yn)}\{(x_n,y_n)\}ZZ 空間的數據集爲 {(zn=Φ2(xn),yn)}\{(z_n= \Phi_2(x_n),y_n)\}
  • 通過特徵變換函數 Φ\PhiXX 空間中線性不可分的數據集 {(xn,yn)}\{(x_n,y_n)\} 變換爲 ZZ 空間中線性可分的數據集 {(zn=Φ2(xn),yn)}\{(z_n= \Phi_2(x_n),y_n)\}
  • 使用線性分類算法和 ZZ 空間的數據集 {(zn,yn)}\{(z_n,y_n)\} 獲得表現良好的感知器模型 (最優權重向量) w~\widetilde{w}
  • 最後得到最優的假設函數 g(x)=(w~T Φ(x))g(x) = (\widetilde{w}^T \ \Phi(x))

在這裏插入圖片描述

上圖中,最下邊兩幅圖表達了該思路的核心思想。判斷某個樣本屬於哪個類別,只需要將 XX 空間中的數據變換到 ZZ 空間;然後使用 ZZ 空間中的假設函數(線性分類器)對樣本進行分類;最後反變換到 XX 空間,得到真實類別。

這類模型由兩部分構成:

  • 非線性變換函數 Φ\Phi :通過特徵變換,將非線性可分問題轉換爲線性可分問題;
  • 線性模型:包括之前學習的二分類、線性迴歸和Logistic迴歸等;

使用以上求解非線性分類的思路可以解決二次PLA,二次迴歸,三次迴歸,…,多項式迴歸等多種問題。

特徵變換(feature transform) 的思想非常常見,比如我們熟知的手寫數字識別任務中,從原始的像素值特徵轉換爲具體的特徵,比如密度、對稱性等:
在這裏插入圖片描述

習題2:
在這裏插入圖片描述


12.3 Price of Nonlinear Transform

如果 XX 的特徵維度爲 dd 維,也就是包含 dd 個特徵,那麼二次多項式個數,即 ZZ 空間的特徵維度爲:

d˘=1+Cd1+Cd2+d=d(d+3)2+1\breve{d} = 1 + C^1_d + C^2_d + d = \frac {d(d+3)}{2} + 1

如果 XX 特徵維度是2維的,即 (x1,x2)(x_1, x_2),那麼它的的二次多項式爲 (1,x1,x2,x12,x1x2,x22)(1, x_1, x_2, x^2_1, x_1x_2, x^2_2),有六項。

如果階數爲 QQXX 空間的特徵維度爲 d 維,則它的 ZZ 空間特徵維度爲:

d˘=CQ+dQ+CQ+dd=O(Qd)\breve{d} = C^Q_{Q+d} + C^d_{Q+d} = O(Q^d)

由上式可以看出,計算 ZZ 空間特徵維度個數的時間複雜度是 QQdd 次方,隨着 QQdd 的增大,計算量變大;空間複雜度也大。

在這裏插入圖片描述
特徵轉換還帶來另一個問題。在前面的章節中講述過,模型參數的自由度大概是該模型的VC維度。z域中特徵個數隨着Q和d增加變得很大,同時權重w也會增大,即自由度增加,VC-Dimension 增大。令z域中的特徵維度爲 d˘+1\breve{d} + 1 ,在 ZZ 域中,任何 d˘+2\breve{d} + 2 的輸入都不能被 shattered,同樣,在 XX 域中,任何 d˘+2\breve{d} + 2 的輸入也不能被 shattered;d˘+1\breve{d} + 1 是 VC-Dimension 的上界,如果 d˘+1\breve{d} + 1 很大,相應的 VC-Dimension 也會很大。根據之前章節課程的討論,VC-Dimenslon 過大,模型的泛化能力會比較差。
在這裏插入圖片描述
下例解釋了 VC-Dimension 過大,導致分類效果不佳的原因:
在這裏插入圖片描述
上圖中,左邊用直線進行線性分類,有部分點分類錯誤;右邊用四次曲線進行非線性分類,所有點都分類正確,那麼哪一個分類效果好呢?單從平面上這些訓練數據來看,四次曲線的分類效果更好,但是四次曲線模型很容易帶來過擬合的問題,雖然它的 EinE_{in} 比較小;泛化能力上,左邊的分類器更好。也就是說,VC-Dimension 過大會帶來過擬合問題,d˘+1\breve{d} + 1 不能過大。

那麼如何選擇合適的Q,避免過擬合,提高模型泛化能力呢?一般情況下,爲了儘量減少特徵自由度,會根據訓練樣本的分佈情況,人爲地減少、省略一些項。但是,這種人爲地刪減特徵會帶來一些“自我分析”代價,雖然對訓練樣本分類效果好,但是對訓練樣本外的樣本,不一定效果好。所以,一般情況下,還是要保存所有的多項式特徵,避免對訓練樣本的人爲選擇。
在這裏插入圖片描述


習題3:
在這裏插入圖片描述


12.4 Structured Hypothesis Sets

下面討論 XX 空間到 XX 空間的多項式變換。

如果特徵維度是一維的,變換多項式只有常數項:

Φ0(x)=(1)Φ_0(x) =(1)

如果特徵維度是兩維的,變換多項式包含了一維的 Φ0(x)Φ_0(x)

Φ1(x)=(Φ0(x),x1,x2,...,xd)Φ_1(x) = (Φ_0(x), x_1,x_2, . . . ,x_d)

如果特徵維度是三維的,變換多項式包含了二維的 Φ1(x)Φ_1(x)

Φ2(x)=(Φ1(x),x12,x1x2,...,xd2)Φ2(x) = (Φ_1(x), x^2_1,x1x2, . . . ,x^2_d)

以此類推,如果特徵維度是Q維的,則它的變換多項式爲:

ΦQ(x)=(ΦQ1(x),x1Q,x1Q1x2,...,xdQ)Φ_Q(x) = (Φ_{Q−1}(x), x^Q_1,x^{Q−1}_1x2, . . . ,x^Q_d)

這種結構稱爲 Structured Hypothesis Sets
在這裏插入圖片描述
對於這種 Structured Hypothesis Sets ,VC-Dimention 和 EinE_{in} 滿足如下關係:
在這裏插入圖片描述
VC-Dimention 與錯誤率之間的關係如下:
在這裏插入圖片描述
由上圖易知,隨着變換多項式的階數增大,雖然 EinE_{in} 逐漸減小,但模型複雜度會逐漸增大,造成 EoutE_{out} 很大,所以階數不能太高。

如果選擇的階數很大,能使 Ein0E_{in} \approx 0 ,但泛化能力很差,這種情況叫做tempting sin。所以,一般做法是先從低階開始,如先選擇一階假設,看看EinE_{in} 是否很小,如果 EinE_{in} 足夠小就選擇一階,如果很大就逐漸增加階數,直到滿足要求爲止。也就是說,儘量選擇低階的假設,這樣才能得到泛化能力較強的模型。


習題4:
在這裏插入圖片描述


summary

本節課介紹了非線性變換的整體流程(通過非線性變換,將非線性模型映射到另一個空間,轉換爲線性模型,再來進行線性分類。

之後介紹了非線性變換存在的問題:時間複雜度和空間複雜度的增加。

最後介紹了在付出代價的情況下,使用非線性變換的最安全做法:儘可能使用簡單的模型,而不是模型越複雜越好。

在這裏插入圖片描述


參考:
https://www.cnblogs.com/ymingjingr/p/4306666.html
https://github.com/RedstoneWill/HsuanTienLin_MachineLearning

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章