網(wǎng)站后臺(tái)卸載cmsdede安卓?jī)?yōu)化大師新版
文章目錄
- sklearn學(xué)習(xí)(25) 無(wú)監(jiān)督學(xué)習(xí)-神經(jīng)網(wǎng)絡(luò)模型(無(wú)監(jiān)督)
- 25.1 限制波爾茲曼機(jī)
- 25.1.1 圖形模型和參數(shù)化
- 25.1.2 伯努利限制玻爾茲曼機(jī)
- 25.1.3 隨機(jī)最大似然學(xué)習(xí)
sklearn學(xué)習(xí)(25) 無(wú)監(jiān)督學(xué)習(xí)-神經(jīng)網(wǎng)絡(luò)模型(無(wú)監(jiān)督)
文章參考網(wǎng)站:
https://sklearn.apachecn.org/
和
https://scikit-learn.org/stable/
25.1 限制波爾茲曼機(jī)
限制玻爾茲曼機(jī)(Restricted Boltzmann machines,簡(jiǎn)稱 RBM)是基于概率模型的無(wú)監(jiān)督非線性特征學(xué)習(xí)器。當(dāng)用 RBM 或多層次結(jié)構(gòu)的RBMs 提取的特征在饋入線性分類器(如線性支持向量機(jī)或感知機(jī))時(shí)通常會(huì)獲得良好的結(jié)果。
該模型對(duì)輸入的分布作出假設(shè)。目前,scikit-learn 只提供了 BernoulliRBM
,它假定輸入是二值(binary values)的,或者是 0 到 1 之間的值,每個(gè)值都編碼特定特征被激活的概率。
RBM 嘗試使用特定圖形模型最大化數(shù)據(jù)的似然。它所使用的參數(shù)學(xué)習(xí)算法(隨機(jī)最大似然)可以防止特征表示偏離輸入數(shù)據(jù)。這使得它能捕獲到有趣的特征,但使得該模型對(duì)于小數(shù)據(jù)集和密度估計(jì)不太有效。
該方法在初始化具有獨(dú)立 RBM 權(quán)值的深度神經(jīng)網(wǎng)絡(luò)時(shí)得到了廣泛的應(yīng)用。這種方法是無(wú)監(jiān)督的預(yù)訓(xùn)練。
示例:
- Restricted Boltzmann Machine features for digit classification
25.1.1 圖形模型和參數(shù)化
RBM 的圖形模型是一個(gè)全連接的二分圖。
節(jié)點(diǎn)是隨機(jī)變量,其狀態(tài)取決于它連接到的其他節(jié)點(diǎn)的狀態(tài)。這個(gè)模型可通過(guò)連接的權(quán)重、以及每個(gè)可見(jiàn)或隱藏單元的偏置項(xiàng)進(jìn)行參數(shù)化,為了簡(jiǎn)單起見(jiàn),我們省略了上圖中的偏置項(xiàng)。
用能量函數(shù)衡量聯(lián)合概率分布的質(zhì)量:
E ( v , h ) = ? ∑ i ∑ j w i j v i h j ? ∑ i b i v i ? ∑ j c j h j E(\mathbf{v}, \mathbf{h}) = -\sum_i \sum_j w_{ij}v_ih_j - \sum_i b_iv_i - \sum_j c_jh_j E(v,h)=?i∑?j∑?wij?vi?hj??i∑?bi?vi??j∑?cj?hj?
在上面的公式中, b \mathbf b 和 c \mathbf{c} c 分別是可見(jiàn)層和隱藏層的偏置向量。模型的聯(lián)合概率是根據(jù)能量來(lái)定義的:
P ( v , h ) = e ? E ( v , h ) Z P(\mathbf{v}, \mathbf{h}) = \frac{e^{-E(\mathbf{v}, \mathbf{h})}}{Z} P(v,h)=Ze?E(v,h)?
“限制”是指模型的二分圖結(jié)構(gòu),它禁止隱藏單元之間或可見(jiàn)單元之間的直接交互。 這代表以下條件獨(dú)立性成立:
h i ⊥ h j ∣ v v i ⊥ v j ∣ h h_i \bot h_j | \mathbf{v} \\ v_i \bot v_j | \mathbf{h} hi?⊥hj?∣vvi?⊥vj?∣h
二分圖結(jié)構(gòu)允許使用高效的塊吉比斯采樣(block Gibbs sampling)進(jìn)行推斷。
25.1.2 伯努利限制玻爾茲曼機(jī)
在 BernoulliRBM
中,所有單位都是二進(jìn)制隨機(jī)單元。這意味著輸入數(shù)據(jù)應(yīng)該是二值,或者是在 0 和 1 之間的實(shí)數(shù)值,其表示可見(jiàn)單元活躍或不活躍的概率。 這是一個(gè)很好的字符識(shí)別模型,其中的關(guān)注點(diǎn)是哪些像素是活躍的,哪些不是。 對(duì)于自然場(chǎng)景的圖像,它因?yàn)楸尘?、深度和相鄰像素趨?shì)取相同的值而不再適合。
每個(gè)單位的條件概率分布由其接收的輸入的 logistic sigmoid函數(shù)給出:
P ( v i = 1 ∣ h ) = σ ( ∑ j w i j h j + b i ) P ( h i = 1 ∣ v ) = σ ( ∑ i w i j v i + c j ) P(v_i=1|\mathbf{h}) = \sigma(\sum_j w_{ij}h_j + b_i) \\P(h_i=1|\mathbf{v}) = \sigma(\sum_i w_{ij}v_i + c_j) P(vi?=1∣h)=σ(j∑?wij?hj?+bi?)P(hi?=1∣v)=σ(i∑?wij?vi?+cj?)
其中 σ \sigma σ 是 logistic sigmoid函數(shù):
σ ( x ) = 1 1 + e ? x \sigma(x) = \frac{1}{1 + e^{-x}} σ(x)=1+e?x1?
25.1.3 隨機(jī)最大似然學(xué)習(xí)
在 BernoulliRBM
函數(shù)中實(shí)現(xiàn)的訓(xùn)練算法被稱為隨機(jī)最大似然(SML)或持續(xù)對(duì)比發(fā)散(PCD)。由于數(shù)據(jù)的似然函數(shù)的形式,直接優(yōu)化最大似然是不可行的:
log ? P ( v ) = log ? ∑ h e ? E ( v , h ) ? log ? ∑ x , y e ? E ( x , y ) \log P(v) = \log \sum_h e^{-E(v, h)} - \log \sum_{x, y} e^{-E(x, y)} logP(v)=logh∑?e?E(v,h)?logx,y∑?e?E(x,y)
為了簡(jiǎn)單起見(jiàn),上面的等式是針對(duì)單個(gè)訓(xùn)練樣本所寫(xiě)的。相對(duì)于權(quán)重的梯度由對(duì)應(yīng)于上述的兩個(gè)項(xiàng)構(gòu)成。根據(jù)它們的符號(hào),它們通常被稱為正梯度和負(fù)梯度。這種實(shí)現(xiàn)按照小批量樣本對(duì)梯度進(jìn)行計(jì)算。
在最大化對(duì)數(shù)似然度(maximizing the log-likelihood)的情況下,正梯度使模型更傾向于與觀察到的訓(xùn)練數(shù)據(jù)兼容的隱藏狀態(tài)。RBM 的二分體結(jié)構(gòu)使他可以被高效地計(jì)算。然而,負(fù)梯度是棘手的。其目標(biāo)是降低模型偏好的聯(lián)合狀態(tài)的能量,從而使數(shù)據(jù)保持真實(shí)。它可以使用塊吉比斯采樣通過(guò)馬爾可夫鏈蒙特卡羅來(lái)粗略估計(jì),它通過(guò)迭代地對(duì)每個(gè) v v v 和 h h h 進(jìn)行交互采樣,直到鏈混合。以這種方式產(chǎn)生的樣本有時(shí)被稱為幻想粒子。這是低效的,并且我們很難確定馬可夫鏈?zhǔn)欠窕旌稀?/p>
對(duì)比發(fā)散方法建議在經(jīng)過(guò)少量迭代后停止鏈,迭代數(shù) k k k 通常為 1。該方法快速且方差小,但樣本遠(yuǎn)離模型分布。
持續(xù)對(duì)比發(fā)散解決了這個(gè)問(wèn)題。在 PCD 中,我們保留了多個(gè)鏈(幻想粒子)來(lái)在每個(gè)權(quán)重更新之后更新 k k k 個(gè)吉比斯采樣步驟,而不是每次需要梯度時(shí)都啟動(dòng)一個(gè)新的鏈,并且只執(zhí)行一個(gè)吉比斯采樣步驟。這使得粒子能更徹底地探索空間。
參考資料:
“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