1. 程式人生 > >【Scikit-Learn 中文文件】神經網路模型(無監督)- 無監督學習

【Scikit-Learn 中文文件】神經網路模型(無監督)- 無監督學習

2.13.1.3. 隨機最大似然學習

在 BernoulliRBM 函式中實現的學習演算法被稱為隨機最大似然(Stochastic Maximum Likelihood (SML))或持續對比發散(Persistent Contrastive Divergence (PCD))。由於資料的似然函式的形式,直接優化最大似然是不可行的:

\log P(v) = \log \sum_h e^{-E(v, h)} - \log \sum_{x, y} e^{-E(x, y)}

為了簡單起見,上面的等式是針對單個訓練樣本所寫的。相對於權重的梯度由對應於上述的兩個項構成。根據它們的符號,它們通常被稱為正梯度和負梯度。在這種實現中,按照小批量梯度(mini-batches of samples )對梯度進行計算。

在 maximizing the log-likelihood (最大化對數似然度)的情況下,正梯度使模型更傾向於與觀察到的訓練資料相容的隱藏狀態。由於 RBM 的二分體結構,可以有效地計算。然而,負梯度是棘手的。其目標是降低模型偏好的聯合狀態的能量,從而使資料保持真實。可以通過馬爾可夫鏈蒙特卡羅近似,使用塊 Gibbs 取樣,通過迭代地對每個給定另一個的 v

 和 h 進行取樣,直到鏈混合。以這種方式產生的樣品有時被稱為幻想粒子。這是無效的,很難確定馬可夫鏈是否混合。

對比發散方法建議在經過少量迭代後停止鏈,k 通常為 1.該方法快速且方差小,但樣本遠離模型分佈。

持續的對比分歧解決這個問題。而不是每次需要梯度啟動一個新的鏈,並且只執行一個 Gibbs 取樣步驟,在 PCD 中,我們保留了在每個權重更新之後更新的 k Gibbs 步長的多個鏈(幻想粒子)。這使得顆粒更徹底地探索空間.