DBN中的RBM可以看作是先對數據進行無監督聚類,那麼這種聚類和K-MEANS等有什麼區別?具體是怎麼實現的?
01-24
我感覺每一層RBM可以理解成提取特徵、降維也可以理解成聚類,RBM的實現是根據可視層和隱層的聯合分布,然後做最大似然法估計。但我對估計過程中的GIBBS 採樣或者Contrastive Divergence過程的理解還是不夠,為什麼通過這樣的過程可以實現聚類或者降維。
RBM是個probability density estimator.
為什麼density estimator可以做clustering?如果樓主熟悉gaussian mixture model的話,應該知道GMM是一種"soft" clustering,同時也是可以估計每個sample的位置的density。如果考慮可以model real value的Gaussian RBM,不難發現其實Gaussian RBM就是一個Gaussian mixture model,包含了 個gaussian distribution,h是RBM hidden units的數量。
因此,RBM為什麼可以聚類,是和對Gibbs sampling和CD的理解無關的。
另外不難注意到,儘管有個gaussian,但是他們不是相互獨立的,只有h個自由度,也就實現了降維。對比散度CD看起來很炫,但是Hinton做了一些簡化,因此訓練RBM的過程類似於NN,不斷的feed-forward和back-prob,直到收斂。Hinton在C站的課,其中一個Programming Assignment就是實現RBM。
RBM是一個概率模型,它無監督地對輸入數據的分布建模,損失函數是基於定義能量的。交替對各層各節點做後驗概率更新,自然就是Gibbs採樣了,CD-k就是k歩Gibbs採樣。specifically:降維,取決於目標和構造,可以類比於NN。聚類,如果隱層節點是binary的,就可以理解成被分成了2^h個類,這也是和傳統聚類的區別。
p.s.
限制玻爾茲曼機不過就是帶二部無向圖的馬爾可夫隨機場Restricted Boltzmann Machine is MRF with bipartite undirected graphそれだけGIBBS 採樣只不過是一種優化的過程,你就把他想像成梯度下降就可以了。還有RBM不是聚類是降維。
推薦閱讀:
TAG:數據挖掘 | 機器學習 | 推薦演算法 | 聚類演算法 | 深度學習DeepLearning |