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
Ajusta el modelo a los datos X.
Ajusta a los datos y luego los transforma.
Obtiene los parámetros para este estimador.
Realiza un paso de muestreo de Gibbs.
Ajusta el modelo a los datos X que deben contener un segmento parcial de los datos.
Calcula la pseudoverosimilitud de X.
Establece los parámetros de este estimador.
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
yy
con los parámetros opcionalesfit_params
y devuelve una versión transformada deX
.- 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.