¿Cuál es la función de las máquinas restringidas de Boltzmann para el filtrado colaborativo?

Las técnicas de factorización matricial son probablemente el algoritmo más popular para el filtrado colaborativo. En MF, toma la matriz de elementos de usuario (que contiene interacciones entre usuarios y elementos) y la proyecta en un espacio latente . En ese espacio, es posible definir vectores para los factores latentes del usuario (que describen las características de esos usuarios en el espacio latente) y los factores latentes del elemento (del mismo modo para las características de los elementos). Una vez hecho esto, es fácil calcular la preferencia esperada que tendrá un usuario para un artículo, como el producto interno del vector de usuario correspondiente y el vector de artículo. El efecto general es un tipo de técnica de reducción de dimensionalidad: la enorme matriz original se proyecta en un número mucho menor de factores. Esto es muy similar a técnicas como PCA.

Ahora, una máquina de Boltzmann restringida es una red con dos tipos de unidades, visibles y ocultas, y conexiones simétricas entre visibles y ocultas (pero no entre unidades ocultas o entre unidades visibles). Se entrena a través de técnicas como la divergencia contrastante para que alcance un equilibrio de baja energía cuando se expone a instancias de entrenamiento.

Un RBM [de deeplearning.net]

Una vez que ha sido entrenado, la activación de sus unidades visibles con algunos datos de entrada hace que sus unidades ocultas creen una representación interna de esa entrada. En ese sentido, las unidades ocultas forman el espacio latente que contiene las características extraídas de la entrada (es una representación interna de los datos y realiza una reducción de la dimensionalidad ya que la cantidad de unidades ocultas suele ser mucho menor que la cantidad de unidades visibles). La red ha aprendido la estructura de los datos. Por lo tanto, conceptualmente no es tan diferente de la factorización matricial: crea un espacio latente al utilizar la reducción de dimensionalidad para producir características para los datos.

En un RBM entrenado, si se presenta con un vector de datos, un ciclo de visible-> oculto-> visible tenderá a corregir o completar el vector de datos para que se parezca mejor a la estructura que ha aprendido (si se presenta sin entrada, lo hará tienden a producir un vector visible que se parece a esa estructura). Así que esta es una forma en que podemos usarlo para la FQ. Si ingresamos un vector de elemento de usuario, tenderá a producir una salida similar a la estructura que conoce, por lo que puede usarse para completar el vector de elemento de usuario, llenándolo con predicciones para las interacciones desconocidas de elemento de usuario.

El problema principal aquí es que la matriz de elementos de usuario generalmente tiene muchos datos faltantes: los usuarios interactúan (ver, calificar, comprar) con solo unos pocos elementos, el resto son observaciones faltantes. Por lo tanto, la matriz es notoriamente difícil de procesar de manera estable. La factorización matricial utiliza trucos ingeniosos (como ALS y regularización) para solucionar ese hecho.

En el caso de los RBM, [Salaksunkkov et all, 2007] lo resuelven utilizando no solo un RBM, sino una gran familia de RBM relacionados: uno de cada usuario. En general, las unidades visibles se crean a partir del vector del elemento completo (un vector que contiene un elemento para cada elemento), pero el RBM para un solo usuario contiene solo unas pocas unidades visibles (las correspondientes a los elementos con los que interactuó el usuario). La capa de unidad oculta es la misma para todas las RBM, y las conexiones entre las unidades visibles y ocultas se mantienen en todas las RBM (para el conjunto concreto de unidades visibles en cada RBM); los pesos también están vinculados en todos los RBM. Por lo tanto, cada RBM tiene solo un vector de entrenamiento (las interacciones para ese usuario), pero dado que todos los pesos están vinculados cuando entrenamos en todos los RBM, converge bien. Los términos de sesgo se pueden usar para modelar la preferencia del elemento base.

Los RBM tienen unidades binarias, por lo que se prestan naturalmente al tipo de CF que se denomina retroalimentación implícita del usuario (las interacciones son binarias: 1 si se observa / compra / marca, 0 si no). También se puede usar con valores enteros (p. Ej., Clasificaciones) mediante el uso de un conjunto de N unidades para cada elemento (el conjunto de N clasificaciones) conectado a través de un softmax.

La estructura también se puede generalizar apilando varios RBM para producir una máquina Deep Boltzmann [Salakhutdinov & Hinton, 2009], en la que las capas ocultas logran capacidades de abstracción de características crecientes.

Referencias

  • Salakhutdinov et al., 2007: R. Salakhutdinov, A. Mnih y G. Hinton, Restricted Boltzmann Machines for Collaborative Filtering , 24th International Conference on Machine Learning, 2007.
  • Salakhutdinov & Hinton, 2009: R. Salakhutdinov y G. Hinton, Deep Boltzmann Machines , 12ª Conferencia Internacional sobre Inteligencia Artificial y Estadísticas (AISTATS), 2009.