Este documento describe el uso de algoritmos evolutivos para mejorar los perfiles de usuario y recomendaciones de productos en comercio electrónico. Explica cómo se usan modelos de matrices de atributos y algoritmos genéticos para analizar el comportamiento de navegación de los usuarios, valorar productos y ajustar los perfiles de usuario. El proceso involucra generar clusters de usuarios, codificar preferencias en cromosomas y aplicar operadores genéticos como mutación y recombinación para mejorar las recomendaciones.
1. Algoritmo Evolutivo – Ecommerce.
Mejorando los perfiles de usuario para el comercio electrónico mediante algoritmos
genéticos (Improving UserProfiles for E-commerce by Genetic Algorithms.)
Problem 1. Imaginar el conjunto de
items, I, u representa al usuario
navegando por la web. Objetivo:
Obtener la lista de deseo, “wish
list” Iu E I
Es decir la lista de items que son
valorados en base a los intereses
de u.
2. Obtener una lista de productos para unusuario
requiere de 3 Pasos:
●
Obtener la percepción del usuario, data sobre el
comportamiento del usuario.
●
Valorar los productos. La predicción de los
intereses del usuario es utilizada para generar la
lista de productos.
●
Ajustar las configuraciones del usuario. Utilizar el
feedback o el comportamiento siguiente al
mostrar el listado de productos.
Algoritmo Evolutivo – Ecommerce.
4. Algoritmo Evolutivo – Ecommerce.
I FASE: YODA utiliza modelos de matrices de atributos (FM) es una estructura de
dato representada por un hyper-cube, a través de estos navega por los patrones
de los usuarios activos y se genera clusters que asocia el comportamiento de un
usuario por su navegacion.
Usa medidas de similitud “Project Pure Euclidean Distance” para evaluar la
similitud de un usuario por la forma en que navega y asociarlo a un cluster.
II FASE: Valoración de itemes, se realiza mediante dos pasos:
II.a Recomendaciones expertas: listas de valoraciones de productos realizados
por expertos humanos.
II.b Clusters de usuarios, Clusters de patrones de navegación.
Item:
Lista de Productos:
5. Algoritmo Evolutivo – Ecommerce.Algoritmo Evolutivo – Ecommerce.Algoritmo Evolutivo – Ecommerce.
III FASE: Adjustando las configuraciones del usuario, Comprende el algoritmo de
aprendizaje, utiliza algoritmos genéticos para mejorar la lista de valores
confiables, decodificando el mejor cromosoma para reemplazar el existente. Los
usuarios no son necesarios en esta etapa para mejorar estos valores de
confianza. Esto sólo se puede realizar si se tiene suficiente data.
Asumiendo que los usuarios sólo navegan por los itemes potencialmente
deseables, la preferencia de itemes puede ser estimada por el comportamiento
de navegación.
Identificando Los elementos del algoritmo Genético:
1 ) Los cromosomas representan un perfil de usuario.
2 ) Gen, involucra dos tipos de registro,
2.1 ) información confidencial del usuario.
2.2 ) valor de corte difuso, L=número de términos difusos, (ṭ + 1) /L donde
t E [0, L-1] = valor del gen.
6. Algoritmo Evolutivo – Ecommerce.
III FASE:
Función fitness: asocia un perfil de usuario a un sólo cromosoma, el último valor
del gen representa el corte difuso de usuario. La función fitness decodifica el
cromosoma en una lista de productos deseados, La medida de similaridad que
utiliza el algoritmo está dado por la ecuación 12, estando basado en dos medidas.
La ecuación 10 evalua la similaridad en las valoraciones de productos.
La ecuación 11 evalua la medida promedio de satisfacción del usuario con la lista
de productos deseados.
7. En resumen una vez el proceso de
aprendizaje es ejecutado, el mecanismo de
aprendizaje convierte el comportamiento de
navegación a un relevante feedback, Luego
se codifica la lista de productos a un
cromosoma y aleatoriamente genera otros
cromosomas como población inicial.
Algoritmo Evolutivo – Ecommerce.
8. Elementos de un Algoritmo Evolutivo.
operadores geneticos:
mutación, recombinación(crossover uno o dos genes)
función fitness: Función que identifica cual individuo de la
población es mejor que otro. (Proceso de Selección)
Población: Conjunto de individuos.
Individuo: está compuesto de genes, (solución).
Genes: atributos que componen una solución.
9. Programación Genética.
Referencias: A review of Evolutionary Algorithms for E-commerce. Alex A. Freitas.
Improving User Profiles for E-Commerce by Genetic Algorithms. - Yi-Shin Chen and Cyrus Shanabi.
10. Según La Universidad de Oviedo1, Es la extensión del modelo de aprendizaje en el espacio de
soluciones. Esto quiere decir que el objeto que constituye la población no es de un tamaño exacto
(una cadena de caracteres en el algoritmo genético) que codifica posibles soluciones al
problema. Sino consiste en árboles (cada uno referencia a un programa, árboles de código
ejecutable, también puede ser grafos, u otra entidad). Tiene que satisfacer dos propiedades
suficiencia y closure.
1 http://www.uniovi.es/, http://www6.uniovi.es/ftp/pub/EC/FAQ/www/Q1_5.htm
2 http://www.talkorigins.org/ - Universidad de Ediacara
GECCO - Genetic and Evolutionary Computation Conference.
http://www.sigevo.org/gecco-2014/
Programación Genética.
12. Conjunto Nodos Internos = “Function Set/Nodos
internos”
Conjunto de nodos Terminales = “Terminal
Set/Nodos Terminales”.
Se menciona en el artículo talkorigins, varios de sus trabajos
en el ámbito de computación evolutiva:
http://en.wikipedia.org/wiki/John_Koza
Programación Genética.
13. Métodos de Adaptación:
Crossover/recombinación/mezclado:
Mezclar o Combinar y se divide en “Subtree Crossover” y “Point
Crossover”.
Mutación.
Existen Varios tipos de operadores genéticos entre ellos
“subtree mutation” y “point mutation”.
Programación Genética.
14. Programación Genética – Crossover.
Aleatoriamente selecciona subárboles/ramas del
individuo/programa seleccionado con la función
de fitness (padres seleccionados) y los
intercambian.
Subtree Crossover
15. Programación Genética – Crossover.
Point Crossover
Se elije un punto de corte de forma aleatoria, donde lo que se encuentre
luego del punto de corte será desechado y el resto se unirá en un nuevo
individuo/programa/solución.
17. Mutación-subárboles: Selecciona
aleatoriamente una rama o sub árbol, y este
es sustituido por una rama generada
aleatoriamente bajo restricciones de
profundidad y tamaño.
Programación Genética – Mutación.
Subtree Mutation
18. Point Mutation
Mutación-Punto/Nodo: Selecciona aleatoriamente un nodo,
y este es sustituido por un nodo del mismo tipo, al referime
a tipo terminal(variable/constraint) o nodo interno(función).
Programación Genética – Mutación.
19. Evitar la homogenización de la población, ya
que impide que el algoritmo siga explorando
soluciones y se queda estancado en un mínimo
local. En estos casos se debería mutar al
individuo.
Limitaciones.
21. Tareas en Ecommerce.
Recuperación de la información,
descubriendo de estrategias de negociación,
mejorando la presentación de páginas web.
Ubicación de banners para maximizar el número de
clicks y tener mayor ganancia por publicidad.
Detección de Fraude.
Automatizado de estrategias de negocio para
subastas (incremento de la puja, monto mínimo)
(bids y offers). Sistema de Recomendaciones.
22. Un enfoque evolutivo para apoyar el diseño
de páginas web3.
El sistema fue diseñado para optimizar las plantillas de páginas web consistiendo principalmente de
imágenes en formas de rectángulos. El problema es organizar n>= 1 rectangulos (imagenes) . R1 ..
Rn sobre un gran rectángulo (página web) de tal manera que exista algún criterio que permita
optimizar de la calidad de plantilla.
Programación Genética – Ecommerce.
23. Un layout(Plantilla)
es obtenida por dividir
el gran rectángulo en
N rectangulos más
pequeños.
Usando el método de
partición binaria
recursiva.
Entonces una plantilla
es representada por
un arbol binario con n
hojas, cada uno de
estos representa un
rectangulo ri.
Programación Genética – Ecommerce.
24. Función fitness: toma en cuenta dos factores/restricciones:
La cantidad de espacios en blancos en el layout(espacio
que no es usado por una imagen).
El tamaño de la escala usada para ajustar las imágenes en
la página web.
Estos factores se deben minimizar, mientras más pequeño
estos valores más se aproxima a la solución candidata.
Programación Genética – Ecommerce.
25. Web Usage Mining Using Artificial Ant Colony Clustering and Genetic Programming.
Ajith Abraham
Department of Computer Science,
Oklahoma State University,
Tulsa, OK 74106, USA
Vitorino Ramos
CVRM
GeoSystems Centre,
Technical Universit
y of Lisbon, Portugal
Algoritmo Evolutivo – Ecommerce.
26. ●
Parametros definidos:
●
Frecuencia de mutación.
●
Frecuencia de recombinación/crossover
●
Frecuencia de reproducción.
●
●
El operador crossover actua intercambiando la secuencia
de instrucciones, entre los dos ganadores del torneo
/competencia.
●
Despues de un enfoque de prueba y error, para medir que
modelo es mejor se seleccionaron los siguientes
parámetros:
Algoritmo Evolutivo – Ecommerce.
27. ●
Population size: 500
●
Maximum no. of tournaments : 120,000
●
Mutation frequency: 90%
●
Crossover frequency: 80%
●
Number of demes: 10
●
Maximum program size: 512
●
Target subset size: 100
Algoritmo Evolutivo – Ecommerce.
28. Bibliografía.
[1] http://www.uniovi.es/, http://www6.uniovi.es/ftp/pub/EC/FAQ/www/Q1_5.htm
[2] http://www.talkorigins.org/ - Universidad de Ediacara
[3] Funch MM. (2000) An evolutionary approach to support web page design. Proc 2000 Congres on Evolutionary
Computtion (CEC-2000), pp 1312-1319. IEEE Press. Piscataway, NJ
[4] Improving UserProfiles for E-commerce by Genetic Algorithms. Yi shin Chen and Cyrus Shanabi. Integrated
Media Systems Center and Computer Science Departament, University of Southen, Los Ángeles.