當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python sklearn BernoulliRBM用法及代碼示例


本文簡要介紹python語言中 sklearn.neural_network.BernoulliRBM 的用法。

用法:

class sklearn.neural_network.BernoulliRBM(n_components=256, *, learning_rate=0.1, batch_size=10, n_iter=10, verbose=0, random_state=None)

伯努利受限玻爾茲曼機 (RBM)。

具有二進製可見單元和二進製隱藏單元的受限玻爾茲曼機。使用隨機最大似然 (SML) 估計參數,也稱為持續對比散度 (PCD) [2]。

此實現的時間複雜度為O(d ** 2),假設 d ~ n_features ~ n_components。

在用戶指南中閱讀更多信息。

參數

n_components整數,默認=256

二元隱藏單元的數量。

learning_rate浮點數,默認=0.1

權重更新的學習率。強烈建議調整該超參數。合理的值在 10**[0., -3.] 範圍內。

batch_size整數,默認=10

每個小批量的示例數。

n_iter整數,默認=10

訓練期間要在訓練數據集上執行的迭代/掃描次數。

verbose整數,默認=0

詳細程度。默認值為零,表示靜音模式。值的範圍是 [0, inf]。

random_stateint、RandomState 實例或無,默認=無

確定隨機數生成:

  • Gibbs 從可見層和隱藏層采樣。
  • 初始化組件,在擬合期間從層中采樣。
  • 對樣本進行評分時損壞數據。

傳遞 int 以獲得跨多個函數調用的可重現結果。請參閱詞匯表。

屬性

intercept_hidden_形狀類似數組 (n_components,)

隱藏單元的偏差。

intercept_visible_形狀類似數組 (n_features,)

可見單位的偏差。

components_形狀類似數組 (n_components, n_features)

權重矩陣,其中n_features是可見單元的數量,n_components是隱藏單元的數量。

h_samples_形狀類似數組 (batch_size, n_components)

從模型分布中采樣的隱藏激活,其中batch_size 是每個小批量的示例數,n_components 是隱藏單元的數量。

n_features_in_int

擬合期間看到的特征數。

feature_names_in_ndarray 形狀(n_features_in_,)

擬合期間看到的特征名稱。僅當 X 具有全為字符串的函數名稱時才定義。

參考

[1] Hinton, G. E.、Osindero, S. 和 Teh, Y. 一種快速學習算法

深信網。神經計算 18,第 1527-1554 頁。https://www.cs.toronto.edu/~hinton/absps/fastnc.pdf

[2] Tieleman, T. 訓練受限玻爾茲曼機使用

似然梯度的近似值。機器學習國際會議 (ICML) 2008

例子

>>> import numpy as np
>>> from sklearn.neural_network import BernoulliRBM
>>> X = np.array([[0, 0, 0], [0, 1, 1], [1, 0, 1], [1, 1, 1]])
>>> model = BernoulliRBM(n_components=2)
>>> model.fit(X)
BernoulliRBM(n_components=2)

相關用法


注:本文由純淨天空篩選整理自scikit-learn.org大神的英文原創作品 sklearn.neural_network.BernoulliRBM。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。