統計學習方法:核函數(Kernel function)


作者:桂。

時間:2017-04-26  12:17:42

鏈接:http://www.cnblogs.com/xingshansi/p/6767980.html 


前言

之前分析的感知機、主成分分析(Principle component analysis, PCA)包括后面看的支撐向量機(Support vector machines, SVM),都有用到核函數。核函數是將信號映射到高維,而PCA一般用來降維。這里簡單梳理一下核函數的知識:

  1)核函數基本概念;

  2)核函數的意義;

內容為自己的學習記錄,其中多有參考他人,最后一並給出鏈接。

 

一、核函數基本概念

先來看看核函數的定義:

核函數:是映射關系的內積,映射函數本身僅僅是一種映射關系,並沒有增加維度的特性,不過可以利用核函數的特性,構造可以增加維度的核函數,這通常是我們希望的

例如這樣一個圖:

二維映射到三維,區分就更容易了,這是聚類、分類常用核函數的原因。為什么PCA這樣一個降維算法也用核函數呢?

左圖為原數據,右圖為映射到三維的數據,可以看出:同樣是降到1維,先通過Kernel映射到(Kernel是映射的內積,不要弄亂了)三維,再投影到1維,就容易分離開,這就是Kernel在PCA降維中的應用,本質還是對原有數據增加維度。

既然核函數這么神奇,就看看它的來龍去脈。

 

二、核函數的意義

  A-核函數常見應用

先來看看核函數幾個常用的地方:

1.核感知機

在前面分析感知機時提到

2.核聚類(Kernel Kmeans)

在前面分析核聚類時提到

3.核PCA(kernel PCA)

 具體定義可以參考wikipedia,根據前文分析的PCA步驟,有一步是利用相關矩陣的特征值分解,看看相關矩陣:

又看到了相乘的形式,自然可以用Kernel:

4.支撐向量機SVM

支撐向量機對偶形式的目標函數:

又看到了的形式,從而得到SVM的核函數形式:

  B-核函數為什么可以映射到高維?

1.為什么不用映射函數,而用他們的內積形式,即Kernel函數?

因為(x,z)一起出現的時候,有許多固定的形式可以調用,而不必求解或者關心的具體形式,這大大簡化了求解。

2.什么樣的函數才可以叫做核函數?

直接給出條件:

具體參考:李航《統計學習方法》p120~122。

3.為什么實現數據映射到高維?

 看一個例子:

這就從二維變成了三維,當然還可以更高維:

這里可以粗略理解成:多項式可以實現數據的維度擴增,而高斯核是指數形式,展開就是無窮多的多項式,所以高斯核可以將數據映射到無窮維度。

4.常用核函數

多項式核:

高斯核:

參考:

  • 李航《統計學習方法》


免責聲明!

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



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