机器学习与高维信息检索 - Note 6 - 核, 核方法与核函数(Kernels and the Kernel Trick)
Note 6 核, 核方法與核函數
到目前為止,我們所討論的機器學習算法的成功都依賴于對輸入數據分布的假設。例如,PCA的效果越好,數據圍繞線性子空間分布。或者在線性判別分析中,我們假設類的高斯分布,甚至有相同的協方差矩陣。
為了更好地考慮輸入數據的其他更復雜的分布,擴展方法的一種方式是采用所謂的核方法。它允許概括所有基本上只有標準內積作為輸入數據的方法。
更確切地說,考慮一個ML算法,其輸入數據可以是無標簽的,即x1,…,xn\mathbf{x}_{1}, \ldots, \mathbf{x}_{n}x1?,…,xn?或有標簽的,即(x1,y1),…,(xn,yn)\left(\mathbf{x}_{1}, \mathbf{y}_{1}\right), \ldots,\left(\mathbf{x}_{n}, \mathbf{y}_{n}\right)(x1?,y1?),…,(xn?,yn?) 。此外,假設該算法實際上只使用了輸入數據的?xi,xj?:=xi?xj\left\langle\mathbf{x}_{i}, \mathbf{x}_{j}\right\rangle:=\mathbf{x}_{i}^{\top} \mathbf{x}_{j}?xi?,xj??:=xi??xj?。然后,將?xi,xj?\left\langle\mathbf{x}_{i}, \mathbf{x}_{j}\right\rangle?xi?,xj??替換為某個函數κ(xi,xj)\kappa\left(\mathbf{x}_{i}, \mathbf{x}_{j}\right)κ(xi?,xj?),該函數是內積的適當概括(即核),稱為核方法,參見圖6.1。由此產生的學習方法通常被命名為 "核 "一詞的前綴。這個技巧通常可以將基于數據分布的線性假設的方法擴展到更復雜的非線性分布。
圖6.1:核方法的說明。用核代替機器學習算法中的標準內積,以獲得該方法的 "核 "版本。
Kernel method[1]^{[1]}[1]
[1] 這部分來自于wikipedia,對于核有更詳細的說明與介紹。
核方法可以被認為是基于實例的學習器:它們不是學習一些與輸入特征相對應的固定參數集,而是 "記住"第iii個訓練實例(xi,yi)(\mathbf {x} _{i},y_{i})(xi?,yi?),并為其學習相應的權重wiw_{i}wi?。對未標記的輸入,即那些不在訓練集中的輸入的預測,是通過應用一個相似性函數kkk,稱為核。核是在未標記的輸入x′\mathbf {x'}x′和每個訓練輸入xi\mathbf {x} _{i}xi?之間的相似度函數,它衡量它們之間的相似性。例如,一個核的二元分類器通常計算相似性的加權和
y^=sgn?∑i=1nwiyik(xi,x′),{\hat {y}}=\operatorname {sgn} \sum _{i=1}^{n}w_{i}y_{i}k(\mathbf {x} _{i},\mathbf {x'} ),y^?=sgni=1∑n?wi?yi?k(xi?,x′),
其中
-
y^∈{?1,+1}{\hat {y}}\in \{-1,+1\}y^?∈{?1,+1} 是核化二元分類器對未標記的輸入的預測標簽。
-
x′\mathbf {x'}x′ 其隱藏的真實標簽y是我們感興趣的。
-
k?:X×X→Rk\colon {\mathcal {X}}\times {\mathcal {X}}\to \mathbb {R}k:X×X→R 是衡量任何一對輸入x,x′∈X;\mathbf {x} ,\mathbf {x'} \in {\mathcal {X}};x,x′∈X;之間相似性的內核函數。
-
∑\sum∑的范圍是分類器訓練集中的nnn個已標記的例子,(xi,yi)i=1n{(\mathbf {x} _{i},y_{i})}_{i=1}^{n}(xi?,yi?)i=1n?,其中yi∈{?1,+1}y_{i} \in \{-1,+1\}yi?∈{?1,+1}。
-
wi∈Rw_{i}\in \mathbb {R}wi?∈R 是訓練實例的權重,由學習算法決定。
-
符號函數sgn{sgn}sgn決定了預測的分類y^{\hat {y}}y^?的結果是正還是負。
核分類器早在20世紀60年代就被描述過,當時發明了核感知器。隨著支持向量機(SVM)在20世紀90年代的流行,核分類器的地位大為提高,當時SVM被發現在手寫數字識別等任務上可以與神經網絡相競爭。
因此,核的定義如下。它概括了標準的內積。
Definition 6.1
一個(半正定)核是一個函數κ:Rp×Rp→R\kappa: \mathbb{R}^{p} \times \mathbb{R}^{p} \rightarrow \mathbb{R}κ:Rp×Rp→R 對于所有有限集合 X={x1,…,xn}\mathbf{X}=\left\{\mathbf{x}_{1}, \ldots, \mathbf{x}_{n}\right\}X={x1?,…,xn?} 的 n×nn \times nn×n矩陣
K:=[κ(x1,x1)…κ(x1,xn)???κ(xn,x1)…κ(xn,xn)](6.1)\mathbf{K}:=\left[\begin{array}{ccc} \kappa\left(\mathbf{x}_{1}, \mathbf{x}_{1}\right) & \ldots & \kappa\left(\mathbf{x}_{1}, \mathbf{x}_{n}\right) \\ \vdots & \ddots & \vdots \\ \kappa\left(\mathbf{x}_{n}, \mathbf{x}_{1}\right) & \ldots & \kappa\left(\mathbf{x}_{n}, \mathbf{x}_{n}\right) \end{array}\right] \tag{6.1} K:=????κ(x1?,x1?)?κ(xn?,x1?)?…?…?κ(x1?,xn?)?κ(xn?,xn?)?????(6.1)
是對稱的和正半定的。矩陣K\mathbf{K}K被稱為κ\kappaκ和X的Gram-Matrix。 對于一個給定的函數κ\kappaκ,通常很難說它是否是一個核函數。然而,必要的條件,如對稱性和正定性是很容易檢查的。
Example 6.2
函數 κ(x,y)=∥x∥∥y∥?1\kappa(\mathbf{x}, \mathbf{y})=\|\mathbf{x}\|\|\mathbf{y}\|-1κ(x,y)=∥x∥∥y∥?1不能是核,因為存在一個有限集合,即 {0}?Rp\{0\} \subset \mathbb{R}^{p}{0}?Rp,這樣相關的Gram-Matrix(在這種情況下是1×11 \times 11×1)K=?1\mathbf{K}=-1K=?1是負定的。
或者考慮函數 κ(x,y)=e?∥x?y∥?∥y∥\kappa(\mathbf{x}, \mathbf{y})=\mathrm{e}^{-\|\mathbf{x}-\mathbf{y}\|-\|\mathbf{y}\|}κ(x,y)=e?∥x?y∥?∥y∥。很容易看出,一般來說,κ(x,y)≠κ(y,x)\kappa(\mathbf{x}, \mathbf{y}) \neq \kappa(\mathbf{y}, \mathbf{x})κ(x,y)?=κ(y,x),因此它不可能是一個核函數。
幾個常見的核是
-
the linear Kernel κ(x,y)=x?y+c,c≥0\kappa(\mathbf{x}, \mathbf{y})=\mathbf{x}^{\top} \mathbf{y}+c, c \geq 0κ(x,y)=x?y+c,c≥0;
-
the polynomial Kernel κ(x,y)=(αx?y+c)d,c,α,d≥0\kappa(\mathbf{x}, \mathbf{y})=\left(\alpha \mathbf{x}^{\top} \mathbf{y}+c\right)^ze8trgl8bvbq, c, \alpha, d \geq 0κ(x,y)=(αx?y+c)d,c,α,d≥0;
-
the Gaussian Kernel κ(x,y)=exp?(?∥x?y∥22σ2),σ>0\kappa(\mathbf{x}, \mathbf{y})=\exp \left(-\frac{\|\mathbf{x}-\mathbf{y}\|^{2}}{2 \sigma^{2}}\right), \sigma>0κ(x,y)=exp(?2σ2∥x?y∥2?),σ>0;
-
the exponential Kernel κ(x,y)=exp?(?∥x?y∥2σ2),σ>0;\kappa(\mathbf{x}, \mathbf{y})=\exp \left(-\frac{\|\mathbf{x}-\mathbf{y}\|}{2 \sigma^{2}}\right), \sigma>0 ;κ(x,y)=exp(?2σ2∥x?y∥?),σ>0;
從半正定矩陣的屬性中可以直接得出,如果κ1\kappa_{1}κ1?和 κ2\kappa_{2}κ2? 是核,并且如果c>0c>0c>0,那么也就是
-
Cκ1C \kappa_{1}Cκ1?
-
c+κ1c+\kappa_{1}c+κ1?
-
κ1+κ2\kappa_{1}+\kappa_{2}κ1?+κ2?
-
κ1κ2\kappa_{1} \kappa_{2}κ1?κ2?.
此外,對于任何實值函數f:Rp→Rf: \mathbb{R}^{p} \rightarrow \mathbb{R}f:Rp→R,我們可以通過κ:=\kappa:=κ:= f(x)?f(y)f(\mathbf{x}) \cdot f(\mathbf{y})f(x)?f(y)構造一個核。注意,在這種情況下,相應的Gram-Matrix的秩最多為1。
圖6.2:R2\mathbb{R}^{2}R2中的數據集和映射?:R2→R3,?(x1,x2)=[x1,x2,x12+x22]?\phi: \mathbb{R}^{2} \rightarrow \mathbb{R}^{3}, \phi\left(x_{1}, x_{2}\right)=\left[x_{1}, x_{2}, x_{1}^{2}+x_{2}^{2}\right]^{\top}?:R2→R3,?(x1?,x2?)=[x1?,x2?,x12?+x22?]?。
Mercer’s Theorem
Theorem 6.3 (Mercer)
對于任何對稱函數 κ:X×X\kappa: \mathcal{X} \times \mathcal{X}κ:X×X在X×X\mathcal{X} \times \mathcal{X}X×X中是平方可積的,并且滿足 ∫X×Xf(x)κ(x,y)f(y)dxdy≥0\int_{\mathcal{X} \times \mathcal{X}} f(x) \kappa(x, y) f(y) d x d y \geq 0∫X×X?f(x)κ(x,y)f(y)dxdy≥0 對于所有f∈L2(X)f \in L_{2}(\mathcal{X})f∈L2?(X)存在函數 ?i\phi_{i}?i?和標量λi≥0\lambda_{i} \geq 0λi?≥0的情況。因此有
κ(x,y)=∑iλi?i(x)?i(y)for?all?x,y∈X.(6.2)\kappa(x, y)=\sum_{i} \lambda_{i} \phi_{i}(x) \phi_{i}(y) \quad \text { for all } x, y \in \mathcal{X} . \tag{6.2} κ(x,y)=i∑?λi??i?(x)?i?(y)?for?all?x,y∈X.(6.2)
核是一個連續函數,它取兩個變量x,yx, yx,y并將它們映射為一個實值,κ(x,y)=κ(y,x)\kappa(x, y)=\kappa(y, x)κ(x,y)=κ(y,x)。當且僅當 ?f(x)κ(x,y)f(y)dxdy≥0\iint f(x) \kappa(x, y) f(y) d x d y \geq 0?f(x)κ(x,y)f(y)dxdy≥0時,核是正半定的。與核κ\kappaκ相關,我們可以定義一個積分算子TκT_{\kappa}Tκ?,當它應用于一個函數f(x)f(x)f(x)時,會產生另一個函數。
Tκ(f(x))=∫κ(x,y)f(y)dy=[Tκf](x).T_{\kappa}(f(x))=\int \kappa(x, y) f(y) d y=\left[T_{\kappa} f\right](x) . Tκ?(f(x))=∫κ(x,y)f(y)dy=[Tκ?f](x).
這是一個線性函數,因此有特征值λi\lambda_{i}λi?和特征函數?i(?)\phi_{i}(\cdot)?i?(?)。它們被定義為
Tκ(?i(x))=∫κ(x,y)?(y)dy=λi?i(x)T_{\kappa}\left(\phi_{i}(x)\right)=\int \kappa(x, y) \phi(y) d y=\lambda_{i} \phi_{i}(x) Tκ?(?i?(x))=∫κ(x,y)?(y)dy=λi??i?(x)
特征值λi\lambda_{i}λi?是非負的,特征函數?i(x)\phi_{i}(x)?i?(x)是正定的,即∫?i(x)?j(x)dx=δij\int \phi_{i}(x) \phi_{j}(x) d x=\delta_{i j}∫?i?(x)?j?(x)dx=δij?。一組基礎函數的非零特征值所對應的特征函數,以便內核可以通過以下方式進行分解
κ(x,y)=∑i=1∞λi?i(x)?i(y).(6.3)\kappa(x, y)=\sum_{i=1}^{\infty} \lambda_{i} \phi_{i}(x) \phi_{i}(y) . \tag{6.3} κ(x,y)=i=1∑∞?λi??i?(x)?i?(y).(6.3)
總結
以上是生活随笔為你收集整理的机器学习与高维信息检索 - Note 6 - 核, 核方法与核函数(Kernels and the Kernel Trick)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ADPRL - 近似动态规划和强化学习
- 下一篇: 机器学习与高维信息检索 - Note 7