¿Máquinas de Boltzmann restringidas para la regresión?

13

Estoy siguiendo la pregunta que había hecho anteriormente sobre RBM . Veo mucha literatura que los describe, pero ninguno que en realidad habla de regresión (ni siquiera clasificación con datos etiquetados). Tengo la sensación de que se usa solo para datos no etiquetados. ¿Hay algún recurso para manejar la regresión? ¿O es tan simple como agregar otra capa encima de la capa oculta y ejecutar el algoritmo de CD arriba y abajo? Muchas gracias de antemano.

brócoli
fuente

Respuestas:

18

Tienes razón sobre los datos sin etiquetar. Las RBM son modelos generativos y se usan más comúnmente como aprendices no supervisados.

Cuando se usa para construir una Red de Creencias Profundas, el procedimiento más típico es simplemente entrenar cada uno de los nuevos RBM uno a la vez, ya que se apilan uno encima del otro. Entonces, la divergencia contrastante no está subiendo y bajando en el sentido que creo que quieres decir. Solo funciona con un RBM a la vez, utilizando la capa oculta del RBM superior anterior como entrada para el nuevo RBM superior. Después de todo esto, puede tratar la pila de pesas RBM como las pesas iniciales para una red neuronal de retroalimentación estándar y entrenar usando sus datos etiquetados y la propagación hacia atrás o hacer algo más exótico como usar el algoritmo de despertar-dormir. Tenga en cuenta que no hemos utilizado ningún dato etiquetado hasta este último paso, ese es uno de los beneficios de este tipo de modelos.

Por otro lado, hay varias formas en que puede usar RBM para la clasificación.

  • Entrena un RBM o una pila de varios RBM. Use la capa oculta superior como entrada para algún otro alumno supervisado.
  • Entrene un RBM para cada clase y use las energías no normalizadas como entrada para un clasificador discriminativo.
  • Entrene al RBM para que sea un modelo de densidad conjunta de P (X, Y). Luego, dada alguna entrada x, simplemente elija la clase y que minimiza la función de energía (la normalización no es un problema aquí como en el anterior ya que la constante Z es la misma para todas las clases).
  • Entrenar a una RBM discriminatoria

Le recomiendo encarecidamente que lea el informe técnico Una guía práctica para el entrenamiento de máquinas Boltzmann restringidas de Geoff Hinton. Analiza varios de estos problemas con mucho más detalle, proporciona consejos invaluables, cita muchos documentos relevantes y puede ayudar a aclarar cualquier otra confusión que pueda tener.

Alto
fuente
1
Entonces, ¿pueden usarse los RBM para la regresión?
waspinator
¿Cómo entrenas a un RBM para que sea un modelo de densidad conjunta? ¿Proporcionando X e Y como entradas no ocultas, es decir, lo entrena para que sea P (X, Y | H) (H es la capa oculta)?
AkiRoss
Respondo yo mismo a mi comentario: sí, en "una guía práctica para entrenar la GBR" (Hinton, 2010), los 3 métodos descritos anteriormente se explican en detalle y, en el tercer método, habla de tener "dos conjuntos de unidades ", donde, además de los datos, se presenta una unidad de etiqueta softmax para representar la clase.
AkiRoss
2

Eche un vistazo a la implementación, http://code.google.com/p/matrbm/ . Tiene una función de clasificación rmb fit que vale la pena considerar. También avíseme si encuentra mejores implementaciones de DBN y RMB para clasificación y regresión.

Deepan Prabhu Babu
fuente
0

Creo que una forma de probar redes neuronales como la máquina de Boltzman restringida (RBM) es aplicarlas a nuevos conjuntos de datos, o más comúnmente a un subconjunto del conjunto total de datos, y ver cómo funcionan. También puede probar el modelo con validación cruzada. He utilizado un popular kit de herramientas de software de aprendizaje automático de código abierto (ML) que es simple de instalar y usar, y le permite probar fácilmente muchos tipos de algoritmos de ML por separado con una serie de estadísticas de regresión del modelo ( http: // www. cs.waikato.ac.nz/ml/weka/ ). Eso podría proporcionarle un análisis rápido sin mucha intervención, excepto los aspectos básicos de la ejecución del programa, aunque dependiendo de esto puede no valer la pena si será difícil formatear sus datos (aunque generalmente puede buscar en Google "csv to arff convert online", por ejemplo). para formatear en un solo paso).

Jason albalah
fuente