当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。