劉賽雄,耿 霞,陸 虎
(江蘇大學(xué) 計算機科學(xué)與通信工程學(xué)院,江蘇 鎮(zhèn)江 212013)
中國是一個人口大國,也是一個農(nóng)業(yè)大國,小麥作為第二大糧食作物不僅要滿足人們的日常飲食需求,還在確保糧食安全及實現(xiàn)國民經(jīng)濟(jì)發(fā)展方面起著舉足輕重的作用.因此,發(fā)展一套農(nóng)產(chǎn)品數(shù)據(jù)檢測和分析系統(tǒng)是一件迫在眉睫的事情.以前,農(nóng)業(yè)生產(chǎn)的相關(guān)檢測工作都是依靠人工視覺進(jìn)行主觀判斷,該方法主觀性強,缺乏科學(xué)依據(jù),并且極其費時費力.隨著計算機的迅速發(fā)展,基于機器學(xué)習(xí)和深度學(xué)習(xí)的農(nóng)產(chǎn)品品質(zhì)檢測與分級成為了國內(nèi)外研究的熱門話題[1-4].面對海量的數(shù)據(jù),首先需要利用分類或聚類的方法對數(shù)據(jù)進(jìn)行劃分.分類是有監(jiān)督的方法,它需要用到類別標(biāo)簽,有監(jiān)督則意味著需要先驗的人為判斷診斷來指導(dǎo)分類,因此,具有非常大的主觀性.無監(jiān)督的聚類分析是一種合理地對原始數(shù)據(jù)進(jìn)行劃分的方法,它不需要用到標(biāo)簽,而是數(shù)據(jù)驅(qū)動.
經(jīng)典聚類算法如模糊聚類(FCM)和K均值聚類(K-means)往往適合于低維度、低特征數(shù)據(jù)[5-8].面對高維度的數(shù)據(jù)集,出現(xiàn)了許多改進(jìn)的聚類算法.模糊核聚類是聚類算法在模糊集理論上引入核函數(shù)作為映射的一種聚類算法.最常見的模糊核聚類是高斯核模糊聚類算法,因其較好的聚類性能而被廣泛應(yīng)用[9-12].上述聚類算法都是直接在數(shù)據(jù)集上進(jìn)行分析,無法對數(shù)據(jù)特征進(jìn)行有效提取,近年來,深度學(xué)習(xí)網(wǎng)絡(luò)作為有效自動特征分析方法在各種行業(yè)中得到了應(yīng)用[13-16],尤其是自動編碼器網(wǎng)絡(luò).自動編碼器是近幾年在特征提取中比較流行的研究方法,相比于誤差反向傳播算法(BP)、循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)等[17-19],它是無監(jiān)督的.但是現(xiàn)有的基于自動編碼器的聚類分析方法結(jié)合聚類與自動編碼來劃分?jǐn)?shù)據(jù)的類別時,它們往往是先把數(shù)據(jù)特征提取出來,然后再用聚類方法進(jìn)行類別劃分[6],這些聚類方法需要分兩步實施.
為了避免這種兩步走和盲目的先提取特征再聚類的方法,文中提出在自動編碼器最中間層新建一層,把模糊核聚類作為最中間一層嵌入到自動編碼器中去,并利用新的損失函數(shù)進(jìn)行反向傳播,最終實現(xiàn)聚類結(jié)果.文中用新的損失函數(shù)將高斯核模糊聚類嵌入自動編碼器中,并將其應(yīng)用到農(nóng)產(chǎn)品小麥數(shù)據(jù)的無監(jiān)督識別中.
聚類的目標(biāo)是根據(jù)每個數(shù)據(jù)點的隸屬度將數(shù)據(jù)分成具有相似屬性.FCM[4]作為一種經(jīng)典的聚類算法,它被廣泛地應(yīng)用在醫(yī)學(xué)成像、生物信息學(xué)、模式識別和數(shù)據(jù)挖掘中.與另一經(jīng)典聚類算法K-means相比,它在球形集群體現(xiàn)了更加優(yōu)越的性能[7].FCM算法的隸屬度描述了屬于聚類中心的數(shù)據(jù)點的不確定性,因此包含比清晰聚類更多的信息[8].
假設(shè)有N個數(shù)據(jù)點,輸入xi∈{X1,X2…,XN},聚類數(shù)為C.FCM算法是通過每個數(shù)據(jù)xi到第c個群集中心vc的距離,以求取每一個xi的最佳的隸屬度,從而可以獲得每個數(shù)據(jù)點xi的所屬類.FCM聚類算法優(yōu)化目標(biāo)公式為
(1)
FCM因使用歐氏距離,而對非線性數(shù)據(jù)沒有較好的分類能力.基于此,文獻(xiàn)[9]提出了核聚類(KFC),將聚類樣本映射到高維的特征空間,使其能夠線性可分,從而解決聚類樣本不可分的問題.但該模糊核聚類為隱核模糊均值聚類,沒有顯式的聚類中心表示,對模糊指標(biāo)較為敏感,而且只能對模糊隸屬度初始化.文獻(xiàn)[11]基于 Gauss 核函數(shù)的特殊性將核聚類目標(biāo)函數(shù)中的核函數(shù)變更為 Gauss 核,并提出高斯核模糊聚類(GKFCM).
(2)
通過公式(2),目標(biāo)函數(shù)可以展開到式(3):
(3)
且Ki≥0,1≤i≤N,1≤c≤C.
自動編碼器[10]是近年來出現(xiàn)的一種深度學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu),且在機器學(xué)習(xí)學(xué)科中很受歡迎.自動編碼器是由輸入層、隱藏層和輸出層三層神經(jīng)網(wǎng)絡(luò)構(gòu)成的神經(jīng)網(wǎng)絡(luò),由編碼層和解碼層組成,顧名思義,編碼層將輸入數(shù)據(jù)編碼為表示,解碼層則將表示解碼為具有最小損失的輸出,重構(gòu)誤差是衡量學(xué)習(xí)效果的依據(jù).
每層中的神經(jīng)元激活可以被視為原始輸入的表示,對于單個輸入數(shù)據(jù)x,一般的自動編碼器的計算過程為
(4)
其中自動編碼器共有L層,其中l(wèi)= 1,2,…,L,Yl表示第l層的神經(jīng)元,由輸入數(shù)據(jù)x推導(dǎo)而來,a和b是在訓(xùn)練自動編碼器保存的參數(shù)部分.g(·)是Relu激活函數(shù),Relu激活函數(shù)的定義如公式(5)所示:
(5)
文中提出的基于自動編碼器的高斯核聚類模型如圖1所示.
圖1 提出的基于自動編碼器的高斯核聚類模型
該過程主要有兩個模塊:自動編碼器模塊和自我表達(dá)層模塊.自動編碼器由輸入、隱藏層、輸出構(gòu)成,而自我表達(dá)層模塊則主要用來執(zhí)行高斯核映射和模糊聚類.假設(shè)自動編碼器有L層,設(shè)L/2=mid,自我表達(dá)層模塊在自動編碼器的部分用mid表示,文中在L/2層后嵌入一層自我表層模塊后,則模型層數(shù)變?yōu)長+1層.其中該帶自我表達(dá)層的自動編碼器的前L/2層對輸入進(jìn)行編碼,后L/2層進(jìn)行解碼,最中間層模塊進(jìn)行構(gòu)建高斯核矩陣并執(zhí)行聚類功能.
文中使用的疊堆編碼器是通過逐層訓(xùn)去噪自動編碼器構(gòu)建深度網(wǎng)絡(luò)的原始策略,每一層都是訓(xùn)練自動編碼器的隱藏層參數(shù),以對每層輸入的損壞后重建進(jìn)行去噪[12].相比于自動編碼器,疊堆編碼器能更快速地迭代收斂.文中重寫了公式(4),在公式(6)中,輸入數(shù)據(jù)的格式X為N×d的矩陣,N為數(shù)量,小麥粒數(shù),d為X的維度,即包含的屬性.公式(6)描述的過程即為前向傳播:
(6)
為了能讓網(wǎng)絡(luò)學(xué)習(xí)最佳參數(shù),需要最小化重構(gòu)數(shù)據(jù)與原始數(shù)據(jù)之間的誤差,并使其趨向聚類.文中提出了一個全新的損失函數(shù),該表達(dá)式為
(7)
在反向傳播中,文中使用隨機梯度下降來優(yōu)化網(wǎng)絡(luò).為使網(wǎng)絡(luò)的反向傳播的推導(dǎo)更加清晰,文中用J表示公式(7),得到公式(8):
J=J1+J2+J3,
(8)
并且令J1,J2和J3表示方程式(7)中的第1,第2和第3項,得到公式(9):
(9)
為方便公式的進(jìn)一步推進(jìn),讓上述式(9)中的兩項J1,J2分別對Z求導(dǎo),并寫作公式(10):
(10)
(11)
(12)
為了訓(xùn)練網(wǎng)絡(luò),所有權(quán)重wl和偏差bl應(yīng)該在訓(xùn)練之前隨機初始化,根據(jù)鏈?zhǔn)椒▌t,wl和bl的傳播由下式給出:
(13)
(14)
以上是帶自我表達(dá)層自動編碼器的推理過程,接下來將討論自我表達(dá)層模塊高斯核模糊聚類的推導(dǎo)過程.
自我表達(dá)層部分由上一層編碼器的輸出作為輸入,是一個全過程的核模糊聚類,并傳遞出3個神經(jīng)元到解碼層部分,來進(jìn)行自動編碼器的反向傳播.因此在該過程中,只要求解聚類中心Vc和隸屬度矩陣u,就可以知道最后的聚類的類別.現(xiàn)在文中來單獨求解損失函數(shù)中的J2部分,具體可以描述成求解公式(3)中的u和Vc,為方便表示,文中用T替代式(3),因此得到公式(15):
(15)
令公式(15)對聚類中心vc求偏導(dǎo),并令求導(dǎo)結(jié)果等于0,能夠獲得輸入空間的核聚類中心點vc,求導(dǎo)表示為公式(16),所求vc為公式(17).
(16)
(17)
為順利地求出u,固定v的值,同文獻(xiàn)[15]一樣,使用拉格朗日定理,并結(jié)合等式(18)后,求偏導(dǎo)數(shù)便可以解出uic.可以證明,所求uij如下:
(18)
(19)
最后,文中提出的新的基于自動編碼器網(wǎng)絡(luò)聚類算法AE-KFC算法流程描述如下:
輸入:數(shù)據(jù)X,λ1,λ2,學(xué)習(xí)率η,隸屬度m,聚類數(shù)C,高斯核參數(shù)σ,閾值ε.
1) 初始化的隸屬度矩陣u和初始化聚類中心點vj.
2) 通過前向傳播公式(6)得到自我表達(dá)層,進(jìn)行高斯核映射.
3) 重復(fù)迭代.
4) 通過公式(17)更新聚類中心vj.
5) 通過公式(19)更新隸屬度矩陣ut.
7) 通過前向傳播公式(6),得到輸出,當(dāng)iter 8) 通過公式(10)計算梯度. 9) 用公式(14)更新的wl和bl. 10) 迭代結(jié)束,用更新好的w和b,通過前向傳播,再訓(xùn)練一次編碼部分,得到自我表達(dá)層. 11) 在最后一層的自我表達(dá)層部分實行步驟3)-6). 輸出:聚類結(jié)果. 在本節(jié)中,將提出的AE-KFC應(yīng)用于農(nóng)產(chǎn)品的檢測中,以 UCI國際常用標(biāo)準(zhǔn)數(shù)據(jù)集中的Seeds數(shù)據(jù)為試驗數(shù)據(jù),來測試文中提出算法的性能.該數(shù)據(jù)源自實驗田的聯(lián)合收割的小麥籽粒,且盧布林的波蘭科學(xué)院農(nóng)業(yè)物理研究對3種小麥品種的籽粒進(jìn)行了記錄與預(yù)處理.該Seeds數(shù)據(jù)共有3個不同品種的小麥籽粒:卡瑪(Kama)、羅薩(Rosa)和加拿大(Canadian),每個品種的小麥粒各有70粒,共有210條樣品記錄,隨機取自所在的試驗樣本中.每粒小麥通過軟X射線技術(shù)得到7個幾何參數(shù):面積(area)、周長(perimeter)、緊湊度(compactness)、內(nèi)核長度(length of kernel)、內(nèi)核寬度(width of kernel)、偏度系數(shù)(asymmetry coefficient)及核槽長度(length of kernel groove).這7個幾何參數(shù)值作為聚類的屬性,構(gòu)成了文中輸入數(shù)據(jù)X中的d維度,也就是數(shù)據(jù)X是一個210×7的輸入矩陣.文中把各個屬性用它們的英文首字母表示,如表1所示. 表1 Seeds數(shù)據(jù) 與文獻(xiàn)[15]中使用的高斯核函數(shù)一樣,文中使用聚類中常用的高斯核作為基礎(chǔ)核函數(shù).高斯核函數(shù)可以表示為:Kij(xi,xj)=exp(-(xi·xj)T(xi·xi)/2σ2),σ=t0D0,D0是樣本xi之間的最大距離,選取σ的值為1,并且隸屬度m設(shè)置為1.08.把自動編碼器的學(xué)習(xí)率設(shè)為0.001,迭代循環(huán)次數(shù)10 000次,層數(shù)設(shè)為2層.影響該算法的因素還包括超參數(shù)λ1和λ2,在本試驗中,λ1設(shè)置為 1,λ2為0.5.以上參數(shù)均由大量試驗獲得.在這些參數(shù)下,AE-KFC在Seeds數(shù)據(jù)下取得最好的聚類效果. 考慮文獻(xiàn)[13-14]中的度量標(biāo)準(zhǔn),文中采用聚類準(zhǔn)確度(ACC)、歸一化信息(NMI) 、調(diào)整蘭德系數(shù)(ARI)、精確度(PRE)、召回率(RECALL)5個度量標(biāo)準(zhǔn)綜合評價AE-KFC算法的性能.所有這些度量值都落在[0,1]的區(qū)間內(nèi),它們的較大值表示更好的聚類結(jié)果.同時,為避免中間表達(dá)層部分隸屬度矩陣和聚類中心的隨機初始化等帶來的誤差,文中單獨將試驗運行20次后取均值,并且對比試驗FCM,K-means等算法,也同樣地運行了20次,以求得均值. 提出的AE-KFC算法在小麥籽粒上的識別率如表2所示.從表2可以看出,試驗結(jié)果比較理想,其中羅薩小麥品種準(zhǔn)確率高達(dá)97.1%,加拿大小麥品種的準(zhǔn)確率高達(dá)95.0%.卡瑪品種的結(jié)果不如羅薩和加拿大品種令人滿意,這意味著在使用小麥種子的主要幾何參數(shù)作為屬性時,卡瑪品種不能像羅薩和加拿大品種那樣明顯區(qū)分. 表2 AE-KFC算法在Seed數(shù)據(jù)集上的識別率 為了更加全面評估提出的AE-KFC算法在小麥粒種子識別上的性能,文中挑選了2種經(jīng)典算法K-means和FCM作為對比.AE-KFC的自我表達(dá)層部分組成核函數(shù)是高斯核,因此單個的核聚類算法G-KFC也添加到文中的對比試驗中.與此同時,多項式核模糊聚類P-KFC也被添加到對比試驗中.并且,還將文中提出的模型與對非線性數(shù)據(jù)聚類效果較好的多核算法親和聚合譜聚類(AASC)[17]、多核模糊聚類(MKFC)[15]比較.綜合表現(xiàn)結(jié)果如圖2所示. 圖2 各算法綜合表現(xiàn)的試驗結(jié)果 由圖2可以看出,AE-KFC的綜合表現(xiàn)最好,且在ACC,ARI,NMI,PRE,RECALL上的平均值分別為0.919,0.774,0.730,0.855,0.851.AE-KFC在準(zhǔn)確率上超出第二高的G-KFC約3.6%,超出經(jīng)典聚類算法K-means和FCM算法4.1%.在圖2 中不難發(fā)現(xiàn),P-KFC在小麥種子識別上效果最差,MKFC算法的組成函數(shù)中因包含多項式核函數(shù),因此性能表現(xiàn)一般. 影響AE-KFC算法的參數(shù)主要為超參數(shù)λ1,λ2.其中λ1用來調(diào)節(jié)最中間層的損失,λ2調(diào)節(jié)整個自動編碼器的網(wǎng)絡(luò)的大小.文中在其他參數(shù)如自動編碼器層數(shù),高斯核σ取值調(diào)到最優(yōu)且不變的情況下,做了以下參數(shù)對比試驗,試驗結(jié)果如表3所示,主要對比了幾組不同λ1,λ2值下的AE-KFC性能.從表3中可以看出,AE-KFC在λ1=1,λ2=0.5時,取得最好的試驗結(jié)果. 表3 不同超參數(shù)λ1,λ2取值下的AE-KFC性能 提出了一種基于自動編碼器的高斯核模糊聚類方法.該方法與現(xiàn)有的在自動編碼器上進(jìn)行研究的聚類方法不同,通過提出一個新的損失函數(shù)約束整個自動編碼器網(wǎng)絡(luò),而該損失函數(shù)能使整個網(wǎng)絡(luò)趨向于聚類,是一個基于自動編碼器端到端的聚類算法.通過試驗表明,AE-KFC算法在農(nóng)產(chǎn)品小麥種子上有較高的聚類準(zhǔn)確率.這也意味著該方法在農(nóng)產(chǎn)品的識別檢測中具有實際意義.3 試驗結(jié)果及分析
3.1 數(shù)據(jù)集
3.2 試驗設(shè)置
3.3 試驗比較與討論
3.4 參數(shù)分析
4 結(jié) 論