代雪珍 衛(wèi)軍超 常在斌
摘要:Fisher判別分析是數(shù)據(jù)處理的常用技術(shù)。Fisher線性判別模型是找到一條合適的直線,使得數(shù)據(jù)點在投影到直線后可以被分離。本文通過對Fisher判別分析和高斯核函數(shù)的分類的研究,通過實際例子,在matlab中編程實現(xiàn)算法,分別畫圖比較了二維數(shù)據(jù)和三維數(shù)據(jù)的分類結(jié)果。
Abstract: Fisher discriminant analysis is a commonly used technique for data processing. The Fisher linear discriminant model is to find a suitable straight line so that the data points can be separated after being projected onto a straight line. In this paper, the classification of Fisher discriminant analysis and Gaussian kernel function is studied. Through practical examples, the algorithm is implemented in matlab, and the two-dimensional data and three-dimensional data are compared separately.
關(guān)鍵詞: Fisher準(zhǔn)則;數(shù)據(jù)分類;matlab編程;高斯核函數(shù)
Key words: Fisher criterion;data classification;matlab programming;Gaussian kernel function
中圖分類號:TP313 文獻標(biāo)識碼:A 文章編號:1006-4311(2018)26-0211-03
0 引言
分類是機器學(xué)習(xí),統(tǒng)計學(xué)和模式識別領(lǐng)域的一個重要課題。給定一個數(shù)據(jù)集,其中包含n個屬性,m個類,考慮每個屬性的l個記錄以及相應(yīng)的類,分類是確定屬性的新記錄屬于哪個類的過程。許多方法已被提出用于解決分類問題,如決策樹[1-2],貝葉斯網(wǎng)絡(luò)[3],神經(jīng)網(wǎng)絡(luò)[4],支持向量機[5],F(xiàn)isher法[6]等。
Fisher線性判別分析是把數(shù)據(jù)點映射到一條直線上, 使得在這條直線上數(shù)據(jù)點的投影分開的最好,因此,如何尋找最好的直線方向是解決問題的關(guān)鍵。Fisher 準(zhǔn)則是通過最大化類間方差與類內(nèi)方差的比率來獲得直線的方向.分類邊界通常是一個超平面,正交于直線L,可由直線L決定。此外,在復(fù)雜的數(shù)據(jù)集中,核函數(shù)也經(jīng)常被用來獲得直線L。
1 基于fisher判別分析的分類模型
令X={x1,x2,…,xn}為屬性集,在分類中,給出了由 l 個示例記錄組成的數(shù)據(jù)集,稱為訓(xùn)練集。每條記錄都包含要素屬性的值和相應(yīng)的類。正整數(shù) l 為數(shù)據(jù)集的大小,屬性的值是數(shù)值型的,并且由n維向量來描述,f=(f(x1),f(x2),…,f(xn)),屬性的范圍稱為特征空間。是類的所有可能值的集合,{C1,C2,…,Cm}用C表示,其中每個Ck,k=1,2,…,m,表示一個指定的類。
因此,第j個樣本記錄由對所有特征屬性和分類屬性的第j個觀察值組成,并且由
,j=1,2,…,l,表示其中 kj屬于 {1,2,…,m}。
分類的目的是建立一個由特征屬性表達的分類模型。當(dāng)特征屬性的新記錄可用時,我們可以使用該模型來確定新記錄所屬的類。
我們知道Fisher線性判別模型是找到一條合適的直線,使得數(shù)據(jù)點在投影到直線后可以被分離,見圖1。可是,圖2中的數(shù)據(jù)不是線性可分的,所以Fisher線性判別式方法是無效的,幾何意義是投影點的分類,即投影到加權(quán)軸上的數(shù)據(jù)點。折線L是圖2中的分類邊界。該方法與Fisher線性判別方法相同。不同之處在于投影方向不垂直于投影軸,并且在給定方法中劃分邊界不再是超平面。
Fisher判別函數(shù)為:
其中Sb,Sμ是2n-1維空間中對應(yīng)的類離散矩陣和類內(nèi)離散矩陣:
利用Fisher方法,我們可以用μ=S(A1-A2)得到給定a,b的最優(yōu)解。
把代入(1),F(xiàn)isher準(zhǔn)則函數(shù)的表達式表示為:
其中α=(α1,α2,…,αl),SB=(q1-q2)(q1-q2)T,
我們可以得到判別函數(shù)是
用Fisher函數(shù)解決多分類問題時,首先實現(xiàn)兩類Fisher分類,然后根據(jù)返回的類別與新的類別再做兩類Fisher分類,又能夠得到比較接近的類別,以此類推,直至所有的類別,最后得出未知樣本的類別。
2 應(yīng)用
例1:二維數(shù)據(jù)記錄在圖2中給出,要求分成兩類。我們用兩種算法對它們進行分類。(在matlab軟件中編程求解):圖3顯示了應(yīng)用Fisher線性判別函數(shù)分類的結(jié)果,圖4顯示了Fisher高斯核函數(shù)的分類結(jié)果(sigma=0.1925),從圖4中可以看出,高斯核函數(shù)的邊界具有一定的擬合性。
例 2:圖5中給出了要進行分類的二維數(shù)據(jù)點,要求分兩類。 用兩種算法對它們進行分類。 圖6顯示了應(yīng)用費舍爾高斯核函數(shù)(sigma = 0.3331)的分類結(jié)果, 從數(shù)據(jù)中可以看出,折線為分類邊界比高斯核函數(shù)曲線更合理。
例3 圖7給出了要分類的三維數(shù)據(jù)記錄,要求分兩類。圖8顯示了Fisher方法(高斯內(nèi)核)的分類結(jié)果。
3 總結(jié)
Fisher判別分析是數(shù)據(jù)處理的常用技術(shù),從本文的應(yīng)用示例中來看,給定的模型和算法是有效的和有用的。 接下來,我們將進一步研究和改進解決復(fù)雜數(shù)據(jù)分類問題的算法。
參考文獻:
[1]J. R. Quinlan. Induction of Decision Tree. Machine Learning, 1986(1):81-106.
[2]J. R.Quinlan. C4. 5: Programs for Machine Learning. [S. 1.]: Morgan Kaufman, 1993.
[3]T. Leonard, JSJ Hsu. Bayesian methods: an analysis for statisticians and interdisciplinary researchers.Cambridge University Press, 1999.
[4]S. I. Gallant. Perceptron-based learning algorithms. IEEE Transactions on Neural Networks, 1990, 1(2):179-191.
[5]C. Cortes, V. Vapnik. Support-vector networks. Machine Learning, 1995,20, 273-297.
[6]K. Jing, W. Liu, L. Cai, J. Chen. Sparse Representation andFisher Discrimination Based Method for Tumor Classification.Journal of Computational & Theoretical Nanoscience, 2016,13(1):343-348.