Deep Clustering Algorithms
作者:凱魯嘎吉 - 博客園 http://www.cnblogs.com/kailugaji/
本文研究路線:深度自編碼器(Deep Autoencoder)->Deep Embedded Clustering(DEC)->Improved Deep Embedded clustering(IDEC)->Deep Convolutional Embedded Clustering(DCEC)->Deep Fuzzy K-means(DFKM),其中Deep Autoencoder已經在深度自編碼器(Deep Autoencoder)MATLAB解讀中提到,也有很多深度自編碼器的改進方法,不詳細講解,重點談深度聚類演算法,如有不對之處,望指正,
深度聚類演算法的網路架構圖


深度聚類演算法的損失函式

1. Deep Embedded Clustering
1.1 Stochastic Neighbor Embedding (SNE)
SNE是一種非線性降維策略,兩個特征之間存在非線性相關性,主要用于資料可視化,PCA(主成成分分析)是一種線性降維策略,兩個特征之間存在線性相關性,SNE在原始空間(高維空間)中利用Gauss分布將資料點之間的距離度量轉化為條件概率,在映射空間(低維空間)中利用Gauss分布將映射點之間的距離度量轉化為條件概率,并利用KL散度來最小化高維空間與低維空間的條件概率,

SNE面臨的問題有兩個:(1)KL散度是一種非對稱度量,(2)擁擠問題,對于非對稱問題,定義pij,將非對稱度量轉化為對稱度量,但對稱度量仍然面臨擁擠問題,映射到低維空間中,映射點之間不能根據資料本身的特性很好地分開,

對于擁擠問題(The Crowding Problem)的解決,提出t-SNE,一種非線性降維策略,主要用于可視化資料,引入厚尾部的學生t分布,將低維空間映射點之間的距離度量轉化為概率分布t分布qij,使得不同簇之間的點能很好地分開,
1.2 t-SNE

1.3 Deep Embedded Clustering(DEC)
受t-SNE的啟發,提出DEC演算法,重新定義pij,它是根據qij得到的,相當于對qij增加權重,使得資料更尖銳化,隱層軟分配凸的更凸,微調階段,舍棄掉編碼器層,最小化KL散度作為損失函式,迭代更新引數,DEC通過降噪自編碼,逐層貪婪訓練后組合成堆疊式自編碼,然后撤去解碼層,僅使用編碼層,對提取出來的特征使用相對熵作為損失函式對網路進行微調,該結構可以同時對資料進行特征學習和聚類,但是DEC演算法沒有考慮微調會扭曲嵌入式空間,削弱嵌入式特征的代表性,從而影響聚類效果,
DEC演算法先使用整個網路進行預訓練,得到原始資料經過非線性映射到潛在特征空間的資料表示,即特征,然后對得到的特征用K-means演算法進行網路初始化,得到初始聚類中心,再使用相對熵迭代,微調網路,直至滿足收斂性判定準則停止,
補充一點,在得到隱層特征z之后,外加一層聚類層,聚類中心μ就是z與聚類層的連接權重,通過聚類層,得到KL散度損失函式,

2. Improved Deep Embedded Clustering(IDEC)
DEC丟棄解碼器層,并使用聚類損失Lc對編碼器進行微調,作者認為這種微調會扭曲嵌入空間,削弱嵌入特征的代表性,從而影響聚類性能,因此,提出保持解碼器層不變,直接將聚類損失附加到嵌入空間,IDEC演算法是對DEC演算法的改進,通過保存區域結構防止微調對嵌入式空間的扭曲,即在預訓練時,使用欠完備自編碼,微調時的損失函式采用相對熵和重建損失之和,以此來保障嵌入式空間特征的代表性,
基于區域結構保留的深度嵌入聚類IDEC是對DEC演算法的改進,通過保存區域結構方式避免微調時對嵌入空間的扭曲,IDEC演算法在預訓練結束后,對重建損失和聚類損失的加權和進行微調,在最大限度保證不扭曲嵌入空間的前提下,得到最優聚類結果,

3. Deep Convolutional Embedded Clustering(DCEC)
深度卷積嵌入聚類演算法(deep convolutional embedded clustering, DCEC),是在DEC原有網路基礎上,加入了卷積自編碼操作,并在特征空間保留資料區域結構,從而取得了更好聚類效果,
深度卷積嵌入聚類演算法DCEC是在IDEC演算法基礎上進行的改進,將編碼層和解碼層中的全連接換成卷積操作,這樣可以更好地提取層級特征,圖中編碼層和解碼層各有3層卷積,卷積層后加了一個flatten操作拉平特征向量,以獲得10維特征,DCEC只是將IDEC的所有全連接操作換成卷積操作,其損失函式依舊是重建損失和聚類損失之和,

4. Deep Fuzzy K-means(DFKM)
Deep Fuzzy K-means同樣在低維映射空間中加入聚類程序,將特征提取與聚類同時進行,引入熵加權的模糊K-means,不采用原來的歐氏距離,而是自己重新定義度量準則,權值偏置的正則化項防止過擬合,提高泛化能力,




5. 參考文獻
[1] Maaten L, Hinton G. Visualizing data using t-SNE[J]. Journal of machine learning research, 2008, 9(Nov): 2579-2605.
[2] Vincent P, Larochelle H, Lajoie I, et al. Stacked denoising autoencoders: Learning useful representations in a deep network with a local denoising criterion[J]. Journal of machine learning research, 2010, 11(Dec): 3371-3408.
[3] Xie J, Girshick R, Farhadi A. Unsupervised deep embedding for clustering analysis[C]//International conference on machine learning. 2016: 478-487.
[4] Guo X, Gao L, Liu X, et al. Improved deep embedded clustering with local structure preservation[C]//IJCAI. 2017: 1753-1759.
[5] Guo X, Liu X, Zhu E, et al. Deep clustering with convolutional autoencoders[C]//International Conference on Neural Information Processing. Springer, Cham, 2017: 373-382.
[6] Zhang R, Li X, Zhang H, et al. Deep Fuzzy K-Means with Adaptive Loss and Entropy Regularization[J]. IEEE Transactions on Fuzzy Systems, 2019.
[7] t-SNE相關資料:t-SNE完整筆記、An illustrated introduction to the t-SNE algorithm、從SNE到t-SNE再到LargeVis、t-SNE演算法-CSDN
[8] DEC與IDEC的Python代碼-Github、DEC-Keras-Github、piiswrong/dec-Github、DCEC-Github
[9] DFKM的Python代碼-Github
[10] 謝娟英,侯琦,曹嘉文. 深度卷積自編碼影像聚類演算法[J]. 計算機科學與探索, 2019, 13(4): 586-595.DOI:10.3778/j.issn.1673-9418.1806029.
[11] Deep Clustering: methods and implements-Github 深度聚類會議論文匯總
[12] Deep Clustering | Deep Learning Notes
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/55448.html
標籤:其他
上一篇:貝葉斯決策理論(1)
下一篇:自然語言處理學習筆記之一:概要
