支援向量機 (二): 軟間隔 svm 與 核函式

massquantity發表於2019-07-01

拉格朗日乘子法 - KKT條件 - 對偶問題

支援向量機 (一): 線性可分類 svm

支援向量機 (二): 軟間隔 svm 與 核函式



軟間隔最大化(線性不可分類svm)


上一篇求解出來的間隔被稱為 “硬間隔(hard margin)“,其可以將所有樣本點劃分正確且都在間隔邊界之外,即所有樣本點都滿足 \(y_{i}(\boldsymbol{w}^{\top} \boldsymbol{x}_{i}+b) \geqslant 1\)

但硬間隔有兩個缺點:1. 不適用於線性不可分資料集。 2. 對離群點(outlier)敏感。


比如下圖就無法找到一個超平面將藍點和紫點完全分開:

支援向量機 (二): 軟間隔 svm 與 核函式



下圖顯示加入了一個離群點後,超平面發生了很大的變動,最後形成的間隔變得很小,這樣最終的泛化效果可能不會太好。

支援向量機 (二): 軟間隔 svm 與 核函式

為了緩解這些問題,引入了 “軟間隔(soft margin)”,即允許一些樣本點跨越間隔邊界甚至是超平面。如下圖中一些離群點就跨過了間隔邊界。

支援向量機 (二): 軟間隔 svm 與 核函式


於是為每個樣本點引入鬆弛變數 \(\large{\xi_i}\),優化問題變為:

\[ \begin{aligned} \min\limits_{\boldsymbol{w}, b,\boldsymbol{\xi}} & \;\; \frac12 ||\boldsymbol{w}||^2 + C \,\sum\limits_{i=1}^m \xi_i \\[1ex] {\text { s.t. }} & \;\; y_{i}\left(\boldsymbol{w}^{\top} \boldsymbol{x}_{i}+b\right) \geq 1 - \xi_i, \quad i=1,2, \ldots, m \\[1ex] & \;\; \xi_i \geq 0, \quad i=1,2, \ldots m \end{aligned} \tag{1.1} \]



由上式可以看出:

  1. 離群點的鬆弛變數值越大,點就離間隔邊界越遠。

  2. 所有沒離群的點鬆弛變數都等於0,即這些點都滿足 \(y_{i}\left(\boldsymbol{w}^{\top} \boldsymbol{x}_{i}+b\right) \geqslant 1\)

  3. \(C > 0\) 被稱為懲罰引數,即為 scikit-learn 中的 svm 超引數C。當C設的越大,意味著對離群點的懲罰就越大,最終就會有較少的點跨過間隔邊界,模型也會變得複雜。而C設的越小,則較多的點會跨過間隔邊界,最終形成的模型較為平滑。


該優化問題的求解方法與前篇類似,為每條約束引入拉格朗日乘子: \(\alpha_i \geqslant 0, \; \beta_i \geqslant 0\)\((1.1)\) 式的拉格朗日函式為:
\[ \mathcal{L}(\boldsymbol{w}, b, \boldsymbol{\xi}, \boldsymbol{\alpha}, \boldsymbol{\beta}) = \frac12 ||\boldsymbol{w}||^2 + C \sum\limits_{i=1}^m\xi_i + \sum\limits_{i=1}^m\alpha_i \left[1 - \xi_i - y_i(\boldsymbol{w}^{\top} \boldsymbol{x}_i + b)\right] + \sum\limits_{i=1}^m \beta_i(-\xi_i) \]



其對偶問題為:
\[ \begin{aligned} \max_{\boldsymbol{\alpha}, \boldsymbol{\beta}}\min_{\boldsymbol{w},b,\boldsymbol{\xi}} &\;\; \mathcal{L}(\boldsymbol{w}, b, \boldsymbol{\xi}, \boldsymbol{\alpha}, \boldsymbol{\beta}) \\[1ex] \text{s.t.} &\;\; \alpha_i \geq 0, \quad i=1,2, \ldots m \\[1ex] & \;\;\beta_i \geq 0, \quad i = 1,2, \ldots m \end{aligned} \tag{1.3} \]


上式內層對 \((\boldsymbol{w}, b, \boldsymbol{\xi})\) 的優化屬於無約束優化問題,則令偏導為零:
\[ \begin{align} \frac{\partial \mathcal{L}}{\partial \boldsymbol{w}} = \boldsymbol{0} & \implies \boldsymbol{w} = \sum\limits_{i=1}^m \alpha_i y_i \boldsymbol{x}_i \qquad\qquad \tag{1.4} \\ \frac{\partial \mathcal{L}}{\partial b} = 0 & \implies \sum\limits_{i=1}^m \alpha_iy_i = 0 \qquad\qquad\quad\; \tag{1.5} \\ \frac{\partial \mathcal{L}}{\partial \boldsymbol{\xi}} = \boldsymbol{0} & \implies \beta_i = C - \alpha_i \qquad\qquad\quad\; \tag{1.6} \end{align} \]


\((1.4) \sim (1.6)\) 式代入 \((1.2)\) 式得:
\[ \begin{aligned} \mathcal{L}(\boldsymbol{w}, b, \boldsymbol{\xi}, \boldsymbol{\alpha}, \boldsymbol{\beta}) &= \frac12 \sum\limits_{i=1}^m\sum\limits_{j=1}^m \alpha_i\alpha_jy_iy_j\boldsymbol{x}_i^{\top}\boldsymbol{x}_j + C\sum\limits_{i=1}^m \xi_i + \sum\limits_{i=1}^m\alpha_i(1 - \xi_i) - \sum\limits_{i=1}^m(C - \alpha_i)\xi_i \\[1ex] & = \sum\limits_{i=1}^m \alpha_i - \frac12 \sum\limits_{i=1}^m\sum\limits_{j=1}^m \alpha_i\alpha_jy_iy_j\boldsymbol{x}_i^{\top}\boldsymbol{x}_j \end{aligned} \]


又由 \((1.6)\) 式: \(\beta_i = C - \alpha_i \geqslant 0\) ,因而 \(0 \leqslant \alpha_i \leqslant C\) ,於是最後的優化問題化簡為:
\[ \begin{aligned} \max_\alpha &\;\; \sum\limits_{i=1}^m \alpha_i - \frac12 \sum\limits_{i=1}^m\sum\limits_{j=1}^m \alpha_i\alpha_jy_iy_j\boldsymbol{x}_i^{\top}\boldsymbol{x}_j \\[1ex] \text{s.t.} & \;\; \sum\limits_{i=1}^m \alpha_iy_i = 0 \\[1ex] & \;\; 0 \leqslant \alpha_i \leqslant C, \quad i = 1,2,\ldots m \end{aligned} \tag{1.7} \]


與硬間隔 svm 一樣,軟間隔 svm 的超平面引數 \((\boldsymbol{w}, b)\) 同樣由支援向量決定,然而對於軟間隔 svm 中支援向量的討論是一件比較搞腦子的事情,因為可分類的情況眾多,下面進行詳細討論。不過首先回顧一下前文中硬間隔 svm 的支援向量 —— 就兩種情況: (1) \(\alpha_i > 0, \;y_i(\boldsymbol{w}^{\top}\boldsymbol{x}_i + b) = 1\) ,表示在間隔邊界上的樣本為支援向量; (2) \(\alpha_i = 0, \; y_i(\boldsymbol{w}^{\top}\boldsymbol{x}_i + b) > 1\) ,不是支援向量。


對於軟間隔 svm ,推導其支援向量需要的仍然是 \((1.3)\) 式最優解的 KKT 條件:
\[ \begin{cases} 原始問題可行: & \begin{cases} 1 - \xi_i - y_i(\boldsymbol{w}^{\top}\boldsymbol{x}_i + b) \leq 0 \qquad\qquad\quad\;\;\,\, (1.8)\\[1ex] -\xi_i \leq 0 \qquad\qquad\qquad\qquad\qquad\qquad\quad\;\;\; (1.9) \end{cases} \\[4ex] 對偶問題可行: & \begin{cases} \alpha_i \geq 0 \qquad\qquad\qquad\qquad\qquad\qquad\qquad\; (1.10) \\[1ex] \beta_i = C - \alpha_i \geq 0 \qquad\qquad\qquad\qquad\qquad (1.11) \end{cases} \\[4ex] 互補鬆弛: & \begin{cases} \alpha_i(1 - \xi_i - y_i(\boldsymbol{w}^{\top}\boldsymbol{x}_i + b)) = 0 \qquad\qquad (1.12) \\[1ex] \beta_i \xi_i = 0 \qquad\qquad\qquad\qquad\qquad\qquad\quad\;\,\, (1.13) \end{cases} \end{cases} \]


下面分情況討論:

\((1) \;\; \alpha_i = 0\), 由 \((1.4)\)\(\boldsymbol{w} = \sum\limits_{i=1}^m \alpha_iy_i\boldsymbol{x}_i = 0\) ,不是支援向量。

\((2) \;\, 0 < \alpha_i < C \implies (1.11)式:\; \beta_i > 0 \implies (1.13)式:\; \xi_i = 0 \implies (1.12)式:\; y_i(\boldsymbol{w}^{\top}\boldsymbol{x}_i + b) = 1\) ,該樣本在間隔邊界上。 為什麼不會出現 \(\xi_i > 0\) 的情況? 回顧 [拉格朗日乘子法 - KKT條件 - 對偶問題] 第二節 KKT 條件:
\[ \begin{cases} g(\boldsymbol{x}) < 0, & \lambda = 0 \\[1ex] g(\boldsymbol{x}) = 0, & \lambda > 0 \end{cases} \quad \iff \quad \lambda \geqslant 0, \;\;\lambda \,g(\boldsymbol{x}) = 0 \]
因而若 \((1.13)\) 式中拉格朗日乘子 \(\beta_i > 0\) ,則 \(\xi_i = 0\)

\((3) \;\; \alpha_i = C \implies (1.11) 式:\; \beta_i = 0 \implies (1.13)式:\; \xi_i > 0 \implies\)
\[ \qquad \begin{cases} 0 < \xi_i < 1, \quad (1.12)式:\; y_i(\boldsymbol{w}^{\top}\boldsymbol{x}_i + b) = 1 - \xi_i \in (0,1),\;\; 樣本在間隔邊界和分離超平面之間 \\[2ex] \xi_i = 1, \qquad\quad\, (1.12)式:\; y_i(\boldsymbol{w}^{\top}\boldsymbol{x}_i + b) = 1 - \xi_i = 0,\qquad\, 樣本在分離超平面上 \\[2ex] \xi_i > 1, \quad\qquad\, (1.12)式:\; y_i(\boldsymbol{w}^{\top}\boldsymbol{x}_i + b) = 1 - \xi_i < 0,\qquad\, 樣本在分離超平面另一側,意味著其被誤分類 \end{cases} \]


有了上述討論後,我們來看軟間隔 svm 如何得到最終的引數 \((\boldsymbol{w}, b)\) 。其中 \(\boldsymbol{w}\) 和硬間隔一樣由 \((1.4)\) 式得出,而 \(b\) 的情況則不同。選擇一個支援向量 \((\boldsymbol{x}_s, y_s)\) 使得 \(\alpha_i > 0\) ,則由 \((1.12)\) 式並利用 \(y_s^2 =1\)
\[ 1 - \xi_s - y_s(\boldsymbol{w}^{\top}\boldsymbol{x}_s + b) = y_s^2 - y_s^2\xi_s - y_s(\boldsymbol{w}^{\top}\boldsymbol{x}_s + b) = 0 \;\;\large\color{lime}{\implies}\;\; \color{black}\normalsize b = y_s - y_s\xi_s - \boldsymbol{w}^{\top}\boldsymbol{x}_s \]


現在由於 \(b\) 還未求出,所以我們不知道超平面的具體樣貌,如果選擇了一個 \(\xi_s > 0\) 的支援向量,就無法得知 \(\xi_s\) 的具體值是多少 (由 (1.12) 式: \(\xi_s = 1 - y_i(\boldsymbol{w}^{\top}\boldsymbol{x}_i + b)\) ),也就無法求出 \(b\) 。因此這裡需要使 \(\xi_s = 0\) 才能求出 \(b\) ,由上文討論可知只有 \(0 < \alpha_s < C\) ,即樣本在間隔邊界上時,\(\xi_s = 0\) 。因而不同於硬間隔 svm, 軟間隔求 \(b\) 選擇的支援向量不是任一支援向量,而是必須滿足條件的支援向量,這說明軟間隔 svm 的超平面確實刻意忽略了間隔邊界之內的那些離群點,因為這些點都有 \(\xi_i > 0\)


當然也可以對此類支援向量求平均得到 \(b\)
\[ b = \frac{1}{|SV_{<C}|} \sum\limits_{s \in SV_{<C}} \left( y_s - \sum\limits_{i \in SV_{<C}} \alpha_i y_i \boldsymbol{x}_i^\top\boldsymbol{x}_s \right) \]
其中 \(SV_{<C}\) 表示滿足 \(0 < \alpha_s<C\) 的支援向量。






核函式(非線性svm)


前面展示的硬間隔和軟間隔 svm 主要是用於處理線性分類問題,然而現實中很多分類問題是非線性的,如下圖所示,無論怎樣一個線性超平面都無法很好地將樣本點分類:

支援向量機 (二): 軟間隔 svm 與 核函式

所以在此引入核函式(kernel function),構造非線性svm,如下圖所示,左圖使用的是多項式核函式,右圖使用的是高斯核函式,二者均能將樣本點很好地分類:

支援向量機 (二): 軟間隔 svm 與 核函式

核函式的主要作用是將樣本從原始空間對映到一個更高維的特徵空間,使得樣本在這個特徵空間內線性可分。下圖顯示原來在二維空間不可分的兩類樣本點,在對映到三維空間後變為線性可分 :

支援向量機 (二): 軟間隔 svm 與 核函式

但回到原來的二維空間中,決策邊界就變成非線性的了:

支援向量機 (二): 軟間隔 svm 與 核函式


核函式是如何將原始空間對映到高維的特徵空間的? 下面先舉個例子:

假設做一個2維到3維的對映,\(\large{\Phi}: \;\mathbb{R}^2 \longrightarrow \mathbb{R}^3\)

\[ \phi(\boldsymbol{x}) = \phi \begin{pmatrix}x_1 \\ x_2 \end{pmatrix} = \begin{pmatrix} x_1^2 \\ \sqrt{2}\,x_1x_2 \\ x_2^2\end{pmatrix} \]
\(\phi(\boldsymbol{a})\)\(\phi(\boldsymbol{b})\) 的內積:

\[ \begin{aligned} \phi(\textbf{a})^T \phi(\textbf{b}) & = \begin{pmatrix} a_1^2 \\ \sqrt2 \, a_1a_2 \\ a_2^2 \end{pmatrix}^T \cdot \begin{pmatrix} b_1^2 \\ \sqrt2 \, b_1b_2 \\ b_2^2 \end{pmatrix} = a_1^2b_1^2 + 2a_1b_1a_2b_2 + a_2^2b_2^2 \\[1ex] & = (a_1b_1 + a_2b_2)^2 = \begin{pmatrix}\begin{pmatrix} a_1 \\ a_1 \end{pmatrix}^T \begin{pmatrix} b_1 \\ b_1 \end{pmatrix}\end{pmatrix}^2 = ({\textbf{a}}^T {\textbf{b}})^2 \end{aligned} \]
可以看出轉換後向量的內積等於原向量內積的平方,即 \(\phi (\textbf{a})^T \phi(\textbf{b}) = (\textbf{a}^T \textbf{b})^2\)


函式 \(\kappa(\textbf{a}, \textbf{b}) = (\textbf{a}^T\textbf{b})^2\) 被成為二次多項核函式,於是如果想計算高維特徵空間的內積 \(\phi(\textbf{a})^T \phi(\textbf{b})\),我們只需計算核函式,即原向量內積的平方 \((\textbf{a}^T\textbf{b})^2\) 就可以了。這樣做的好處有:

  • 將樣本點由原始空間對映到高維空間後,有大概率使原來線性不可分的問題變為線性可分。

  • 核函式的計算是在低維特徵空間計算的,它避免了在高維特徵空間下計算內積的超高計算量。


下圖也能看出在原始空間和高維空間下計算量的巨大差異:

支援向量機 (二): 軟間隔 svm 與 核函式



接下來對問題作正式的定義: 資料在原始特徵空間 \(\mathbb{R}^d\) 不是線性可分的,則希望通過一個對映 \(\large{\Phi}: \;\mathbb{R}^d \longrightarrow \mathbb{R}^\tilde{d}\) ,使得資料在新的特徵空間 \(\mathbb{R}^\tilde{d}\) 中線性可分,則軟間隔 svm 基本型變為:
\[ \begin{aligned} \min\limits_{\boldsymbol{w}, b,\boldsymbol{\xi}} & \;\; \frac12 ||\boldsymbol{w}||^2 + C \,\sum\limits_{i=1}^m \xi_i \\[1ex] {\text { s.t. }} & \;\; y_{i}\left(\boldsymbol{w}^{\top} \phi(\boldsymbol{x}_{i})+b\right) \geq 1 - \xi_i, \quad i=1,2, \ldots, m \\[1ex] & \;\; \xi_i \geq 0, \quad i=1,2, \ldots m \end{aligned} \]


找到一個核函式 \(\mathcal{K} (\boldsymbol{x}_i, \boldsymbol{x}_j) = \phi(\boldsymbol{x}_i)^{\top} \phi(\boldsymbol{x}_j)\) ,則相應的對偶型轉化為核函式型:
\[ \begin{aligned} \max_\alpha &\;\; \sum\limits_{i=1}^m \alpha_i - \frac12 \sum\limits_{i=1}^m\sum\limits_{i=1}^m \alpha_i\alpha_jy_iy_j \phi(\boldsymbol{x}_i)^{\top}\phi(\boldsymbol{x}_j) \\[1ex] \text{s.t.} & \;\; \sum\limits_{i=1}^m \alpha_iy_i = 0 \\[1ex] & \;\; 0 \leqslant \alpha_i \leqslant C, \quad i = 1,2,\ldots m \end{aligned} \quad \Large{\implies} \normalsize \quad \begin{aligned} \max_\alpha &\;\; \sum\limits_{i=1}^m \alpha_i - \frac12 \sum\limits_{i=1}^m\sum\limits_{i=1}^m \alpha_i\alpha_jy_iy_j \kappa(\boldsymbol{x}_i, \boldsymbol{x}_j) \\[1ex] \text{s.t.} & \;\; \sum\limits_{i=1}^m \alpha_iy_i = 0 \\[1ex] & \;\; 0 \leqslant \alpha_i \leqslant C, \quad i = 1,2,\ldots m \end{aligned} \]


這樣使得計算複雜度由 \(\mathcal{O}(\tilde{d})\) 降為 \(\mathcal{O} (d)\) 。求解後的分離超平面為:
\[ \begin{aligned} f(\boldsymbol{x}) & = \boldsymbol{w}^{\top} \phi(\boldsymbol{x}) + b \\[1ex] & = \sum\limits_{i \in SV} \alpha_i y_i \phi(\boldsymbol{x}_i)\phi(\boldsymbol{x}) + b \\[1ex] & = \sum\limits_{i \in SV} \alpha_i y_i \kappa(\boldsymbol{x}_i, \boldsymbol{x}) + b \end{aligned} \]
其中 \(SV\) 代表所有支援向量的集合。這樣我們就能以較小的計算量解決非線性分類問題,甚至都不需要知道低維空間的資料是怎樣對映到高維空間的,只需要在原來的低維空間計算核函式就行了。



常見核函式比較:

名稱 形式 優點 缺點
線性核 \(\kappa(\boldsymbol{x}_i, \boldsymbol{x}_j) = \boldsymbol{x}_i^{\top}\boldsymbol{x}_j\) 速度快,可解釋性強。 無法解決非線性可分問題。
多項式核 \(\kappa(\boldsymbol{x}_i, \boldsymbol{x}_j) = (\lambda \, \boldsymbol{x}_i^{\top}\boldsymbol{x}_j + \eta)^d\) 比線性核更一般,\(d\) 直接描述了被對映空間的複雜度。 引數多 (有 \(\lambda, \eta, d\) 要選),且當 \(d\) 很大時會導致計算不穩定。
RBF 核 \(\kappa(\boldsymbol{x}_i, \boldsymbol{x}_j) = \text{exp} \left(- \frac{||\boldsymbol{x}_i- \boldsymbol{x}_j||^2}{2 \sigma^2} \right)\) 只有一個引數,無計算不穩定問題,擬合能力強。 可解釋性差,計算慢,易過擬合。



由於 RBF 核是目前最主流的核函式,所以在這裡以其舉例介紹:

RBF 核函式全稱徑向基函式 (Radial Basis Function),其表示式 \(\kappa(\boldsymbol{x}_i, \boldsymbol{x}_j) = \text{exp} \left(- \frac{||\boldsymbol{x}_i- \boldsymbol{x}_j||^2}{2 \sigma^2} \right)\) 亦可寫為 \(\kappa(\boldsymbol{x}_i, \boldsymbol{x}_j) =\text{exp} (- \gamma||\boldsymbol{x}_i- \boldsymbol{x}_j||^2)\) ,範圍為 \((0, 1]\) ,其中 \(\gamma = \frac{1}{2\sigma^2}\)


RBF 核可理解為兩個樣本點的相似程度,若兩點 \((\boldsymbol{x}_i, \boldsymbol{x}_j)\) 的相似程度很大,則距離 \(||\boldsymbol{x}_i - \boldsymbol{x}_j||^2\) 越小,使得 \(\text{exp} (- \gamma||\boldsymbol{x}_i- \boldsymbol{x}_j||^2)\) 越大,這意味著高斯核具有“區域性(local)”特徵,只有相對鄰近的樣本點會對測試點的分類產生較大作用。 \(\gamma > 0\),即為 scikit-learn 中的 svm 超引數 \(\gamma\)\(\gamma\) 越大,意味著兩個點只有相當接近時才會被判為相似,這樣決策邊界會變得較為扭曲,容易過擬合,因為只取決於較少的幾個樣本點。相反,\(\gamma\) 越小,大量的點被判為近似,在模型中起了作用,因而導致模型變得簡單,容易欠擬合。


RBF 核還有個吸引人的特性,那就是可以從原始空間對映到無限維特徵空間,下面舉例說明式如何做到的: 設 \(\sigma = \sqrt{\frac12}\) ,則 RBF 核的轉換如下 (兩種顏色分別表示 \(\boldsymbol{x}_i\)\(\boldsymbol{x}_j\) 對應的部分):

\[ \begin{align*} \kappa(\boldsymbol{x}_i, \boldsymbol{x}_j) & = \text{exp}(-||\color{blue}{\boldsymbol{x}_i} - \color{fuchsia}{\boldsymbol{x}_j} ||^2) \tag{2.1} \\ & = \color{blue}{\text{exp}(-||\boldsymbol{x}_i||^2)} \,\color{fuchsia}{\text{exp}(-||\boldsymbol{x}_j||^2)} \text{exp} (2\color{blue}{||\boldsymbol{x}_i||} \, \color{fuchsia}{||\boldsymbol{x}_j||}) \tag{2.2} \\ & = \color{blue}{\text{exp}(-||\boldsymbol{x}_i||^2)} \,\color{fuchsia}{\text{exp}(-||\boldsymbol{x}_j||^2)} \left(\sum\limits_{n=0}^\infty \frac{(2\color{blue}{||\boldsymbol{x}_i||} \, \color{fuchsia}{||\boldsymbol{x}_j||})^n}{n\, !}\right) \tag{2.3} \\ & = \sum\limits_{n=0}^\infty\left(\color{blue}{\text{exp}(-||\boldsymbol{x}_i||^2)} \color{fuchsia}{\text{exp} (-||\boldsymbol{x}_j||^2)}\color{blue}{\sqrt{\frac{2^n}{n\,!}}}\color{fuchsia}{\sqrt{\frac{2^n}{n\,!}}} \color{blue}{||\boldsymbol{x}_i||^n} \color{fuchsia}{||\boldsymbol{x}_j||^n}\right) \tag{2.4} \\ & = \color{blue}{\phi(\boldsymbol{x}_i)}^{\top}\color{fuchsia}{\phi(\boldsymbol{x}_j)} \end{align*} \]


因而對映的無限維空間為 \(\phi(\boldsymbol{x}) = \text{exp}(-||\boldsymbol{x}||^2) \begin{bmatrix} 1 \\ \sqrt{\frac{2}{1!}}x \\ \sqrt{\frac{2^2}{2!}}x^2 \\ \vdots \\ \sqrt{\frac{x^\infty}{\infty!}}x^\infty \end{bmatrix}\)



上面的 \((2.2)\) 式到 \((2.3)\) 式使用了 \(e^x\) 的泰勒展開,泰勒公式的簡單解釋就是用多項式函式去逼近原函式,因為用多項式函式往往求解更加容易,而多項式中各項的係數則為原函式在某一點的n階導數值除以n階乘。

已知函式 \(f(x)\)\(x=x_0\)\(n\) 階可導,那麼:
\[ \begin{aligned} f(x) &= f(x_0) + f'(x_0)(x-x_0) + \frac{f''(x_0)}{2!}(x-x_0)^2 + \cdots + \frac{f^{(n)}(x_0)}{n!}(x-x_0)^n \\ & = \sum\limits_{n=0}^{\infty}\frac{f^{(n)}x_0}{n!}(x - x_0)^n \end{aligned} \]
例如,\(x_0 = 0, \;\; f(x) = e^x\)時,\(e^x = \sum\limits_{n=0}^{\infty}\frac{x^n}{n!} = 1+x+\frac{x^2}{2!} + \frac{x^3}{3!} + \cdots\) , 明白了這個後相信不難理解上面 RBF 核的推導。







/

相關文章