文仕軍
(貴州大學 計算機科學與技術學院,貴州 貴陽550025)
以統計數據分析為主要目的學習問題被分為三個基本問題:模式識別、回歸估計和概率密度估計。在解決學習問題的傳統理論中,模式識別和回歸估計都是建立在概率密度估計的基礎上的。概率密度估計通常采用參數估計和非參數估計的方法[1]。參數方法是根據經驗,假定總體的分布為某種特定的形式,如高斯分布、瑞利分布等,而未知總體分布的某些具體參數值,然后再用樣本計算出這些未知的參數值。但在實際應用中,樣本數據總是有限的,有時并不能確定總體的具體分布。當對總體的分布形式無法做出大致正確的判斷時,需要采用一種非參數方法更為合理,直接從樣本入手進行估計,即非參數估計方法。非參數統計方法幾乎不對總體設立限制條件,非參數估計可以處理所有類型的數據[2]。
概率密度估計是統計學中的一個核心問題,得到概率密度,就可以解決概率有關的問題。因此,求解概率密度問題在理論研究和實際問題中都有重要的意義。在非參數密度估計中,常用的方法有Parzen窗法和SVM 等。Parzen 窗估計需要盡可能多的估計樣本,窗寬的取值也影響估計的精度;SVM 估計需要采用非線性規劃的手段實現,雖然在樣本有限的情況下也能達到一定的精度,但是算法復雜,樣本規模較大時訓練速度較慢。本文介紹一種簡單有效的估計方法,稱為核非線性回歸(KNR,Kernel-based Nonlinear Regression)法。
對于隨機變量X 的分布函數F(x),存在非負函數f(x),使對于任意實數x 有:

則稱X 為連續型隨即變量,其中函數f(x)稱為X 的概率密度函數。
1.2.1 極大似然估計
對于獨立同分布的樣本數據x1,x2,…,xN,定義似然函數為:

其中,密度是θ 的函數。
將似然函數(2)表示成對數形式:

則最大似然函數的估計量即為式(3)表示的微分方程的解[2]。

1.2.2 經驗方法:統計直方圖[3]
設X1,X2,…,Xn是取自總體X 的樣本,x1,x2,…,xn表示樣本觀測值,令:


其中i=1,2,…,n,j=1,2,…,k,則得到:

式(7)為采用經驗方法估計得到的密度函數。
定義以原點為中心,半徑為1/2 的鄰域函數為:



式(9)為Parzen 窗密度估計,其中h 為窗寬[3]。
用SVM 方法來估計概率密度,就是從概率密度的定義出發,直接求解該線性算子方程。它結合了不適定問題的理論、傳統的非參數統計學以及統計學習理論等方面的思想。支持向量機是通過事先選擇好的某一個非線性變換,將輸入向量x 映射到高維空間Z,在這一特征空間中,構造一個最優超平面[4,5]。
利用SVM 求解概率密度估計問題,主要是首先在像空間中定義相應的回歸問題,然后利用支持向量機法構造求解回歸問題的核函數K(xi,xj)和交叉函數κ(xi,t),最后根據核函數,利用支持向量機方法求解回歸問題,找出支持向量和對應的系數,具體過程為:
使用SVM 方法解線性算子方程:

方程(10)的解可以表示成如下形式:

將式(11)表示成函數集的形式:


在式(12)最小化泛函,即尋找目標函數。通過算子A,該函數集映射為:



定義像空間中的核函數為:

利用SVM 方法解線性算子方程就可以表達為利用核函數和數據對(x1,Fl(x1)),…,(xl,Fl(xl))在像空間中進行回歸估計,獲得w,并通過交叉核函數得到線性算子方程的解:

其中,κ(xi,x)為核交叉函數,式(16)是對未知的概率密度f(x)進行回歸估計得到的結果[4-5]。
KNR 是一種非線性核回歸算法,在圖像處理、模式識別中有廣泛的應用。再生核k 定義為:設H 是Hilbert 函數空間,其元素是某個抽象集合B 上的實值或復值函數,設k(t,s)是B×B 上的二元函數,對于任何的s∈B,k 作為t 的函數是s 的元素,而且對于任何s∈B 及fk∈H有:

則稱設k(t,s)為Hilbert 函數空間的再生核。定義再生核函數為:

則密度函數f(x)為多個核函數疊加而成,表示如下:

其中N 表示樣本個數,x 表示樣本元素,a 為系數向量,由最小二乘準則估計出向量a 如下式:

符號“+”表示矩陣的Moore-Penrose 廣義逆,并且K 中的第p 行q列的元素為:

其中,x 表示訓練向量。
式(20)中,y 表示為:

首先給定高斯分布中的參數值,用高斯分布密度產生100 個隨機數,由分布密度(23)產生100 個隨機樣本,采用正態分布,用極大似然函數法求參數μ 和σ。

其中σ=0.5,μ=3。
用參數法估計的μ=3.0615,σ=0.5812,但這是在已知數據分布的基礎上,對已知分布的部分未知參數采用極大似然法進行估計。然后用Parzen 估計、SVM、及KNR 方法法得到估計曲線,與理論曲線進行了對比。由圖1 可知,經驗密度估計過程中,不需要先驗知識,將樣本數據的取值范圍分成若干個區間,然后把落在每個區間內的數據數目用直方圖表示出來,但是估計概率密度精度不高。圖2 采用Parzen 核密度估計的方法,根據樣本數據得到了概率密度曲線,在核密度估計過程中,窗寬h 的取值會影響估計曲線的光滑程度,h 較大,將有較多的樣本點對x 處的密度估計產生影響,Parzen 核密度估計為了提高估計精度,需要盡可能多的樣本。由圖3 支持向量機概率密度估計曲線可知,支持向量機估計時對樣本數據依賴較小,需要少數的支持向量即可,圖3 中* 號表示支持向量,估計精度較高時需要的支持向量也較多,支持向量較少的部分估計誤差很大,同時由于算法涉及大量矩陣運算,樣本訓練時間長。由圖4 可知,采用KNR 方法后,能夠提高估計精度,算法簡單,提高了執行速度。

圖1 經驗密度估計曲線(直方圖)

圖2 parzen 核估計概率密度曲線

圖3 支持向量機估計概率密度曲線

圖4 核非法概率密度曲線
在對極大似然法、Parzen 等傳統的方法進行研究的基礎上,采用了一種KNR 的密度估計方法。得到了相關方法估計結果和理論估計結果的對比曲線,由結果可看出,與參數法求解概率密度相比,非參數法可以處理任意形式的概率密度,不存在模型失配問題,但是為了得到精確的概率密度,需要得到大量的訓練樣本;KNR 方法能夠在有限樣本的情況下得到較為精確的密度估計。
[1]Vladimir N. Vapnik 著.統計學習理論的本質[M].張學工,譯.北京:清華大學出版社,2000.
[2]邊肇祺,張學工.模式識別[M].北京:清華大學出版社,2000.
[3]周品.MATLAB 概率與數理統計[M].北京:清華大學出版社,2012.
[4]Weston Jason, Gammerman Alex, Stitson Mark, et al. Advances in Kernel Methods: Support Vector Learning[M]. Cambridge, MA: MIT Press,1999.
[5]張炤,張素,章琛曦,等.基于支持向量機的概率密度估計方法[J].系統仿真學報,2005,17(10):2355-2357.
[6]Jing Zhang, Benyong Liu, and Hao Tan, A kernel-based nonlinear representor for eigenface classification[J]. JESTC,2004,2(2):19-22.
[7]Benyong Liu and Jing Zhang. Eigenspectra versus eigenfaces: Classification with a kernel-based nonlinear representor[J]. LNCS, 3610,2005:660-663.
[8]胡業剛,劉本永.小圖像放大:算法與評價[J].貴州大學學報:自然科學版,2010,27(2):78-82.
[9]劉本永.斜投影核鑒別器的增量學習:理論及算法[OL].[2012-10-29],中國科技論文在線,http://www.paper.edu.cn/ releasepaper/content/201210-288.