sklearn.neural network.BernoulliRBM
A sklearn.neural_network.BernoulliRBM is a Restricted Boltzmann Machines Training System within sklearn.neural_network
.
- Context
- Usage (unsupervised learning system):
- 1) Import RBM Training System from scikit-learn :
from sklearn.neural_network import BernoulliRBM
- 2) Input training data
X
- 3) Create RBM object:
rbm_model=BernoulliRBM([n_components=256, learning_rate=0.1, ...])
- 4) Choose method(s):
fit(X[, y])
, Fits the model to the data X.fit_transform(X[, y])
, Fits the model to the data X, then transform it.get_params([deep])
Gets parameters for this estimator.gibbs(v)
Performs one Gibbs sampling step.partial_fit(X[, y])
, Fits the model to the data X which should contain a partial segment of the data.score_samples(X),
, Computes the pseudo-likelihood of X.set_params(**params)
, Sets the parameters of this estimator.transform(X)
, Computes the hidden layer activation probabilities, P(h=1|v=X).
- 1) Import RBM Training System from scikit-learn :
- Example(s):
- Counter-Example(s):
- See: Restricted Boltzmann Machines, Support Vector Machines, Artificial Neural Network, Classification System, Stochastic Maximum Likelihood, Unsupervised Learning System.
References
2018a
- (Scikit-Learn, 2018) ⇒ http://scikit-learn.org/stable/modules/generated/sklearn.neural_network.BernoulliRBM.html Retrieved:2018-03-11
- QUOTE:
class sklearn.neural_network.BernoulliRBM(n_components=256, learning_rate=0.1, batch_size=10, n_iter=10, verbose=0, random_state=None)
source Bernoulli Restricted Boltzmann Machine (RBM).
A Restricted Boltzmann Machine with binary visible units and binary hidden units. Parameters are estimated using Stochastic Maximum Likelihood (SML), also known as Persistent Contrastive Divergence (PCD) [2].
The time complexity of this implementation is
O(d ** 2)
assuming d ~ n_features ~ n_components. Read more in the User Guide].
- QUOTE:
2018b
- (sklearn,2018) ⇒ http://scikit-learn.org/stable/modules/neural_networks_unsupervised.html#rbm Retrieved:2018-03-11
- QUOTE: Restricted Boltzmann machines (RBM) are unsupervised nonlinear feature learners based on a probabilistic model. The features extracted by an RBM or a hierarchy of RBMs often give good results when fed into a linear classifier such as a linear SVM or a perceptron.
The model makes assumptions regarding the distribution of inputs. At the moment, scikit-learn only provides BernoulliRBM, which assumes the inputs are either binary values or values between 0 and 1, each encoding the probability that the specific feature would be turned on.
The RBM tries to maximize the likelihood of the data using a particular graphical model. The parameter learning algorithm used (Stochastic Maximum Likelihood) prevents the representations from straying far from the input data, which makes them capture interesting regularities, but makes the model less useful for small datasets, and usually not useful for density estimation.
The method gained popularity for initializing deep neural networks with the weights of independent RBMs. This method is known as unsupervised pre-training (...)
- QUOTE: Restricted Boltzmann machines (RBM) are unsupervised nonlinear feature learners based on a probabilistic model. The features extracted by an RBM or a hierarchy of RBMs often give good results when fed into a linear classifier such as a linear SVM or a perceptron.