1. 程式人生 > >深入淺出核函式

深入淺出核函式

前言

支援向量機是最重要的機器學習演算法之一,支援向量機的一個重要特點是通過核函式進行非線性分類。本文深度剖析了核函式的含義,並從該角度去理解線性迴歸和非線性分類的問題。

 

目錄


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>>

 

推薦閱讀文章

深入理解線性迴歸演算法(一)

線性分類模型(一):淺談判別模型分析