¿Qué es el Modelo de Máquina de factorización ?
FM significa Máquina de factorización. Fue propuesto por Rendle en 2010 y se ha utilizado ampliamente en el sistema de estimación y recomendación de CTR a gran escala en los últimos años.
El Modelo de Máquina de factorización es relativamente simple, y hay una gran cantidad de contenido en Internet, por lo que no lo ampliaré aquí en detalle.
Muchos de los modelos de clasificación basados en DNN son muy similares a FM por una razón aparente: la combinación de características es vital para la clasificación por recomendación.
Y la idea de FM ha sido muy simple y una combinación de características que refleja (principalmente el segundo orden).
Cualquier modelo de DNN no podría funcionar sin esto, porque la estructura MLP es una estructura que captura las combinaciones de características de manera ineficiente.
Por lo tanto, esos modelos DNN siempre están acoplados al Modelo de Máquina de factorización , donde las características deben combinarse internamente. Esta es la razón por la que la encontrará o la variante de la misma una y otra vez.
En la actualidad, el modelo de clasificación basado en DNN generalmente adopta la estructura MLP. La capacidad de extracción de características está muy por debajo del nivel donde se alcanzó el CV / NLP.
Es fácil hacer que las personas sientan que el modelo DNN para la optimización de la clasificación todavía se encuentra en la etapa inicial de la sociedad primitiva.
Entonces, ¿por qué es esto? Debido a que la red CNN, naturalmente, no es adecuada para el escenario de clasificación.
RNN se usa como una secuencia para capturar los comportamientos de los usuarios, y está bien usar la estructura auxiliar de la información de tiempo, pero no encaja bien como modelo principal también. Parece que no quedan muchas opciones.
El transformador es muy prometedor, y creo que la auto-atención es otro buen enfoque que puede capturar bien la combinación de características (incluido el segundo orden y el tercer orden, incluso el orden múltiple).
Hice algunos experimentos utilizando la auto-atención y el transformador como el modelo de clasificación de recomendación principal.
Los resultados de la prueba no muestran muchas de las diferencias en comparación con DeepFM. Pero eso podría deberse a que no pasé mucho tiempo en el tedioso trabajo de ajuste.
Dado que hubo un par de nuevos artículos publicados sobre el uso del transformador para hacer la recomendación desde la segunda mitad del año 2018, personalmente soy muy optimista sobre la evolución en esa dirección. Hasta este punto, la opción restante parece ser solo MLP.
Bajo la marea del aprendizaje profundo, de hecho está muy por detrás de muchos otros campos desde la perspectiva del modelo.
De hecho, creo que esto se debe principalmente a sus propias complejidades de dominio, puede necesitar un modelo DNN revolucionado que se adapte bien a sus propias características.
Como Resnet en el campo de reconocimiento de imagen o Bert en el campo de PNL, todavía no existe un modelo de DNN como esos dos en el campo de recomendación.
De todos modos, soy más optimista, creo que el que está en la carretera y muy cerca de nosotros.
Presentaré brevemente el Modelo de Máquina de factorización desde dos ángulos: uno de la evolución del modelo de combinación de características.
El otro es de la evolución del modelo de filtrado colaborativo. El Modelo de Máquina de factorización se encuentra en la intersección de los dos modelos anteriores.
De LR a SVM y a FM
La mayoría de los sistemas de recomendación industrial adoptan el modelo LR (modelo lineal + no linealidad introducido por la combinación de características artificialmente selectivas).
Debido a que el modelo LR tiene muchas ventajas, como simple, conveniente de explicar y fácil de escalar.
Sin embargo, el mayor defecto del modelo LR es la ingeniería de características manual, que requiere mucho tiempo y trabajo, por lo que la combinación de características puede realizarse a nivel de modelo
No es difícil lograrlo. En la figura anterior, se puede agregar una combinación de características de segundo orden a la ecuación.
Cualquiera de las dos características puede combinarse, y las características combinadas pueden considerarse como una nueva característica e integrarse en el modelo lineal.
El peso de la característica combinada se puede usar para representar, como con el peso de la característica de primer orden, el peso de la característica combinada se aprende de la fase de entrenamiento.
Detrás de la escena, el uso de esta combinación de características de segundo orden es equivalente al núcleo polinomial de SVM.
Pero el último tiene un problema potencial: modela las características combinadas, pero la capacidad de generalización es débil.
Especialmente dada una gran matriz de características dispersas, la desventaja será muy prominente y ampliada. Como el problema de clasificación de recomendaciones, las características siempre se almacenan en una gran matriz dispersa.
Por lo tanto, esta solución no fue ampliamente adoptada. Entonces, ¿qué más?
Por lo tanto, el Modelo de Máquina de factorización debutó en este momento. Como se muestra en la figura anterior, el Modelo de Máquina de factorización también introduce directamente la combinación de características de segundo orden de cualquiera de las dos características.
La diferencia más significativa entre FM y el modelo SVM es el método de cálculo para obtener el peso de la combinación de características.
Para cada función, FM aprende un vector unidimensional de tamaño k, de modo que los valores de peso de las combinaciones de características de las dos características x_i y x_j están representados por el producto interno <v_i, v_j> de las características correspondientes.
Esta es esencialmente la caracterización de incrustación de las características y está en línea con la naturaleza de los pensamientos de “incrustación”.
Por lo tanto, la tecnología FM como característica de incorporación puede considerarse como el antecesor anterior de los diversos métodos de integración en el aprendizaje profundo.
De hecho, solo falta una capa oculta MLP de dos capas o tres capas, que se utiliza para modelar la combinación no lineal de características de múltiples capas directamente. El resto de los aspectos son básicamente los mismos.
Entonces, ¿por qué la integración de FM es eficiente en el manejo de matrices dispersas a gran escala? ¿Por qué su capacidad de generalización es fuerte?.
Consulte la ilustración anterior, incluso si las dos funciones no se ven en el conjunto de entrenamiento al mismo tiempo, significa que el número de veces que x_i y x_j aparecen juntas es 0.
En SVM, es imposible saber el peso de su combinación de características Pero debido a que FM es para aprender una única característica de incrustación, y no depende de si una combinación particular de la característica ha ocurrido o no.
Por lo tanto, mientras la característica x_i y cualquier otra combinación de las características hayan aparecido, entonces puede aprender su propio vector de incrustación correspondiente.
Por lo tanto, aunque la combinación de características x_i y x_j no se ha visto en el conjunto de entrenamiento, aún puede usar esta nueva combinación de características en el tiempo de predicción, porque x_i y x_j tienen su propia incrustación correspondiente aprendida en la fase de entrenamiento.
Y su producto interno representa el peso de esta nueva combinación de características. Esta es la razón por la cual la capacidad de generalización de la FM es fantástica.
En esencia, esta es también la característica principal de todas las variedades de las incrustaciones.
Hace que el emparejamiento duro basado en binario 0/1 cambie al emparejamiento suave basado en vectores. Por lo que no se pudo emparejar.
Ahora se puede considerar como una coincidencia hasta cierto punto. Es, por sí misma, una buena mejora para la generalización.
Del modelo MF al Modelo de Máquina de factorización
De lejos, probablemente debería saber cuál es el Modelo de Máquina de factorización.
Entonces, ¿qué hace MF? ¿No son muy similares, al menos desde la perspectiva de la ortografía, MF <=> FM? ¿Qué diablos hace con FM? ¿Es solo una operación inversa del Modelo de Máquina de factorización ?
En realidad, MF es sinónimo de factorización de matriz. Es un modelo de filtro colaborativo veterano, ampliamente adoptado en el campo de recomendación durante mucho tiempo.
La idea principal es aprender dos matrices pequeñas y de baja dimensión, una representa la incrustación del usuario y otra representa la incrustación del elemento.
Luego use las dos matrices para estimar los valores en la gran matriz dispersa de colaboración generada por los clics o calificaciones reales de los usuarios, calculando el producto interno de las dos matrices.
Esencialmente, es una tecnología de reducción de dimensionalidad, particularmente utilizada en la construcción de incrustaciones de usuarios / elementos.
Normalmente, también llamamos a estas incrustaciones como vectores de características latentes, y son las mismas cosas.
Este enfoque también se usa mucho para el modelado de temas antes de que todos los tipos de métodos de incrustación se incluyeran en el campo de la PNL.
Cuando se completa el entrenamiento, cada usuario y elemento obtienen su correspondiente vector de incrustación de baja dimensión.
Al hacer un cálculo interno del producto <user_i, item_j> obtendrá una puntuación pronosticada para user_i en item_j.
¿Esto te recuerda algo? Concentrémonos en la relación entre MF y FM.
MF y FM no solo buscan un poco el nombre, sino que también tienen muchas similitudes o conexiones en términos del algoritmo.
El MF se puede considerar como el Modelo de Máquina de factorización con solo los dos campos de función de User_ID y Item_ID.
La MF aprende estos dos tipos de características de la matriz original y las integra en dos matrices de baja dimensión como las expresiones.
La FM puede verse como una extensión adicional del Modelo de Máquina de factorización . Además de las funciones de ID de usuario e ID de artículo.
Muchos otros tipos de funciones se pueden integrar aún más en el Modelo de Máquina de factorización , que convierte todas estas características en vectores de integración de baja dimensión.
El peso de la combinación de características se puede expresar y calcular mediante el producto interno de cualquiera de las dos características que se integran.
Si FM solo usa la ID de usuario y la ID de elemento, el proceso de predicción será el mismo que el proceso de predicción de MF.
Desde la perspectiva de quién usó la característica de incorporación de expresiones anteriormente, es obvio que MF es el predecesor real en comparación con FM, pero la única limitación es la escasez de los tipos de características.
FM hereda las ventajas del mecanismo de incorporación de características de MF, y lo amplía para que sea capaz de tomar más información lateral como características.
Luego las convierte en vectores de integración y finalmente las integra nuevamente en el Modelo de Máquina de factorización .
Resulta que el Modelo de Máquina de factorización es más flexible y se puede aplicar a una gama más amplia de casos de uso.
Espero que sigas sin frustrarte por la relación complicada y caótica entre MF y FM.
Me gustaría hacer las siguientes sugerencias (puntos de vista personales):
- Cuando esté motivado a usar MF para el filtro de colaboración, por favor, cálmese y hágase una pregunta primero. ¿Esto es para construir un modelo de recomendación basado en retroalimentación implícita o retroalimentación explícita? Por ejemplo, la calificación de los usuarios normalmente se cuenta como retroalimentación explícita, ya que varía de 1 a 5 e incluye aspectos positivos y negativos. Mientras tanto, los tiempos de clic o de compra del usuario son retroalimentaciones implícitas, ya que solo llevan a cabo las señales (confianza) de “cuanto mayor sea el número, más gustará al usuario, pero no a un concesionario”. La optimización de una función perdida para entrenar un modelo que utiliza solo retroalimentaciones implícitas depende más del caso de uso real. Además, debemos encontrar una manera de generar suficientes muestras negativas para que la FM funcione bien también. No se preocupe, escribiré un artículo separado sobre esos trucos y técnicas en el fondo de uso de retroalimentación implícita. Si su respuesta es para comentarios explícitos, pruebe FM. Además, dado que son equivalentes en términos de las funcionalidades, FM le permitirá combinarlo con cualquier otra función que desee agregar en el futuro.
- Creación de un modelo de clasificación que solo use la Identificación del usuario y la Identificación del artículo como la función de entradas no va a satisfacer la necesidad en gran escala del sistema de recomendaciones en la práctica. La razón es simple: en la mayoría de los sistemas de recomendación de clase mundial, el usuario o el elemento tiene mucha información disponible para su uso, y la información de colaboración es solo una de ellas. La introducción de más funciones es muy útil para obtener una recomendación personalizada más precisa. Sin embargo, si el modelo carece de una manera conveniente de agregar más características, será limitado y difícil para la mejora continua. Esta es la razón por la que el método MF rara vez se utiliza en la clasificación o en la clasificación de problemas.
Por mucho, hemos explicado el Modelo de Máquina de factorización en varios ángulos.
¿Qué sigue? ¿Cómo haces la elección? Es más una cuestión filosófica que técnica.
Dicho esto, la selección del algoritmo usualmente se ve así: “Un ingeniero de algoritmos ha dudado en elegir qué modelo ir para la producción.
Tiene tres opciones excelentes para elegir, una de ellas es elegante, otra funciona bien y la última está muy de moda. Pero tiene dificultades para llegar a una decisión.
¡Tres días después, me dijo que su director simplemente lo dejó ir con el más rápido! “¡Maravilloso!
Dado que FM calcula el segundo orden de la combinación de funciones, es muy común escuchar a las personas preguntar por su eficiencia.
Esa es, de hecho, una excelente preocupación porque el segundo orden es equivalente a O (n * n) por todos los medios.
¿Es ese el final de la historia? En el siguiente capítulo, explicaré más detalladamente la eficacia del núcleo duro del Modelo de Máquina de factorización .