1. 非線性判別函數
本章介紹廣義線判別函數與核函數,並分析他們的不一樣。函數
2. 廣義線性判別函數
對於非線性問題,咱們依舊可使用線性分類器進行求解。學習
- 廣義線性判別函數增長了特徵的高次項,將低維特徵轉化爲高維特徵。將低維線性不可分問題轉化爲高維的線性可分問題,並學習到高維空間下的線性分類器,該分類器其實等價於低維的非線性分類器。
- 以經典的異或問題爲例(線性不可分):
- 這麼作的弊端是,當引入的高維特徵後,會下降模型的泛化能力,易過擬合。
- 廣義線性判別函數的問題:
- 階數問題:對於一個具體問題,很難肯定判別函數的階數。
- 維數問題:當原始特徵維數較大時,會形成「維數災難」。
3. 核函數
核函數雖然也是將特徵從低維空間映射到高維空間,可是能夠很好的避免廣義線性判別函數的維數災難問題。
接下來介紹核函數的主要思想,以後舉例介紹核函數是怎麼避免維數災難的。blog
3.1 核函數基本思想
- 啓示:特徵空間中兩個矢量之間的內積能夠經過定義輸入空間中的核函數直接計算獲得。
- 實現方法:沒必要定義非線性映射,而直接在輸入空間中定義核函數\(K\)來完成非線性映射。
- 應用條件:
- 定義的核函數\(K\)可以對應於特徵空間中的內積;
- 識別方法中不須要計算特徵空間中的矢量自己,而只須計算特徵空間中兩個矢量的內積。
3.2 核函數舉例說明
- 對於下列輸入空間的非線性問題,經過非線性映射,轉化爲高維空間的線性可分問題:
- 非線性映射函數爲:
\[\Phi : \left( x _ { 1 } , x _ { 2 } \right) ^ { t } \rightarrow \left( x _ { 1 } ^ { 2 } , \sqrt { 2 } x _ { 1 } x _ { 2 } , x _ { 2 } ^ { 2 } \right) ^ { t }\]
- 計算特徵空間中兩個矢量的內積:
\[\begin{aligned} \Phi ( \mathbf { x } ) ^ { t } \Phi ( \mathbf { y } ) & = \left( x _ { 1 } ^ { 2 } , \sqrt { 2 } x _ { 1 } x _ { 2 } , x _ { 2 } ^ { 2 } \right) \left( y _ { 1 } ^ { 2 } , \sqrt { 2 } y _ { 1 } y _ { 2 } , y _ { 2 } ^ { 2 } \right) ^ { t } \\ & = x _ { 1 } ^ { 2 } y _ { 1 } ^ { 2 } + 2 x _ { 1 } x _ { 2 } y _ { 1 } y _ { 2 } + x _ { 2 } ^ { 2 } y _ { 2 } ^ { 2 } \\ & = \left( x _ { 1 } y _ { 1 } + x _ { 2 } y _ { 2 } \right) ^ { 2 } \\ & = \left( \mathbf { x } ^ { t } \mathbf { y } \right) ^ { 2 } \end{aligned}\]
- 定義核函數\(K ( \mathbf { x } , \mathbf { y } ) = \left( \mathbf { x } ^ { t } \mathbf { y } \right) ^ { 2 }\),則有:
\[\Phi ( \mathbf { x } ) ^ { t } \Phi ( \mathbf { y } ) = K ( \mathbf { x } , \mathbf { y } )\]
- 在這個例子中,特徵空間中的內積,能夠用輸入空間的核函數計算獲得,從而不須要計算高維空間的矢量具體是什麼,也就避免的維數災難問題。
3.3 經常使用的核函數
- 高斯 Gaussian RBF:\(K ( \mathbf { x } , \mathbf { y } ) = \exp \left( - \frac { \| \mathbf { x } - \mathbf { y } \| ^ { 2 } } { \sigma } \right)\)
- 多項式 Polynomial:\(K ( \mathbf { x } , \mathbf { y } ) = \left( \left( \mathbf { x } ^ { t } \mathbf { y } \right) + 1 \right) ^ { d }\)