簡單說說核方法

2021-08-31 15:48:52 字數 2649 閱讀 1835

一直以來,一旦提到kernel method,我就會覺得那是個很高大上的東西,今天靜下心來了解了一下,對其有了點自我理解。但涉及具體原理,還需要繼續補充。

核方法(kernel method),最早大家對其認識應該是在svm裡吧。它在svm中的貢獻是如何將二維空間裡線性不可分的分類器轉換成線性可分的分類器的一種方法。例如,將二維空間中的點(x,

y)

(x,y)

(x,y

)對映到五維空間上(x,

y,x2

,y2,

xy

)(x,y,x^2,y^2,x^y)

(x,y,x

2,y2

,xy)

。通過這種對映,二維空間中無法線性可分的點,在五維空間中可能就能被乙個曲面所分離,由於涉及高維資訊,這個曲面表現出來的就是乙個線性函式。在高維空間中,我們可以獲得更多的資訊,選取到合適的超平面(即高維上的線性表示)來分離不同分類器上的點。

簡單來說,核函式是一種將低維空間的資訊(或變數)投射到高維向量空間(或變數)的方法。其本質就是一種空間的對映。

我們採用的這種對映方法就叫做核函式,它有助於我們決定兩個空間對映的距離和高度,同時,計算出對映後那個空間的內積。內積又可以作為一種相似性的度量。

對於低維空間x

\mathcal

x的所有變數x

\mathrm

x和x′

\mathrm'

x′,核函式可以表示為另乙個空間v

\mathcal

v的內積,一般採用k:x

×x→r

\mathcal: \mathcal \times \mathcal \to \mathbb

k:x×x→

r來表示核函式。它可以定義為一種「特徵對映」φ:x

→v

\varphi: \mathcal \to \mathcal

φ:x→

v (x

,x′)

=⟨φ(

x)tφ

(x′)

⟩v

\mathcal(\mathrm,\mathrm)=\langle \varphi(\mathrm)^t\varphi(\mathrm)\rangle_\mathcal

k(x,x′

)=⟨φ

(x)t

φ(x′

)⟩v​

我們可以不需要知道φ

\varphi

φ是什麼樣子的,只要知道k

\mathcal

k就可以通過原空間中兩個點的內積算得新空間中對應的兩個點之間的內積。這個通常作為乙個kernel trick在優化演算法等中被使用。在kernel trick中,主要的約束就是⟨⋅,

⋅⟩

v\langle ·,·\rangle_\mathcal

⟨⋅,⋅⟩v

​必須是乙個合適的內積。

這也是源於核函式要滿足的條件——mercer』s theorem。mercer定理:任何半正定的函式都可以作為核函式。

高斯核(gaussian kernel),也稱作rbf kernel,它是乙個典型的將原空間投影到無窮維度空間的核函式。其核函式為:

k (x

,y)=

exp(

−∥x−

y∥22

σ2),

σ∈r+

\mathcal(x,y)=exp(-\frac\parallel^2}),\sigma \in \mathbb^+

k(x,y)

=exp

(−2σ

2∥x−

y∥2​

),σ∈

r+polynomial kernel

對於degree-d polynomials, 其核函式定義為:

k (x

,y)=

(xty

+c)d

\mathcal(x,y)=(x^ty+c)^d

k(x,y)

=(xt

y+c)

d, c∈r

+,d∈

n+

c\in \mathbb^+,d\in\mathbb^+

c∈r+,d

∈n+mahalanobis kernel

其核函式定義為:

k (x

,y)=

exp(

−(x−

y)′σ

(x−y

))

\mathcal(x,y)=exp\left(-(x-y)'\sigma(x-y)\right)

k(x,y)

=exp

(−(x

−y)′

σ(x−

y)), σ=d

iag(

σ1−2

,…,σ

n−2)

,σ1,

…,σn

∈r

+\sigma = diag(\sigma_^,\dots,\sigma_^), \sigma_,\dots,\sigma_\in \mathbb^+

σ=diag

(σ1−

2​,…

,σn−

2​),

σ1​,

…,σn

​∈r+

[1]: kernel method:

[2]: 機器學習中的核方法:

簡單說說MPEG

mpeg 1 mpeg 2和mpeg 4。mpeg 3 原本目標是為高畫質晰度電視 hdtv 設計,隨後發現mpeg 2已足夠hdtv應用,故mpeg 3的研發便中止。音訊物件 video audio objects 的編碼 3d內容 低位元率編碼 low bitrate encoding 和數字版...

簡單說說委託

在c 中,大多時候,方法的引數是資料,但有時我們會想將 方法 作為引數,這時,我們就可以用委託。委託一般情況下會和事件一起使用,事件說白了也是特殊的乙個方法。先看個例子吧 有很多方法,比如求平方,求階乘 想讓使用者輸入值,求該值的平方,階乘 using system using system.col...

簡單說說Http

總結一下http的一些基礎知識 格式大部分分為 起始行 頭部 包體 注意格式中的空格 回車符 換行符 請求報文 請求方法 url 協議版本 請求頭部 請求包體 響應報文 協議版本 狀態碼 狀態碼描述 響應頭部 響應包體 請求方法包含get post put delete等方法,常用的有get和pos...