Capítulo 3: Estado del arte del algoritmo PSO. Qué es, como se implementa y algunas aplicaciones en algoritmos de aprendizaje (redes neuronales, SVM, K-Means)
3. PSO
PSO (Particle Swarm Optimization)
Busca resolver problemas con el
comportamiento de enjambres
Velocidad Cada partícula se desplaza en el dominio, e
interactúa con las demás partículas
Además de tener posición y velocidad,
pueden recordar su mejor posición
También pueden conocer la mejor posición
Posición
de otra partícula en la vecindad
4. PSO
Modifica de la velocidad y la
posición de cada partícula Velocidad
Actual
Velocidad ¿Qué tan lejos
Final estoy de mi
mejor
posición?
¿Qué tan lejos
estoy de la
Posición Posición posición de las
Final Actual demás partículas?
5. PSO
La velocidad y posición de cada partícula se modifican con las
siguientes expresiones
Mejor posición
Velocidad Factor Posición
de la partícula i Factor Social
actual Cognitivo actual
Factores Mejor posición
aleatorios global
7. PSO
Factor de Constricción
Asegura la convergencia a un mínimo global evitando que las
partículas detengan su movimiento
Se puede considerar como un caso especial del factor de inercia
8. PSO
PSO binario Posición actual
de la partícula
1 0 1 1 0 0 0 0 1 1
Existe una probabilidad P de que un bit se convierta en 1
Velocidad
0.2 0.1 0.30 0.9 0.5 0.7 0.3 0.8 0.1 0.4 actual de la
partícula
La modificación de la posición de la partícula se da de la siguiente
manera
9. PSO
Sistema de recomendación con PSO
Ponderación de las 22 Calculado con
A características del producto PSO
para el usuario objetivo
Preferencia Se calcula el fitness de cada ítem
de dos
Distancia
usuarios por
Euclideana
el mismo Fitness(i) =
producto Voto estimado – Voto real
El Fitness del usuario es el
A
promedio de los fitness de los
productos
10. PSO
PSO cooperativo (CPSO) para entrenar Redes Neuronales
Enjambre 1 Enjambre 2 Enjambre 3
Solución
Capa de
entrada Capa oculta
Capa de salida
CPSO ajusta las
ponderaciones entre
nodos de la red neuronal
11. PSO
PSO y SVM (Support Vector Machine) en la selección de
características
Atrib. 1 Atrib. 2 Atrib. 3 Atrib. 4 Atrib. 5 Atrib. 6 Atrib. 7 Atrib. 8 Atrib. 9
1 0 0 1 1 1 0 1 1
Se usó un PSO binario, el 1 indica que se utiliza el atributo
El rendimiento de la solución se
prueba con SVM
SVM busca un hiperplano que
separe un conjunto en dos,
maximizando el margen
12. PSO
PSO y K-Means para agrupar documentos
Cada punto es un vector, donde cada elemento es la importancia
de un término en un documento
Minimizar
Un enjambre representa una
cantidad de agrupamientos
posibles para la colección de
documentos
Maximizar Cada partícula mantiene una
matriz, con los centroides de cada
grupo
13. Resumen
PSO se basa en la idea de tener un conjunto de partículas que
simulan el comportamiento de los enjambres
Para evaluar el cambio de velocidad, se considera la variación de la
posición con respecto a la experiencia personal y grupal
Existen mejoras con respecto a la velocidad, ya sea para controlar su
avance, como para controla la dirección de la partícula, que mejoran
el rendimiento de PSO
PSO aplicado a algoritmos de aprendizaje, como redes neuronales,
SVM o K-Means, muestran resultados interesantes