徑向基(Radial basis function)神經網絡、核函數的一些理解


  徑向基函數(RBF)在神經網絡領域扮演着重要的角色,如RBF神經網絡具有唯一最佳逼近的特性,徑向基作為核函數在SVM中能將輸入樣本映射到高維特征空間,解決一些原本線性不可分的問題。

      本文主要討論:

       1. 先討論核函數是如何把數據映射到高維空間的,然后引入徑向基函數作核函數,並特別說明高斯徑向基函數的幾何意義,以及它作為核函數時為什么能把數據映射到無限維空間。

       2.提到了徑向基函數,就繼續討論下徑向基函數神經網絡為什么能用來逼近。

       再看這文章的時候,注意核函數是一回事,徑向基函數是另一回事。核函數表示的是高維空間里由於向量內積而計算出來的一個函數表達式(后面將見到)。而徑向基函數是一類函數,徑向基函數是一個它的值(y)只依賴於變量(x)距原點距離的函數,即 \phi(\mathbf{x}) = \phi(\|\mathbf{x}\|);也可以是距其他某個中心點的距離,即 \phi(\mathbf{x}, \mathbf{c}) = \phi(\|\mathbf{x}-\mathbf{c}\|) 引用自wiki . 也就是說,可以選定徑向基函數來當核函數,譬如SVM里一般都用高斯徑向基作為核函數,但是核函數不一定要選擇徑向基這一類函數。如果感覺這段話有點繞沒關系,往下看就能慢慢體會了。

為什么要將核函數和RBF神經網絡放在一起,是希望學習它們的時候即能看到它們的聯系又能找到其差別。

    一.由非線性映射引入核函數概念,之后介紹高斯徑向基及其幾何意義。

    預先規定是一個非線性映射函數,能夠把空間中任一點,映射到空間

    下面先用一個例子說明這種映射的好處。

     例:假設二維平面上有一些系列樣本點,他們的分布近似是一個圍繞着原點的圓(見圖1)。那么在這個二維的樣本空間里,這些樣本點滿足的曲線方程為:

                                         

如果設非線性映射為: 

                                         

那么在映射后的的空間里,曲線方程變成了:   

                                 

這意味着在新空間里,樣本點是分布在一條近似直線上的,而不是之前的圓,很明顯這是有利於我們的。

                   

                                                     圖1.左圖為原來的x所在的二維空間,右圖為映射后的新的y空間

繼續這個例子,我們已經知道了映射關系,那么在y空間中的向量內積會是什么樣子的呢?

                        

注意公式里的各種括號。[x]代表樣本x,圓括號(,)表示樣本的坐標,尖括號<,>代表代表向量內積。

由此我們知道y空間里兩向量的內積,在x空間里確實一個關於的函數,這個k函數就稱為核函數

      所以總結一下核函數就是:在原樣本空間中非線性問題,我們希望通過一種映射把他映射到高維空間里使問題變得線性。然后在高維空間里使用我們的算法就能解決問題。當然這里按照前面的推導我們在高維空間里的運算是以向量內積為基礎的。

      回顧SVM里的應用得到的分類器表達式為:

                                     

x經過映射后得到的表達式為:

                                    

由此就可以看到這里有高維空間里的內積,就能夠用核函數代替這種內積了,而往往把高斯徑向基函數作為核函數。

高斯徑向基函數公式如下:

                                  

那么它有什么幾何意義呢。

先看看x經過映射以后,在高維空間里這個點到原點的距離公式:

                                    

這表明樣本x映射到高維空間后,存在於一個超球面上.

        接下來將討論核函數為什么能映射到高維空間,徑向基核又為什么能夠映射到無限維空間。

先考慮普通的多項式核函數:

                             k(x, y) = (x^Ty)^2其中x, y \in \mathbb{R}^2,並且  x = (x_1, x_2), y = (y_1, y_2).

因此這個多項式核函數能夠寫成:

                             k(x, y) = (x_1y_1 + x_2y_2)^2 = x_{1}^2y_{1}^2 + 2x_1x_2y_1y_2 + x_{2}^2y_{2}^2

現在回到之前的映射

                       k(x, y) = \Phi(x)^T\Phi(y)

並取  \Phi(x) = (x_1^2, \sqrt{2}x_1x_2, x_2^2),注意此時是3維空間了,那么有

                             \Phi(x)^T\Phi(y) = x_1^2y_1^2 + 2x_1x_2y_1y_2 + x_2^2y_2^2 .

這就是前面的k(x,y),因此,該核函數就將2維映射到了3維空間。

看完了普通核函數由2維向3維的映射,再來看看高斯徑向基函數會把2維平面上一點映射到多少維。

                             k(x, y) = \exp(-\|x - y\|^2)
                                             = \exp(- (x_1 - y_1)^2 - (x_2 - y_2)^2)
                                             = \exp(- x_1^2 + 2x_1y_1 - y_1^2 - x_2^2 + 2x_2y_2 - y_2^2)
                                             = \exp(-\|x\|^2) \exp(-\|y\|^2) \exp(2x^Ty) 

呃,看看它的泰勒展開式你就會恍然大悟:

                             k(x, y) = \exp(-\|x\|^2) \exp(-\|y\|^2) \sum_{n = 0}^{\infty} \frac{(2x^Ty)^n}{n!} 

這個時候 \Phi(x)就是一個無限維的了。

 

二、RBF神經網絡

       最基本的徑向基函數(RBF)神經網絡的構成包括三層,其中每一層都有着完全不同的作用。輸入層由一些感知單元組成,它們將網絡與外界環境連接起來;第二層是網絡中僅有的一個隱層,它的作用是從輸入空間到隱層空間之間進行非線性變換,在大多數情況下,隱層空間有較高的維數;輸出層是線性的,它為作用於輸入層的激活模式提供響應。

        

函數逼近的形式:

                        y(\mathbf{x}) = \sum_{i=1}^N w_i \, \phi(\|\mathbf{x} - \mathbf{x}_i\|),

     個人覺得,隱含層的每個節點就是就是空間中的一個基底,經過線性組合加權以后就變成了輸出。這種理解是通過逼近理論來理解的。

這里的多項式P就是由基底組成。

隱含層每個節點對應的響應輸出就像這些基底的相應一樣,訓練權值就是找到每個基底前面的系數。

      第二角度理解:

      不知大家是否熟悉混合高斯模型,這里的逼近有點像混合高斯模型。也就是每個高斯函數在自己的中心附近作出突出貢獻。

                         

在這里推介zouxy09的博文《徑向基網絡(RBF network)之BP監督訓練》,他的文章演示的比較清楚。我摘抄如下:

      當年徑向基函數的誕生主要是為了解決多變量插值的問題。可以看下面的圖。具體的話是先在每個樣本上面放一個基函數,圖中每個藍色的點是一個樣本,然后中間那個圖中綠色虛線對應的,就表示的是每個訓練樣本對應一個高斯函數(高斯函數中心就是樣本點)。然后假設真實的擬合這些訓練數據的曲線是藍色的那根(最右邊的圖),如果我們有一個新的數據x1,我們想知道它對應的f(x1)是多少,也就是a點的縱坐標是多少。那么由圖可以看到,a點的縱坐標等於b點的縱坐標加上c點的縱坐標。而b的縱坐標是第一個樣本點的高斯函數的值乘以一個大點權值得到的,c的縱坐標是第二個樣本點的高斯函數的值乘以另一個小點的權值得到。而其他樣本點的權值全是0,因為我們要插值的點x1在第一和第二個樣本點之間,遠離其他的樣本點,那么插值影響最大的就是離得近的點,離的遠的就沒什么貢獻了。所以x1點的函數值由附近的b和c兩個點就可以確定了。拓展到任意的新的x,這些紅色的高斯函數乘以一個權值后再在對應的x地方加起來,就可以完美的擬合真實的函數曲線了

                     

      我個人比較傾向徑向基神經網絡是把輸入的樣本映射到了另一個空間,在另一個空間經過線性組合后形成輸出,得到逼近的結果,這種理解也有利於去窺探神經網絡的本質。個人愚見,有錯請指出。

 

 

(轉載請注明作者和出處:http://blog.csdn.net/heyijia0327 未經允許請勿用於商業用途)

 

 

reference:

1.Michael Eigensatz《Insights into the Geometry of the Gaussian Kernel and an Application in Geometric Modeling》

2.Quora 上的問題 Why does the RBF (radial basis function) kernel map into infinite dimensional space?

3.zouxy09 博文《徑向基網絡(RBF network)之BP監督訓練

4.如果想學SVM, JerryLead 的 《支持向量機》系列 當然不能漏掉.

5.男神 Andrew Ng 的講義是師祖.


免責聲明!

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



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