Factorization Machines - Steffen Rendle (2010)
Al pegarle una leída rápida inicial al paper, se ve en extremo denso, necesitando comprender mucho desarrollo matemático para captar el funcionamiento del modelo propuesto. Vamos a ver si es posible.
En principio, una duda que inmediatamente surge es que, si tal como el abstract dice una FM es capaz de funcionar bien incluso en lugares donde un SVM fallaría, y que por otro lado el paper es del año 2010, entonces por qué ocurre que en la práctica siguen siendo mucho más utilizadas las SVM en problemas que no necesariamente tratan sobre recomendaciones? Será acaso que son más baratas de entrenar? Veremos a continuación, aunque en principio esperaría que no, pues la ecuación modelo se puede calcular en tiempo lineal.
No queda bien definido de inmediato, pero se puede inferir que el “degree” de una FM básicamente indica hasta qué nivel de subconjuntos potenciales de variables son consideradas para análisis de interacciones. Por ejemplo, una 3-FM capturaría todas las interacciones entre todos los posibles subconjuntos de 1, 2, y 3 variables existentes para un problema arbitrario.
Aparantemente, la clave para soportar un “degree” arbitrariamente grande sin sacrificar resultados es justo el hecho de que en lugar de representar las interacciones como un peso que pertenece a un tensor de pesos d-dimensional, simplemente se termina factorizando cada variable con k factores, y esto se considera en la interaccion entre cada subconjunto mediante el producto punto de las factorizaciones multiplicado con el valor de éstas para cada caso, notando que mientras más sparse el dataset, más conviene un k pequeño. Al final, factorizar ayuda a que cada interacción para un subconjunto dado de variables ayude al resto en alguna medida no nula, pues hay dependencia al compartir v_i’s.
Efectivamente, luego del manejo de las sumatorias queda demostrado un orden linear para resolver el modelo, lo que hace que mi duda inicial acerca de su uso sea aún más intrigante.
Al llegar a la sección de generalización queda un poco más claro y ayuda a resolver la duda del tercer párrafo, aunque la expresión general es un poco más compleja de lo que esperaba.
El hecho de que una FM sea entrenable en tiempo linear es súper conveniente, pues permite optimizar con métodos estocásticos, lo que lo hace arbitrariamente escalable para enfrentar datasets masivos.
Algo que no esperaba, y que creo habla de la calidad del trabajo realizado por Rendle, es mostrar el hecho de que con d=1 obtenemos el caso de un SVM linear! No me percaté de esto a la primera vista de la ecuación del modelo.
Creo que un punto importante a criticar del paper es que no queda muy claro el beneficio de que se pueda optimizar directamente el problema primal en una FM. El autor lo presenta como una mejora respecto a las SVM’s, pero no queda clara la razón.
Lo que sí queda muy claro es la manera en que un SVM falla al momento de tener pocos datos, pues es muy fácil invalidar una entrada para el entrenamiento de una interacción (para un subconjunto de variables) dada.
En general, pienso que este paper ha sido de los mejores (sino el mejor) que me ha tocado leer para este curso. Excelente presentación, accesible, e introduce un método que creo es muy novedoso, genérico, y útil.
Lamentablemente, mi duda inicial persiste: por qué ocurre que este método no terminó desplazando en uso a las SVM’s? Habrá que preguntarlo en clases!















