En este blog iré comentando en español pequeños resúmenes de los módulos del curso Networks, friends, moneys and bytes de Coursera, conducido por el instructor Mung Chiang de la Universidad de Princeton, cualquier duda o comentario serán muy bienvenidos porque así aprendemos todos

viernes, 28 de septiembre de 2012

Filtrado Colaborativo 1


El filtrado colaborativo es el método que usa la empresa Netflix que arrienda videos online para recomendar películas a sus clientes. Aunque la idea base es sencilla, el modelo matemático que se usa es bastante complicado. El método se basa en que los clientes hacen una evaluación de las películas después de verlas, asignando entre 1 a 5 estrellas.

No todos los clientes lo hacen por supuesto, esto es voluntario. La cosa es que basados en esas evaluaciones Netflix ha creado un algoritmo que "supone" que películas le gustarán a un cliente en base a la evaluación de otros clientes y la semejanza que el cliente que recibe la recomendación tendrá con ellos.

Para entender el modelo matemático que usan están las siguientes definiciones: User id=Ui Movie id=i Rating stars (1,2,3,4,5)=Rui Timing=Tui Estos datos entran a una "caja negra" cuya salida es una predicción de rating ^Rui que es la suposición del rating que le daría el usuario Ui a la película i ^Rui podría ser una fracción, por ejemplo 4.2, de ser así se sube a 5, si ^Rui predicho resulta mayor que 5 se deja en 5 y si es menor que 1 se deja en 1

Existen tres criterios posibles para construir esta métrica: la satisfacción del cliente que es el mejor criterio pero resulta inmanejable de calcular en la práctica, la efectividad de la predicción que también es muy difícil de calcular y finalmente el error de la predicción que es lo que se calcula mediante mediante la técnica conocida como L2 o media del mínimo valor cuadrado de los errores RMSE.

El error en cada punto sería `Rui-Rui (o sea valor predicho menos valor real) y la norma L2 se define como:

RMSE= Sqr(SUMui((`Rui-Rui)^2/C)

Donde C es el número total de pares pelicula/usuario evaluados ui Para hacer esta predicción se usa un algoritmo de aprendizaje. Como vimos antes tenemos una "caja negra" a la que se le introducen los valores de (Ui, i, Rui, Tui) y entrega la predicción ^Rui. Esta caja negra se "entrena" con técnicas de optimización convexa que veremos en la próxima parte. Netflix estableció un premio de 1 millón de dólares a quien logre desarrollar un algoritmo que mejore en un 10% la efectividad de sus recomendaciones.

No hay comentarios:

Publicar un comentario