《機器學習基石》---非線性變換


1 非線性變換

所謂非線性變換,就是把原始的特征做非線性變換,得到一個新的特征,使用這個新的特征來做線性的分類,則對應到原始的特征空間中,相當於做了非線性的分類。非線性變換的好處是,算法將有更多的選擇,Ein可以做的更低。

 

例如使用二次變換:

則Z空間中的一個直線分類邊界,對應到原來空間中是一個二次曲線邊界。可能是圓,橢圓,雙曲線,拋物線,旋轉后的橢圓,直線.......。

使用非線性變換進行學習的步驟如下:

 

2 非線性變換的代價

Q次非線性變換如下定義:

 

對應的Z空間的特征維度變為:

 

特征維度的增加,一方面帶來的是存儲和計算的代價:

 

更重要的另一個代價則是模型復雜度的代價。假設空間的VC維近似等於參數的個數:

而更大的VC維將使得Ein和Eout相差很遠這件事的概率增加。這是機器學習中一個重要的trade off:

 

一種錯誤的認識是,通過觀察數據來讓Ein做的小,同時讓VC維也小。例如:

 

 咋看之下,Ein降低了,VC維減小。Ein確實很低,但是VC維真的很低了嗎?答案是否定的。產生這樣錯誤認識的原因是我們沒有很好的理解之前推導VCbound時“假設空間”這一概念。事實上,由於有人的觀察幫忙,假設空間已經不再是我們讓算法做選擇的那個函數集,而是人在做選擇時人腦中的假設空間。因此這里的VC維其實並不單單是我們讓算法做選擇的那個函數集VC維。

 

 

3 結構化假設空間

從0次到Q次的非線性變換,它們對應的假設空間范圍是逐漸變大的,並且后一個包含了前一個:

 

VC逐漸變大,Ein逐漸變小:

因此一個實用的建議是,先嘗試線性模型,如果Ein不夠好再把模型復雜度慢慢往上加。一定不要一開始就用很復雜的非線性變換:

 


免責聲明!

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



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