Antes de sumergirme en los detalles, me gustaría decir que los algoritmos de filtrado colaborativo se basan inherentemente en métricas de similitud, ya sea en el espacio de usuario / elemento (como en los modelos de vecindad) o en el espacio latente (como en los modelos de factor).
Para responder a la pregunta principal “¿dónde se utilizan las técnicas de ML en los motores de recomendación”, me gustaría responder a varios modelos de sistemas de recomendación con algunos ejemplos
Recomendación basada en contenido (CBR):
CBR proporciona recomendaciones personalizadas al hacer coincidir los intereses del usuario con la descripción y los atributos de los artículos. Para CBR, podemos usar técnicas estándar de ML como Regresión logística, SVM, árbol de decisión, etc., basadas en las características del usuario y del elemento para hacer predicciones, por ejemplo, sobre la extensión de me gusta o no. Luego, podemos convertir fácilmente el resultado a recomendación clasificada
- ¿Los compiladores de aprendizaje son útiles para la informática científica?
- ¿Por qué necesitamos comunicaciones entre procesos?
- ¿Cómo se guardan las imágenes como imágenes digitales?
- ¿Cómo se compara la velocidad de cálculo de los siguientes elementos?
- ¿Qué tan bueno es Apple en informática distribuida?
Filtrado colaborativo (CF)
Los modelos de vecindad son modelos basados en heurística que utilizan métricas de similitud, por ejemplo: similitud de Pearson, similitud de coseno, para encontrar usuarios y artículos similares. Se basa en una heurística muy razonable de que a una persona le gustarán los artículos que son similares a los artículos que le gustaron anteriormente. La predicción de la calificación en los modelos de vecindario basados en artículos se da por el promedio ponderado de las calificaciones en artículos similares como se muestra a continuación
[matemáticas] \ begin {align} \ hat {r} _ {u, i} = b_ {u, i} + \ frac {\ sum_ {j \ in N (i, k, u)} {s_ {i, j} (r_ {u, j} – b_ {u, j})}} {\ sum_ {j \ in N (i, k, u)} s_ {i, j}} \ end {align} [/ math ]
donde, N (i, k, u) es un conjunto de k elementos que son similares a i y calificados por el usuario u; [math] s_ {i, j} [/ math] es una función de similitud (correlación coseno o pearson).
Como no hay aprendizaje involucrado en la ecuación anterior, cualquier chico de ML dirá que esto es una mierda (aunque funciona bastante bien en la práctica). Entonces, en una búsqueda de 1 millón de dólares (desafío de Netflix), algunas personas inteligentes (Yehuda Koren et al.) Lo pensaron y lo reformularon como
[matemáticas] \ begin {align} \ hat {r} _ {u, i} = b_ {u, i} + \ sum_ {j \ in N (i, k, u)} {\ theta_ {i, j} ^ {u} (r_ {u, j} – b_ {u, j})} \ end {align} [/ math]
Ahora cualquier chico de ML dirá ” Ohhh, espera, parece una regresión lineal con [math] \ theta_ {i, j} ^ {u} [/ math] como parámetros “. Ahora el chico ML está feliz :).
Entonces, en lugar de utilizar heurística ad-hoc [matemática] s_ {i, j} [/ matemática] para ponderar las calificaciones, ahora los pesos, [matemática] \ theta_ {i, j} ^ {u} [/ matemática] , se aprenden. Tenga en cuenta que fue crucial para ganar el premio de Netflix. Esta es solo una instancia, de muchas, de ML en recomendación.
La factorización matricial aprende los factores latentes del usuario y del elemento (U y V) al minimizar el error de reconstrucción en las clasificaciones observadas. Formalmente, en un marco de optimización se da como
[matemáticas] \ begin {align} & \ underset {U, V} {\ text {min}} & \ sum_ {u, i} (r_ {ui} – U_ {u} ^ {T} V_ {i}) ^ {2} + \ lambda (\ left \ | U \ right \ | _ {2} ^ {2} + \ left \ | V \ right \ | _ {2} ^ {2}) \ end {align} [ /mates]
En primer lugar, cuando hay una técnica de optimización involucrada, definitivamente es algo de ML.
Hagamos esto más claro al convertirlo en nuestro propio problema de regresión lineal favorito. Entonces, si arregla cualquiera de los factores latentes, digamos U, entonces se convierte en una regresión lineal en V. Esta forma de optimización es bien conocida en la literatura como ALS (mínimos cuadrados alternos). Nuevamente, el chico de ML que conoce la regresión lineal está muy feliz :).
Las personas de ML bayesianas, que no solo quieren estimaciones puntuales sino también incertidumbre de las estimaciones, reformularán el mismo problema en un entorno probabilístico y aprenderán a su manera bayesiana. Para más detalles, consulte la página en Ucl, la página en Cs
Del mismo modo, los chicos de la red neuronal han utilizado la máquina de Boltzmann restringida para la predicción de la calificación (esto también fue crucial para ganar el desafío de Netflix). Para más detalles, consulte la página sobre Toronto
Aprendizaje automático y arranque en frío.
El arranque en frío es una situación en la que un sistema de recomendación no tiene información histórica sobre el usuario o elemento y no puede hacer recomendaciones personalizadas. El arranque en frío es la peor pesadilla de cualquier investigador de sistemas de recomendación.
Entonces, una forma de lidiar con el arranque en frío es obtener las preferencias de los nuevos usuarios a través de la entrevista inicial. Sin embargo, la obtención basada en entrevistas no es útil ya que los usuarios a menudo se aburren cuando se les hace una serie de preguntas. Ahora, el chico de ML puede usar su conocimiento del árbol de decisión para aprender un modelo que elige inteligentemente un conjunto mínimo de preguntas mientras aprende las preferencias del usuario.
Además, existe una vasta literatura sobre Aprender a clasificar por recomendación. Aunque, Aprender a clasificar comparte ADN con la recuperación de información, es más una técnica de ML.
Sean Owen lo dijo bien, todo el libro se puede escribir en el tema, pero no quiero aburrirlos a todos.
En pocas palabras, el aprendizaje automático es muy común en los algoritmos de recomendación. Por lo tanto, el uso de ML en la recomendación depende únicamente de su objetivo y de reformular el problema en su algoritmo de ML favorito (¡las personas inteligentes, a veces, inventan nuevos y revolucionarios algoritmos de aprendizaje!).