Aprendizaje automático: ¿es el enfoque descrito a continuación una buena forma de evaluar la calidad de las recomendaciones basadas en comentarios implícitos?

Básicamente estás tratando de llegar a las Reglas de Asociación [1, 2].


El problema con la retroalimentación implícita en los sistemas de recomendación es que no tiene retroalimentación negativa. Si el usuario u1 no examinó el producto p3, ¿es porque a u1 no le gustó p3 o porque u1 no vio la recomendación para p3? O tal vez porque u1 vio p3, le gustó, pero no vio el producto porque u1 tuvo que atender una llamada y olvidó que la página estaba abierta. Hay varias razones por las que no se ha hecho clic en una recomendación (posiblemente buena), por lo que no se puede clasificar todas las recomendaciones que no se hicieron clic como negativas.

Uno puede llegar a varias métricas que miden los comentarios positivos, como el que sugirió OP, y pueden funcionar hasta cierto punto. La única prueba real es cómo actúan en vivo. En el ejemplo de Amazon, serían los ingresos finales generados para la empresa, o los clics que generaron compras, por ejemplo.

Es un problema difícil encontrar una buena métrica para medir el rendimiento. Para leer más sobre los sistemas de recomendación de retroalimentación implícita, consulte [3].

Referencias

[1] Aprendizaje de reglas de asociación

[2] https://www-users.cs.umn.edu/~ku…

[3] http://yifanhu.net/PUB/cf.pdf

Su idea tiene algunas buenas propiedades:

1. Mide un comportamiento que está plausiblemente alineado con el objetivo del proyecto. Si muchos usuarios que miran A a menudo miran B, es posible que a los usuarios que les gusta A también les guste B (aunque esa no es la única explicación posible).

2. Utiliza una fórmula matemática estándar (precisión y recuperación). Tiene un conjunto de eventos relevantes (co-visitas) y tiene una forma de recuperarlos (membresía en las recomendaciones de su modelo). Su fórmula de “precisión de recuperación” mide la fracción de instancias relevantes que se recuperan, por lo que es una métrica de recuperación.

Algunos posibles problemas con su idea:

1. ¿Cómo mediría la precisión, la fracción de instancias recuperadas que son relevantes? La precisión y el recuerdo son un par inseparable: si solo optimizas para uno, obtendrás un sistema trivial e inútil. Un sistema que recomienda todos los pares posibles tiene un recuerdo perfecto y una precisión terrible. Su métrica necesita informar eso.

Podrías tomar la precisión como la fracción de pares recomendados que tienen al menos una visita conjunta, pero ¿no importa el número de visitas conjuntas? ¿No es extraño que su precisión se base en una escala binaria y que la recuperación se base en una escala de conteo?

Si los pares pronosticados también vinieron con un número que mide cuán fuertemente están relacionados, entonces podría comparar la relación predicha con la relación real (esta última se mide por las co-visitas observadas).

2. Su métrica de recuperación es esencialmente una relación de conteo. Entonces, si el recuento de visitas conjuntas varía mucho en función de los pares de productos, por ejemplo, algunos tienen millones de visitas, y hay una larga cola de pares con un número pequeño de visitas, su métrica de recuerdo podría poner un énfasis excesivo en pares altamente visitados. Si esto es un problema, quizás podría aplicar una transformación como sqrt o log que comprima el rango dinámico del recuento de visitas, poniendo más énfasis en los productos menos visitados.

No llamaría a eso “Aprendizaje automático”, básicamente desarrollarás un software determinista que no evolucionará con respecto a las entradas. Es más bien un algoritmo de recomendación que un algoritmo de aprendizaje automático.

Sin embargo, su idea es bastante buena y creo que funcionará bien si su conjunto de datos no es demasiado grande.

Hay otras formas de encontrar la mejor recomendación para un producto, pero es mucho más complicado (implementar).

Por ejemplo, podría utilizar un algoritmo de aprendizaje no supervisado para clasificar sus productos. Luego, muestre la recomendación según la clase de productos que su usuario haya navegado recientemente. Para hacer eso, una red neuronal, un mapa precisamente autoorganizado o una teoría de resonancia adaptativa sería suficiente.

Amazon utiliza un algoritmo de filtrado colaborativo de elemento a elemento, mientras que el suyo es más bien un algoritmo de filtrado colaborativo de usuario a usuario. Se convertirá en un problema cuando tenga más usuarios que productos, pero al menos algunas de sus recomendaciones no serán “obvias”.

Hay más información sobre la patente del algoritmo de Amazon, patente US6266649: recomendaciones de colaboración que utilizan mapeos de similitud de artículo a artículo.

Una imagen de Wikipedia para ilustrar lo que está tratando de hacer.

Puedes tomar este curso en Udemy: está en aprendizaje automático para sistemas de recomendación. Explica cómo Machine Learning ayuda a Amazon, Facebook, Netflix, LinkedIn, etc., a darle recomendaciones.
https://www.udemy.com/learn-how-

More Interesting

¿Qué tan útil es un trabajo cuantitativo en Goldman Sachs para un doctorado posterior en Machine Learning?

¿Qué ofrecen los chips Loihi de Intel con 'autoaprendizaje', 'núcleos neuromórficos' y 'cómputo de aumento asíncrono'?

¿Qué otras arquitecturas de redes neuronales se han utilizado para reducir las facturas de energía del centro de datos aparte del método de DeepMind?

¿Qué es un 'descriptor' en el contexto de una transformación de característica invariante de escala (SIFT)?

¿Debo aprender Blockchain (Ethereum) o aprendizaje automático este verano?

¿Qué es un núcleo de roles en una máquina de vectores de soporte?

¿Es la memoria y la potencia informática paralela masiva del cerebro más útil para el "entrenamiento" o la "prueba"?

¿Qué debe hacer un estudiante de diploma para aprender software o aprendizaje automático?

¿Puede un contador estar completamente automatizado para 2030? Si es así, ¿cuál es la mejor manera de salvar mi trabajo?

¿Qué utiliza la aspiradora robótica como recompensa si utilizan el aprendizaje por refuerzo como algoritmo?

¿Qué tan bueno es el ADVI en STAN en la práctica?

¿En qué orden debo aprender redes neuronales, aprendizaje automático, IA y NPL?

¿Cuáles son las revistas científicas mejor calificadas para Machine Learning / Data Science?

¿Qué tecnología debo aprender, siendo un desarrollador de mainframe interesado en análisis de datos, AWS, aprendizaje automático, big data y otros?

¿Existe alguna implementación de aprendizaje profundo de respuesta basada en la recuperación de preguntas?