前言
支持向量機是最重要的機器學習算法之一,支持向量機的一個重要特點是通過核函數進行非線性分類。本文深度剖析了核函數的含義,並從該角度去理解線性回歸和非線性分類的問題。
目錄
1、線性回歸的核函數表示
2、核函數含義解析
3、核函數含義理解線性回歸
4、核函數含義理解非線性分類
5、核函數的應用范圍
6、總結
1、線性回歸的核函數表示
我們先通過構建最優線性回歸模型來引出核函數的表達式。
總結:
(1)1.5式就是傳說中的核函數方程,核函數方程的展開式有很多種情況,這一節的核函數方程展開式是基函數向量的內積。
(2)1.4式是線性回歸的核函數對偶形式,對偶形式都會包含下面這項:
2、核函數含義解析
我們用1.5式和1.6式來解析核函數的含義。
1.5式和1.6式結合,得:
上式表示,先對輸入變量映射為特征空間,然后在該特征空間下內積。
現在,我們考慮三種常用的基函數,分別為多項式基函數,高斯基函數,S型基函數。
令輸入變量x'為常數,x'的值用紅色叉號表示,可以畫出x與k(x,x')的關系曲線:
圖的第一行為基函數曲線,第二行為x與核函數k(x,x')的曲線。
由上圖可知,核函數k(x,x')取得最大值的必要條件是x=x',核函數值的大小可以表示兩個輸入變量x和x'的相似度。舉例說明這一含義:
如上圖第二列,歸一化的正態分布在x=0具有最大概率,當兩個輸入變量值都是0時,核函數具有最大值,它們的相似度最高。
如上圖第三列,S型函數值表示P(y=1|x)的概率,當兩個輸入變量都是1時,核函數具有最大值,它們的相似度最高。
因此,核函數的含義可以用相似度來解釋,若兩個輸入變量的特征空間都較大,則兩個輸入變量在該核函數下具有較高的相似度。
3、核函數含義理解線性回歸
為了閱讀方便,1.4式預測目標表達式:
結論
線性回歸可以理解成訓練目標值的權值相加,權值與核函數成正比,若輸入特征與某一訓練樣本的特征相似度越高,相應的核函數越大,則對應的權值就越大,該訓練樣本的目標變量對預測目標變量的影響亦越大。
4、核函數含義理解非線性分類
解決如下圖的二分類問題,不同形狀表示不同的類。
(1)顯示映射法
分類效果圖如下:
(2)核函數法
我們知道核函數的含義是相似度,我們考慮用高斯核函數進行分類,高斯核函數用樣本的相對距離來表示相似度,若相對距離越小,則相似度越大,反之相似度越小。
首先用核函數將低維映射成高維空間,然后用線性支持向量機的方法進行分類(后續文章會詳細講支持向量機算法)。
請用核函數法
第二節用顯示映射函數的方法說明了核函數的含義,這一節用該方法求決策函數,但是這種方法難點在於定義顯示映射函數,而核函數法是隱式的映射特征空間且核函數法計算k(x,x')比較容易,因此推薦核函數法作特征的多維映射。
核函數的應用范圍
這一節用一句話來概括:凡是有特征內積出現的式子都可以用核函數來代替。
如下圖:
左邊為核函數,右邊為內積。
總結
本文詳細的解釋了核函數的含義——相似度,然后從核函數的角度去理解線性回歸和非線性分類,核函數是隱式的特征空間映射,不需要定義特征映射函數。特征內積出現的式子都可以用核函數來代替,因此,核函數在支持向量機的非線性分類具有不可替代的作用。
參考
李航 《統計學習方法》
Christopher M.Bishop <<Pattern Reconition and Machine Learning>>