国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于稀疏自編碼器和高斯混合模型的手寫數(shù)據(jù)集分類

2021-05-11 07:27馬雙寶高夢圓胡江宇賈樹林董玉婕
關(guān)鍵詞:降維編碼器高斯

馬雙寶,高夢圓,胡江宇,賈樹林,董玉婕

(武漢紡織大學(xué) 機(jī)械工程與自動化學(xué)院,湖北 武漢 430200)

深度學(xué)習(xí)是當(dāng)今較為火熱的領(lǐng)域之一。對于大量的樣本進(jìn)行學(xué)習(xí),深度學(xué)習(xí)網(wǎng)絡(luò)比其他的機(jī)器學(xué)習(xí)算法表現(xiàn)結(jié)果更為出色,但是現(xiàn)實(shí)生活當(dāng)中并沒有大量的標(biāo)簽數(shù)據(jù)。人類可以對新的事物只需要觀察一次,在下次出現(xiàn)時(shí)就可以清楚地進(jìn)行辨認(rèn)。因此在處理小樣本問題,李飛飛等人[1]在2006 年提出了one-shot問題,并且利用了貝葉斯推測方法對小樣本進(jìn)行分類,并取得較好成績,成為小樣本學(xué)習(xí)的開端。C. Finn,P. Abbeel 等人[2]根據(jù)元學(xué)習(xí)模型,提出了MAML 算法,根據(jù)訓(xùn)練不同得到的先驗(yàn)知識來指導(dǎo)新的任務(wù),該模型取得不錯的泛化能力,但是該模型需要預(yù)先訓(xùn)練,對參數(shù)調(diào)節(jié)具有一定要求。Oriol Vinyals 等人[3]提出了匹配網(wǎng)絡(luò)對數(shù)據(jù)進(jìn)行聚類分析,該網(wǎng)絡(luò)可以對多個類別進(jìn)行判別。Pake Snel 等人[4]提出了基于原型網(wǎng)絡(luò)的聚類算法,它是通過新數(shù)據(jù)對原型網(wǎng)絡(luò)的距離來衡量數(shù)據(jù)的類別的一種聚類算法。該算法只是通過簡單的歐式距離作為聚類的標(biāo)準(zhǔn),對于有些樣本來說,泛化能力較差。Sachin Ravi 等人提出了基于優(yōu)化的模型采用LSTM 來對小樣本問題進(jìn)行優(yōu)化求解,但是模型復(fù)雜度過高,對樣本存在過擬合問題。

上述方法均沒有對樣本的維度進(jìn)行降維處理,小樣本數(shù)據(jù)進(jìn)行特征提取,由于維度過高會導(dǎo)致過擬合問題,而且維度過高對計(jì)算帶來巨大運(yùn)算問題。針對上述問題,本文采用一種基于稀疏編碼器降維算法,首先對數(shù)據(jù)進(jìn)行低維壓縮處理,防止樣本數(shù)量過少導(dǎo)致過擬合問題,然后利用高斯混合模型對數(shù)據(jù)進(jìn)行聚類分析。

1 相關(guān)模型

1.1 稀疏自編碼器模型

傳統(tǒng)的降維算法主要采用主成分分析法對數(shù)據(jù)進(jìn)行降維處理。主成分分析法采用將線性相關(guān)的一些變量通過正交變換轉(zhuǎn)化成為一組少量的線性無關(guān)的變量表示。該算法屬于一種線性變換,但是現(xiàn)實(shí)生活當(dāng)中的數(shù)據(jù)往往呈現(xiàn)非線性關(guān)系,因此降維后的效果往往不是很好。

本文采用自編碼網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)維度的自動壓縮。自編碼器是一種神經(jīng)網(wǎng)絡(luò)模型,該網(wǎng)絡(luò)可以自動進(jìn)行特征提取,不需要人為進(jìn)行特征運(yùn)算。自編碼器是一種無監(jiān)督學(xué)習(xí)方法,因此采用該網(wǎng)絡(luò)對標(biāo)簽有無沒有關(guān)系,它通過輸入和輸出的損失作為損失函數(shù)進(jìn)行反向傳播,是一種非線性的降維方法。在一定層度上能夠保證輸入和輸出的大部分信息完整并且具有較強(qiáng)的泛化能力。

圖1 采用PCA 將維度降低到20 圖像

圖2 采用中間層維度為20 圖像

圖3 采用中間隱藏層為16 圖像

如圖1-3 所示為采用PCA 降維算法和自編碼器算法進(jìn)行數(shù)據(jù)降維效果,從圖中可以看出,將原始圖像的特征維度同樣壓縮至20,采用PCA 算法進(jìn)行圖像復(fù)原,有些圖片出現(xiàn)模糊,而采用自編碼圖片依然可以清晰看見。因此采用自編碼器對數(shù)據(jù)降維效果好于PCA 算法。

自編碼器由兩部分組成:編碼器和解碼器。編碼器對數(shù)據(jù)進(jìn)行降維處理,編碼器對數(shù)據(jù)進(jìn)行重塑。中間隱藏層為我們需要進(jìn)行降維處理的數(shù)據(jù)維度(見圖4)。

為了在數(shù)據(jù)降維過程當(dāng)中提取較好的特征,我們在損失函數(shù)中添加正則項(xiàng)增減網(wǎng)絡(luò)的稀疏性(見圖5-圖8)。

圖4 自編碼器網(wǎng)絡(luò)工作原理圖

圖5 隱藏層為32 的普通編碼器損失曲線

圖6 隱藏層為16 的稀疏自編碼器損失曲線

圖7 中間隱藏層為32 的普通編碼器精度曲線

圖8 中間隱藏層為16 的稀疏自編碼器精度曲線

從圖5-圖8 中可以看出,采用稀疏編碼器的網(wǎng)絡(luò)首先較快,而未采用稀疏編碼器的網(wǎng)絡(luò)收斂較慢,普通自編碼器的網(wǎng)絡(luò)過擬合比較嚴(yán)重。因此,我們采用稀疏編碼器對原始數(shù)據(jù)進(jìn)行降維處理。

圖9 稀疏編碼器中間隱藏層為2 原始圖像與重建圖像

圖10 普通自編碼器中間隱藏層為2 原始圖像與重建圖像

現(xiàn)在將中間隱藏層的維度降低為2,這樣直接可以對數(shù)據(jù)進(jìn)行可視化操作,但是將中間隱藏層的維度設(shè)置為2 時(shí),經(jīng)過解碼器后圖像變得比較模糊(見圖9-圖10),顯然直接將中間隱藏層的神經(jīng)元個數(shù)設(shè)置為2 不可行。首先將中間神經(jīng)元個數(shù)設(shè)定某一值,讓后再繼續(xù)利用降維方法將維度繼續(xù)降低。

1.2 T-SNE 算法

T-SNE 算法(t-distributed stochastic neighbor embedding,T-SNE)是一種無監(jiān)督的降維算法。 T-SNE 算法能夠有效對高位數(shù)據(jù)進(jìn)行非線性降維。

假設(shè)n 維空間數(shù)據(jù)點(diǎn){x1,x2,…,xN},則數(shù)據(jù)e 間的兩兩相似條件概率為:

利用梯度下降法對KL 進(jìn)行迭代求解得到原始數(shù)據(jù)經(jīng)過降維后的數(shù)據(jù)。圖11 為利用T-SNE 算法將數(shù)據(jù)維度降為2 的圖像。

圖11 利用T-SNE 算法將數(shù)據(jù)維度降為2 的圖像

1.3 基于高斯混合模型原型聚類

經(jīng)過T-SNE 算法將高位數(shù)據(jù)降維到2 維空間,現(xiàn)在需要對數(shù)據(jù)進(jìn)行分析。

聚類算法屬于無監(jiān)督學(xué)習(xí)方法,該算法不需要對樣本進(jìn)行標(biāo)記,通過數(shù)據(jù)的內(nèi)在規(guī)律,對數(shù)據(jù)進(jìn)行自動歸類的一種算法。

Pake Snell 等人[4]利用基于原型的聚類算法對數(shù)據(jù)進(jìn)行處理。該算法需要從數(shù)據(jù)集當(dāng)中找一組初始化的原型向量,通過新數(shù)據(jù)與原型向量間的距離度量,找到離樣本距離最近原型向量來進(jìn)行類別劃分。該算法性能好壞主要取決于原型向量選取與樣本距離度量方式的選擇。

其中Sk表示第k 個類別的樣本數(shù)目,f?表示映射函數(shù),ck表示原型。

公式(6)代表利用映射函數(shù)f?,將輸入數(shù)據(jù)xi轉(zhuǎn)換為特征向量,然后通過幾組特征向量加和求均值得到原型向量ck。

然后利用原型向量與新樣本之間的歐式距離來度量樣本的相似性。新的樣本通過距離原型向量距離最小來劃分到該原型網(wǎng)絡(luò)的類別。該算法性能好壞取決于原型向量的選取。而且樣本之間距離的度量采用歐式距離并不能準(zhǔn)確表示樣本差距,因此本文采用基于高斯混合模型的聚類方法。

高斯混合模型以概率為基礎(chǔ)進(jìn)行原型聚類,是典型的生成式模型。高斯混合模型采用多個多元高斯混合分布來估計(jì)樣本的概率分布。

公式(8)表示多元高斯分布,其中μ,∑表示高斯分布的均值和協(xié)方差。

采用k 個類別的多元高斯混合分布來進(jìn)行數(shù)據(jù)的概率密度估計(jì)。其定義的分布為:

其中,μi,∑i表示第 i個高斯分布的期望與協(xié)方差,αi表示取得第i個混合成分的概率。

高斯混合模型是典型的生成概率模型:首先根據(jù)αi選擇第i個混合成分,讓后根據(jù)相應(yīng)混合成份來生成數(shù)據(jù)。設(shè)樣本xj在k 個族中劃分的標(biāo)記為λj。采用高斯混合模型進(jìn)行聚類時(shí),我們進(jìn)行優(yōu)化求解采用最大后驗(yàn)概率,即給定樣本xj是第i個混合成分生成的后驗(yàn)概率γij的最大化。

由于等式當(dāng)中含有隱變量αi,因此采用EM 算法進(jìn)行求解。該算法分兩步:E-Setp,求期望;M-step,計(jì)算新一輪的模型參數(shù)估計(jì)值。重復(fù)E-Step 和M-Step 直到模型收斂。

E-Step:依據(jù)當(dāng)前的參數(shù),計(jì)算每個j數(shù)據(jù)來自子模型k 的可能性。

通過不斷更新E-Step 和M-Step,最終得到收斂,求解極大后驗(yàn)概率值。

2 仿真實(shí)驗(yàn)與分析

本文首先采用稀疏自編碼器對數(shù)據(jù)進(jìn)行降維處理,由于將中間隱藏層維度設(shè)置為2,經(jīng)過解碼器圖像已經(jīng)變得模糊,采用T-SNE 算法對中間隱藏層維度繼續(xù)進(jìn)行降維處理得到二維圖像。采用高斯混合模型對二維數(shù)據(jù)進(jìn)行極大后驗(yàn)概率估計(jì),由于含有隱變量,采用EM 算法進(jìn)行迭代求解,最后得到聚類結(jié)果。在稀疏編碼器設(shè)計(jì)輸入數(shù)據(jù)的維度為128,全連接層有兩層,維度分別為64 和16,解碼器和編碼器結(jié)構(gòu)對稱。為了增加自編碼器的稀疏性,在中間隱藏層加入L1 正則化。正則化會使很多隱藏層神經(jīng)元權(quán)重變?yōu)?,使得神經(jīng)元變得稀疏。采用交叉熵作為損失函數(shù)來作為輸入數(shù)據(jù)和輸出數(shù)據(jù)的損失函數(shù)。采用Adam 作為優(yōu)化器,每次喂入神經(jīng)元數(shù)據(jù)為128,迭代50 次。在經(jīng)過T-SNE 算法和高斯混合模型時(shí),類別個數(shù)設(shè)置為10。本文采用的數(shù)據(jù)集為mnist 手寫數(shù)據(jù)集,該數(shù)據(jù)集公共有60000 張測試圖片和10000 張訓(xùn)練圖片,每張圖片的大小為28*28。

為了進(jìn)一步探討,采用卷積神經(jīng)網(wǎng)絡(luò)對手寫數(shù)據(jù)集進(jìn)行分類。

3 實(shí)驗(yàn)結(jié)果與分析

利用上述方法對手寫數(shù)據(jù)集進(jìn)行聚類結(jié)果如圖12-圖15 所示。圖16 和圖17 為稀疏自編碼器損失曲線和精確度曲線。在訓(xùn)練集訓(xùn)練精度為0.89025,在測試集的訓(xùn)練精度為0.896。從圖16 和圖17 中可以看出,采用稀疏編碼器的損失曲線和精確度曲線差別不大,對數(shù)據(jù)進(jìn)行降維處理在一定程度上防止了數(shù)據(jù)的過擬合。

圖12 手寫數(shù)字0 聚類

圖13 手寫數(shù)字1 聚類

圖14 手寫數(shù)字2 聚類

圖15 數(shù)字3 聚類結(jié)果

圖17 稀疏自編碼器網(wǎng)絡(luò)準(zhǔn)確度曲線

圖18 采用卷積神經(jīng)網(wǎng)絡(luò)損失曲線

從圖16-圖19 中可以看出,采用卷進(jìn)神經(jīng)網(wǎng)絡(luò)在訓(xùn)練集和測試集合出現(xiàn)過擬合,而采用稀疏自編碼器網(wǎng)路訓(xùn)練集和測試集曲線能夠很好擬合。本文采用的稀疏自編碼器網(wǎng)絡(luò)對數(shù)據(jù)降維,和高斯混合模型對數(shù)據(jù)集進(jìn)行聚類均為無監(jiān)督學(xué)習(xí)算法,因此不需要預(yù)先知道樣本的標(biāo)簽,具有較好的自適應(yīng)能力。但是,在精度上,采用卷積神經(jīng)網(wǎng)絡(luò)優(yōu)于本文算法。

4 總結(jié)

本文采用稀疏編碼器對數(shù)據(jù)進(jìn)行降維處理,中間隱藏層維度設(shè)置為2,對數(shù)據(jù)進(jìn)行可視化,然后再利用解碼器進(jìn)行圖像解碼,但圖像模糊。因此直接中間隱藏層神經(jīng)元個數(shù)設(shè)置為2 不合適,需要進(jìn)一步進(jìn)行降維。考慮到本文采用無監(jiān)督算法,因此采用T-SNE 算法對中間隱藏層數(shù)據(jù)進(jìn)行降維處理。然后采用高斯混合模型對數(shù)據(jù)進(jìn)行降維處理。在整個算法的過程當(dāng)中,都是無監(jiān)督學(xué)習(xí),因此不需要數(shù)據(jù)對應(yīng)的標(biāo)簽,減少了人工成本。本文算法不足之處在于并非一種完全端到端學(xué)習(xí)。在對小樣本學(xué)習(xí)探索中,缺乏對多個類別小樣本的探索。在精度方面低于卷積神經(jīng)網(wǎng)絡(luò),需要對模型進(jìn)行優(yōu)化,進(jìn)一步提高精度。

猜你喜歡
降維編碼器高斯
混動成為降維打擊的實(shí)力 東風(fēng)風(fēng)神皓極
WV3650M/WH3650M 絕對值旋轉(zhuǎn)編碼器
基于數(shù)據(jù)降維與聚類的車聯(lián)網(wǎng)數(shù)據(jù)分析應(yīng)用
設(shè)定多圈絕對值編碼器當(dāng)前圈數(shù)的方法
轉(zhuǎn)爐系統(tǒng)常用編碼器選型及調(diào)試
舞臺機(jī)械技術(shù)與設(shè)備系列談(二)
——編碼器
大氣腐蝕數(shù)據(jù)降維最優(yōu)維度研究
降維打擊
數(shù)學(xué)王子高斯
天才數(shù)學(xué)家——高斯
栖霞市| 太保市| 深州市| 全南县| 乃东县| 嘉鱼县| 外汇| 吉安市| 开远市| 凉山| 黔西| 集安市| 勃利县| 桦南县| 安达市| 康平县| 调兵山市| 洛宁县| 高青县| 昭平县| 安远县| 阿勒泰市| 文水县| 萨嘎县| 阜阳市| 唐海县| 上杭县| 曲水县| 光山县| 赫章县| 卢龙县| 封丘县| 陇南市| 牙克石市| 仁怀市| 曲麻莱县| 涿鹿县| 依安县| 湟中县| 灌阳县| 上蔡县|