sklearn.neural_network.BernoulliRBM

class sklearn.neural_network.BernoulliRBM

Máquina de Boltzmann restringida de Bernoulli (RBM).

Una máquina de Boltzmann restringida con unidades visibles binarias y unidades ocultas binarias. Los parámetros se estiman utilizando la máxima verosimilitud estocástica (SML), también conocida como divergencia contrastiva persistente (PCD) [2].

La complejidad del tiempo de esta implementación es O(d ** 2) asumiendo d ~ n_features ~ n_components.

Lee más en el Manual de usuario.

Parámetros
n_componentsentero, default=256

Número de unidades binarias ocultas.

learning_rateflotante, default=0.1

La tasa de aprendizaje para las actualizaciones de peso. Es altamente recomendable afinar este hiperparámetro. Los valores razonables están en el rango de 10**[0., -3.].

batch_sizeentero, default=10

Número de ejemplos por minilote.

n_iterentero, default=10

Número de iteraciones/barridos sobre el conjunto de datos de entrenamiento para realizar durante el entrenamiento.

verboseentero, default=0

El nivel de verbosidad. El valor predeterminado, cero, significa modo silencioso.

random_stateentero, instancia de RandomState o None, default=None

Determina la generación de números aleatorios para:

  • Muestreo de Gibbs de capas visibles y ocultas.

  • Inicializar componentes, muestreo de capas durante el ajuste.

  • Corrompiendo los datos al marcar muestras.

Pase un entero para obtener resultados reproducibles a través de múltiples llamadas a la función. Ver Glosario.

Atributos
intercept_hidden_array-like de forma (n_components,)

Sesgos de las unidades ocultas.

intercept_visible_array-like de forma (n_features,)

Sesgos de las unidades visibles.

components_array-like de forma (n_components, n_features)

La matriz de ponderaciones, donde n_features en el número de unidades visibles y n_components es el número de unidades ocultas.

h_samples_array-like de forma (batch_size, n_components)

Activación oculta muestreada a partir de la distribución del modelo, donde batch_size en el número de ejemplos por minilotes y n_components es el número de unidades ocultas.

Referencias

[1] Hinton, G. E., Osindero, S. and Teh, Y. A fast learning algorithm for

deep belief nets. Neural Computation 18, pp 1527-1554. https://www.cs.toronto.edu/~hinton/absps/fastnc.pdf

[2] Tieleman, T. Training Restricted Boltzmann Machines using

Approximations to the Likelihood Gradient. International Conference on Machine Learning (ICML) 2008

Ejemplos

>>> 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)

Métodos

fit

Ajusta el modelo a los datos X.

fit_transform

Ajusta a los datos y luego los transforma.

get_params

Obtiene los parámetros para este estimador.

gibbs

Realiza un paso de muestreo de Gibbs.

partial_fit

Ajusta el modelo a los datos X que deben contener un segmento parcial de los datos.

score_samples

Calcula la pseudoverosimilitud de X.

set_params

Establece los parámetros de este estimador.

transform

Calcula las probabilidades de activación de capa oculta, P(h=1|v=X).

fit()

Ajusta el modelo a los datos X.

Parámetros
X{array-like, sparse matrix} de forma (n_samples, n_features)

Datos de entrenamiento.

Devuelve
selfBernoulliRBM

El modelo ajustado.

fit_transform()

Ajusta a los datos y luego los transforma.

Ajusta el transformador a X y y con los parámetros opcionales fit_params y devuelve una versión transformada de X.

Parámetros
Xarray-like de forma (n_samples, n_features)

Muestras de entrada.

yarray-like de forma (n_samples,) o (n_samples, n_outputs), default=None

Valores objetivo (None para transformaciones no supervisadas).

**fit_paramsdict

Parámetros de ajuste adicionales.

Devuelve
X_newarreglo ndarray de forma (n_samples, n_features_new)

Arreglo transformado.

get_params()

Obtiene los parámetros para este estimador.

Parámetros
deepbooleano, default=True

Si es True, devolverá los parámetros para este estimador y los sub objetos contenidos que son estimadores.

Devuelve
paramsdict

Nombres de parámetros mapeados a sus valores.

gibbs()

Realiza un paso de muestreo de Gibbs.

Parámetros
vndarray de forma [n_samples, n_features)

Valores de la capa visible desde donde comenzar.

Devuelve
v_newndarray de forma [n_samples, n_features)

Valores de la capa visible después de un paso de Gibbs.

partial_fit()

Ajusta el modelo a los datos X que deben contener un segmento parcial de los datos.

Parámetros
Xndarray de forma [n_samples, n_features)

Datos de entrenamiento.

Devuelve
selfBernoulliRBM

El modelo ajustado.

score_samples()

Calcula la pseudoverosimilitud de X.

Parámetros
X{array-like, sparse matrix} de forma (n_samples, n_features)

Valores de la capa visible. Debe ser todo booleano (no seleccionado).

Devuelve
pseudo_likelihoodndarray de forma (n_samples,)

Valor de la pseudoverosimilitud (proxy de la verosimilitud).

Notas

Este método no es determinista: calcula una cantidad llamada energía libre en X, luego en una versión aleatoriamente corrupta de X, y devuelve el registro de la función logística de la diferencia.

set_params()

Establece los parámetros de este estimador.

El método funciona tanto con estimadores simples como en objetos anidados (como Pipeline). Estos últimos tienen parámetros de la forma <component>__<parameter> para que sea posible actualizar cada componente de un objeto anidado.

Parámetros
**paramsdict

Parámetros del estimador.

Devuelve
selfinstancia del estimador

Instancia de estimador.

transform()

Calcula las probabilidades de activación de capa oculta, P(h=1|v=X).

Parámetros
X{array-like, sparse matrix} de forma (n_samples, n_features)

Los datos que serán transformados.

Devuelve
hndarray de forma (n_samples, n_components)

Representaciones latentes de los datos.

Ejemplos con sklearn.neural_network.BernoulliRBM