中文文檔: http://sklearn.apachecn.org/cn/stable/modules/neural_networks_unsupervised.html
英文文檔: http://sklearn.apachecn.org/en/stable/modules/neural_networks_unsupervised.html
官方文檔: http://scikit-learn.org/stable/
GitHub: https://github.com/apachecn/scikit-learn-doc-zh(覺得不錯麻煩給個 Star,我們一直在努力)
貢獻者: https://github.com/apachecn/scikit-learn-doc-zh#貢獻者
關於我們: http://www.apachecn.org/organization/209.html
2.13. 神經網絡模型(無監督)
2.13.1. 限制波爾茲曼機
Restricted Boltzmann machines (RBM)(限制玻爾茲曼機)是基於概率模型的無監督非線性特徵學習器。當用 RBM 或 RBMs 中的層次結構提取的特徵在饋入線性分類器(如線性支持向量機或感知機)時通常會獲得良好的結果。
該模型對輸入的分佈作出假設。目前,scikit-learn 只提供了 BernoulliRBM
,它假定輸入是二值的,或者是
0 到 1 之間的值,每個值都編碼特定特徵被激活的概率。
RBM 嘗試使用特定圖形模型最大化數據的可能性。所使用的參數學習算法( Stochastic Maximum Likelihood (隨機最大似然))要防止特徵表示偏離輸入數據,這使得它們能學習到有趣的特徵,但使得該模型對於小數據集不太有用且通常對於密度估計無效。
該方法隨着獨立RBM的權重初始化深層神經網絡而普及。這種方法被稱爲無監督的預訓練(unsupervised pre-training)。
2.13.1.1. 圖形模型和參數化
RBM 的圖形模型是一個全連接的二分圖(fully-connected bipartite graph)。
節點是隨機變量,其狀態取決於它連接到的其他節點的狀態。 因此,爲了簡單起見,模型被參數化爲連接的權重以及每個可見和隱藏單元的一個偏置項。 我們用能量函數衡量聯合概率分佈的質量:
在上面的公式中, 和 分別是可見層和隱藏層的偏置向量。 模型的聯合概率是根據能量來定義的:
“限制”是指模型的二分圖結構,它禁止隱藏單元之間或可見單元之間的直接交互。 這代表以下條件獨立性成立:
二分圖結構允許使用高效的塊吉比斯採樣(block Gibbs sampling)進行推斷。
2.13.1.2. 伯努利限制玻爾茲曼機
在 BernoulliRBM
中,所有單位都是二進制隨機單元。
這意味着輸入數據應該是二進制的,或者在 0 和 1 之間的實數值表示可見單元活躍或不活躍的概率。 這是一個很好的字符識別模型,其中的關注點是哪些像素是活躍的,哪些不是。 對於自然場景的圖像,它不再適合,因爲背景,深度和相鄰像素的趨勢取相同的值。
每個單位的條件概率分佈由其接收的輸入的sigmoid函數給出:
其中 是Sigmoid函數:
2.13.1.3. 隨機最大似然學習
在 BernoulliRBM
函數中實現的學習算法被稱爲隨機最大似然(Stochastic
Maximum Likelihood (SML))或持續對比發散(Persistent Contrastive Divergence (PCD))。由於數據的似然函數的形式,直接優化最大似然是不可行的:
爲了簡單起見,上面的等式是針對單個訓練樣本所寫的。相對於權重的梯度由對應於上述的兩個項構成。根據它們的符號,它們通常被稱爲正梯度和負梯度。在這種實現中,按照小批量梯度(mini-batches of samples )對梯度進行計算。
在 maximizing the log-likelihood (最大化對數似然度)的情況下,正梯度使模型更傾向於與觀察到的訓練數據兼容的隱藏狀態。由於 RBM 的二分體結構,可以有效地計算。然而,負梯度是棘手的。其目標是降低模型偏好的聯合狀態的能量,從而使數據保持真實。可以通過馬爾可夫鏈蒙特卡羅近似,使用塊 Gibbs 採樣,通過迭代地對每個給定另一個的 和 進行採樣,直到鏈混合。以這種方式產生的樣品有時被稱爲幻想粒子。這是無效的,很難確定馬可夫鏈是否混合。
對比發散方法建議在經過少量迭代後停止鏈, 通常爲 1.該方法快速且方差小,但樣本遠離模型分佈。
持續的對比分歧解決這個問題。而不是每次需要梯度啓動一個新的鏈,並且只執行一個 Gibbs 採樣步驟,在 PCD 中,我們保留了在每個權重更新之後更新的 Gibbs 步長的多個鏈(幻想粒子)。這使得顆粒更徹底地探索空間.
參考文獻:
- “A fast learning algorithm for deep belief nets” G. Hinton, S. Osindero, Y.-W. Teh, 2006
- “Training Restricted Boltzmann Machines using Approximations to the Likelihood Gradient” T. Tieleman, 2008
中文文檔: http://sklearn.apachecn.org/cn/stable/modules/neural_networks_unsupervised.html
英文文檔: http://sklearn.apachecn.org/en/stable/modules/neural_networks_unsupervised.html
官方文檔: http://scikit-learn.org/stable/
GitHub: https://github.com/apachecn/scikit-learn-doc-zh(覺得不錯麻煩給個 Star,我們一直在努力)
貢獻者: https://github.com/apachecn/scikit-learn-doc-zh#貢獻者
關於我們: http://www.apachecn.org/organization/209.html
有興趣的們也可以和我們一起來維護,持續更新中 。。。
機器學習交流羣: 629470233