日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

台湾大学林轩田机器学习基石课程学习笔记12 -- Nonlinear Transformation

發(fā)布時間:2025/3/15 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 台湾大学林轩田机器学习基石课程学习笔记12 -- Nonlinear Transformation 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

紅色石頭的個人網(wǎng)站:redstonewill.com

上一節(jié)課,我們介紹了分類問題的三種線性模型,可以用來解決binary classification和multiclass classification問題。本節(jié)課主要介紹非線性的模型來解決分類問題。

一、Quadratic Hypothesis

之前介紹的線性模型,在2D平面上是一條直線,在3D空間中是一個平面。數(shù)學(xué)上,我們用線性得分函數(shù)s來表示:s=wTxs=wTx。其中,x為特征值向量,w為權(quán)重,s是線性的。

線性模型的優(yōu)點就是,它的VC Dimension比較小,保證了EinEoutEin≈Eout。但是缺點也很明顯,對某些非線性問題,可能會造成EinEin很大,雖然EinEoutEin≈Eout,但是也造成EoutEout很大,分類效果不佳。

為了解決線性模型的缺點,我們可以使用非線性模型來進(jìn)行分類。例如數(shù)據(jù)集D不是線性可分的,而是圓形可分的,圓形內(nèi)部是正類,外面是負(fù)類。假設(shè)它的hypotheses可以寫成:

hSEP(x)=sign(?x21?x22+0.6)hSEP(x)=sign(?x12?x22+0.6)
基于這種非線性思想,我們之前討論的PLA、Regression問題都可以有非線性的形式進(jìn)行求解。

下面介紹如何設(shè)計這些非線性模型的演算法。還是上面介紹的平面圓形分類例子,它的h(x)的權(quán)重w0=0.6,w1=-1,w2=-1,但是h(x)的特征不是線性模型的(1,x1,x2)(1,x1,x2),而是(1,x21,x22)(1,x12,x22)。我們令z0=1z0=1z1=x21z1=x12z2=x22z2=x22,那么,h(x)變成:

h(x)=sign(w?0?z0+w?1?z1+w?2?z2)=sign(0.6?z0?1?z1?1?z2)=sign(w?Tz)h(x)=sign(w?0?z0+w?1?z1+w?2?z2)=sign(0.6?z0?1?z1?1?z2)=sign(w?Tz)

這種xnznxn→zn的轉(zhuǎn)換可以看成是x空間的點映射到z空間中去,而在z域中,可以用一條直線進(jìn)行分類,也就是從x空間的圓形可分映射到z空間的線性可分。z域中的直線對應(yīng)于x域中的圓形。因此,我們把xnznxn→zn這個過程稱之為特征轉(zhuǎn)換(Feature Transform)。通過這種特征轉(zhuǎn)換,可以將非線性模型轉(zhuǎn)換為另一個域中的線性模型。

已知x域中圓形可分在z域中是線性可分的,那么反過來,如果在z域中線性可分,是否在x域中一定是圓形可分的呢?答案是否定的。由于權(quán)重向量w取值不同,x域中的hypothesis可能是圓形、橢圓、雙曲線等等多種情況。

目前討論的x域中的圓形都是圓心過原點的,對于圓心不過原點的一般情況,xnznxn→zn映射公式包含的所有項為:

Φ2(x)=(1,x1,x2,x21,x1x2,x22)Φ2(x)=(1,x1,x2,x12,x1x2,x22)

也就是說,對于二次hypothesis,它包含二次項、一次項和常數(shù)項1,z域中每一條線對應(yīng)x域中的某二次曲線的分類方式,也許是圓,也許是橢圓,也許是雙曲線等等。那么z域中的hypothesis可以寫成:

二、Nonlinear Transform

上一部分我們定義了什么了二次hypothesis,那么這部分將介紹如何設(shè)計一個好的二次hypothesis來達(dá)到良好的分類效果。那么目標(biāo)就是在z域中設(shè)計一個最佳的分類線。

其實,做法很簡單,利用映射變換的思想,通過映射關(guān)系,把x域中的最高階二次的多項式轉(zhuǎn)換為z域中的一次向量,也就是從quardratic hypothesis轉(zhuǎn)換成了perceptrons問題。用z值代替x多項式,其中向量z的個數(shù)與x域中x多項式的個數(shù)一致(包含常數(shù)項)。這樣就可以在z域中利用線性分類模型進(jìn)行分類訓(xùn)練。訓(xùn)練好的線性模型之后,再將z替換為x的多項式就可以了。具體過程如下:

整個過程就是通過映射關(guān)系,換個空間去做線性分類,重點包括兩個:

  • 特征轉(zhuǎn)換

  • 訓(xùn)練線性模型

其實,我們以前處理機(jī)器學(xué)習(xí)問題的時候,已經(jīng)做過類似的特征變換了。比如數(shù)字識別問題,我們從原始的像素值特征轉(zhuǎn)換為一些實際的concrete特征,比如密度、對稱性等等,這也用到了feature transform的思想。

三、Price of Nonlinear Transform

若x特征維度是d維的,也就是包含d個特征,那么二次多項式個數(shù),即z域特征維度是:

d?=1+C1d+C2d+d=d(d+3)2+1d?=1+Cd1+Cd2+d=d(d+3)2+1
如果x特征維度是2維的,即 (x1,x2)(x1,x2),那么它的二次多項式為 (1,x1,x2,x21,x1x2,x22)(1,x1,x2,x12,x1x2,x22),有6個。

現(xiàn)在,如果階數(shù)更高,假設(shè)階數(shù)為Q,那么對于x特征維度是d維的,它的z域特征維度為:

d?=CQQ+d=CdQ+d=O(Qd)d?=CQ+dQ=CQ+dd=O(Qd)
由上式可以看出,計算z域特征維度個數(shù)的時間復(fù)雜度是Q的d次方,隨著Q和d的增大,計算量會變得很大。同時,空間復(fù)雜度也大。也就是說,這種特征變換的一個代價是計算的時間、空間復(fù)雜度都比較大。

另一方面,z域中特征個數(shù)隨著Q和d增加變得很大,同時權(quán)重w也會增大,即自由度增加,VC Dimension增大。令z域中的特征維度是1+d?1+d?,則在在域中,任何d?+2d?+2的輸入都不能被shattered;同樣,在x域中,任何d?+2d?+2的輸入也不能被shattered。d?+1d?+1是VC Dimension的上界,如果d?+1d?+1很大的時候,相應(yīng)的VC Dimension就會很大。根據(jù)之前章節(jié)課程的討論,VC Dimension過大,模型的泛化能力會比較差。

下面通過一個例子來解釋為什么VC Dimension過大,會造成不好的分類效果:

上圖中,左邊是用直線進(jìn)行線性分類,有部分點分類錯誤;右邊是用四次曲線進(jìn)行非線性分類,所有點都分類正確,那么哪一個分類效果好呢?單從平面上這些訓(xùn)練數(shù)據(jù)來看,四次曲線的分類效果更好,但是四次曲線模型很容易帶來過擬合的問題,雖然它的EinEin比較小,從泛化能力上來說,還是左邊的分類器更好一些。也就是說VC Dimension過大會帶來過擬合問題,d?+1d?+1不能太大了。

那么如何選擇合適的Q,來保證不會出現(xiàn)過擬合問題,使模型的泛化能力強(qiáng)呢?一般情況下,為了盡量減少特征自由度,我們會根據(jù)訓(xùn)練樣本的分布情況,人為地減少、省略一些項。但是,這種人為地刪減特征會帶來一些“自我分析”代價,雖然對訓(xùn)練樣本分類效果好,但是對訓(xùn)練樣本外的樣本,不一定效果好。所以,一般情況下,還是要保存所有的多項式特征,避免對訓(xùn)練樣本的人為選擇。

四、Structured Hypothesis Sets

下面,我們討論一下從x域到z域的多項式變換。首先,如果特征維度只有1維的話,那么變換多項式只有常數(shù)項:

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

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

Φ1(x)=(Φ0(x),x1,x2,,xd)Φ1(x)=(Φ0(x),x1,x2,…,xd)

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

Φ2(x)=(Φ1(x),x21,x1x2,,x2d)Φ2(x)=(Φ1(x),x12,x1x2,…,xd2)

以此類推,如果特征維度是Q次,那么它的變換多項式為:

ΦQ(x)=(ΦQ?1(x),xQ1,xQ?11x2,?,xQd)ΦQ(x)=(ΦQ?1(x),x1Q,x1Q?1x2,?,xdQ)

那么對于不同階次構(gòu)成的hypothesis有如下關(guān)系:

HΦ0?HΦ1?HΦ2???HΦQHΦ0?HΦ1?HΦ2???HΦQ

我們把這種結(jié)構(gòu)叫做Structured Hypothesis Sets:

那么對于這種Structured Hypothesis Sets,它們的VC Dimension滿足下列關(guān)系:

dVC(H0)dVC(H1)dVC(H2)?dVC(HQ)dVC(H0)≤dVC(H1)≤dVC(H2)≤?≤dVC(HQ)

它的EinEin滿足下列關(guān)系:

Ein(g0)Ein(g1)Ein(g2)?Ein(gQ)Ein(g0)≥Ein(g1)≥Ein(g2)≥?≥Ein(gQ)

從上圖中也可以看到,隨著變換多項式的階數(shù)增大,雖然EinEin逐漸減小,但是model complexity會逐漸增大,造成EoutEout很大,所以階數(shù)不能太高。

那么,如果選擇的階數(shù)很大,確實能使EinEin接近于0,但是泛化能力通常很差,我們把這種情況叫做tempting sin。所以,一般最合適的做法是先從低階開始,如先選擇一階hypothesis,看看EinEin是否很小,如果EinEin足夠小的話就選擇一階,如果EinEin大的話,再逐漸增加階數(shù),直到滿足要求為止。也就是說,盡量選擇低階的hypothes,這樣才能得到較強(qiáng)的泛化能力。

五、總結(jié)

這節(jié)課主要介紹了非線性分類模型,通過非線性變換,將非線性模型映射到另一個空間,轉(zhuǎn)換為線性模型,再來進(jìn)行線性分類。本節(jié)課完整介紹了非線性變換的整體流程,以及非線性變換可能會帶來的一些問題:時間復(fù)雜度和空間復(fù)雜度的增加。最后介紹了在要付出代價的情況下,使用非線性變換的最安全的做法,盡可能使用簡單的模型,而不是模型越復(fù)雜越好。

注明:

文章中所有的圖片均來自臺灣大學(xué)林軒田《機(jī)器學(xué)習(xí)基石》課程

關(guān)注公眾號并輸入關(guān)鍵字“jspdf”獲得該筆記的pdf文件哦~

更多AI資源請關(guān)注公眾號:紅色石頭的機(jī)器學(xué)習(xí)之路(ID:redstonewill)

總結(jié)

以上是生活随笔為你收集整理的台湾大学林轩田机器学习基石课程学习笔记12 -- Nonlinear Transformation的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。