Post on 13-Jun-2015
description
Sistema de recomendación basado en PSO
Ignacio Salas DonosoIng. Civil Informática, UTFSM
2
Temario•G
eneración de Perfiles
•Selección de la Vecindad
•Generación de las Recomendaciones
•Entrenamiento del sistema de recomendación
•Conclusión
3
Generación de Perfiles
Se busca reconocer y separar los datos de los usuarios, en un formato que el sistema pueda utilizar.
Usuarios
Libros
Votos
BD Book Crossing
ID U1 ISBN• Voto 1
…ISBN• Voto n
… … … …
ID Um ISBN• Voto 1
…ISBN• Voto n
Selección de la vecindad
Se eligen aleatoriamente una cantidad de usuarios para componer la vecindad
Se ocupan todos para el proceso posterior, sin importar que la distancia con el usuario objetivo sea muy pequeña
Con esto se busca permitir un mayor grado de diversidad
Generación de las Recomendaciones
Función de estimación del voto de Breese
Experiencia personal del
UsuarioExperiencia de la VecindadVoto
estimado
Generación de las Recomendaciones
Función de estimación del voto de Breese
Voto promedio del usuario
objetivo
Desviación ponderada de los votos de la
vecindad
Factor de normalización de la medida de similitud
Medida de similitud entre
los usuarios
Generación de las Recomendaciones
Nueva función de estimación del voto
Desviación Estándar de los votos del
Usuario
Experiencia de la Vecindad
Promedio de votos del usuario
Experiencia personal del Usuario
Voto estimado
Generación de las Recomendaciones
Nueva función de estimación del voto
Voto promedio del usuario
objetivo
Desviación ponderada de los votos de la
vecindad
Factor de normalización de la medida de similitud
Medida de similitud entre
los usuarios
Desviación Estándar del
usuario objetivo
y son factores que ponderan la desviación estándar, como la desviación ponderada de la vecindad
Entrenamiento del Sistema de Recomendaciones
Función de relación entre usuarios
Coeficiente de correlación de Pearson
Voto del usuario a por
el ítem i
Voto promedio del
usuario a
Entrenamiento del Sistema de Recomendaciones
Algoritmo PSO
Dinámica de partículas
Velocidad Nueva
Velocidad Actual
Experiencia personal
Experiencia grupal
Posición Nueva
Velocidad Nueva
Posición Actual
Vector de 2 dimensiones, que contiene los valores
de k0 y k1
Entrenamiento del Sistema de Recomendaciones
Algoritmo PSO
Dinámica de partículas
Experiencia personal
Experiencia grupal
Ítems evaluados por el usuario objetivo
Grupo de Entrenamiento
Grupo de Validación
Grupo de Prueba
El pBest es calculado con la información del grupo de entrenamiento
El gBest es calculado con la información del grupo de validación
Entrenamiento del Sistema de Recomendaciones
Algoritmo PSO
Fitness
Fitness parcial Voto real Voto
estimado
Fitness Fitness parcial
Cantidad de ítems
Entrenamiento del Sistema de Recomendaciones
Algoritmo PSO
Para cada usuario
Mientras no se alcance la cantidad de iteraciones
Para cada partícula
Actualizar posición y velocidad
Calcular pBest
Calcular gBest partícula
Almacenar factores k0 y k1 para el usuario, obtenidos del gBest
14
Conclusión
Al momento de seleccionar la vecindad se aceptó que hubiesen usuarios con poca correlación, con el fin de agregar algo de diversidad
Agregar la desviación estándar a la función de Breese, busca dar un soporte cuando no haya una vecindad que aporte suficiente información
Para establecer que tipo de información influye más para cada usuario, se incluyeron los factores k0 y k1
Los factores k0 y k1 fueron ajustados con el algoritmo PSO, siendo la posición de cada partícula los valores que minimizan el Fitness