Algoritmo de recomendación basado en filtrado colaborativo
Algoritmo de filtrado colaborativo basado en el usuario: se basa en el supuesto de que "es probable que le gusten las cosas que le gustan a la gente que le gusta". Por lo tanto, la tarea principal del filtrado colaborativo basado en el usuario es descubrir el. vecinos más cercanos del usuario, para predecir la calificación de preferencia del vecino más cercano para elementos desconocidos. El algoritmo se divide principalmente en tres pasos:
Primero, calificación de los usuarios. Se puede dividir en puntuación explícita y puntuación implícita. La puntuación explícita consiste en calificar elementos directamente (como calificar a los usuarios de Baidu), mientras que la puntuación implícita consiste en calificar elementos mediante la evaluación o el comportamiento de compra (como lo que compró).
En segundo lugar, busque el vecino más cercano. Este paso es para encontrar los usuarios más cercanos a usted. Generalmente, se utilizan los siguientes tres algoritmos para calcular la distancia: 1. Coeficiente de correlación de Pearson. 2. Similitud del coseno. 3. Ajuste la similitud del coseno. Parece mejor ajustar la similitud del coseno.
En tercer lugar, recomendación. Después de generar el conjunto vecino más cercano, los elementos desconocidos se puntúan y predicen en función de este conjunto. Recomiende los n elementos principales al usuario. Este algoritmo tiene un cuello de botella en el rendimiento. Cuando aumenta el número de usuarios, la complejidad de encontrar vecinos más cercanos también aumenta considerablemente.
Por lo tanto, este algoritmo no puede cumplir con los requisitos de recomendación oportuna. El filtrado colaborativo basado en elementos resuelve este problema. El algoritmo de filtrado colaborativo basado en elementos es similar al algoritmo basado en usuarios, pero el segundo paso es calcular la similitud entre elementos. Dado que la similitud entre elementos es estable, se puede realizar sin conexión, lo que resuelve el cuello de botella de rendimiento del algoritmo de filtrado colaborativo basado en el usuario.