En estadística y minería de datos , la propagación por afinidad (AP) es un algoritmo de agrupamiento basado en el concepto de "paso de mensajes" entre puntos de datos. [1] A diferencia de los algoritmos de agrupamiento como k -means o k -medoids , la propagación por afinidad no requiere que se determine o estime el número de clústeres antes de ejecutar el algoritmo. De manera similar a k -medoids, la propagación por afinidad encuentra "ejemplares", miembros del conjunto de entrada que son representativos de los clústeres. [1]
Sea x 1 a x n un conjunto de puntos de datos, sin suposiciones sobre su estructura interna, y sea s una función que cuantifica la similitud entre dos puntos cualesquiera, de modo que s ( i , j ) > s ( i , k ) si y solo si x i es más similar a x j que a x k . Para este ejemplo, se utilizó la distancia al cuadrado negativo de dos puntos de datos, es decir, para los puntos x i y x k , . [1]
La diagonal de s (es decir, ) es particularmente importante, ya que representa la preferencia de instancia, es decir, la probabilidad de que una instancia en particular se convierta en un ejemplar. Cuando se establece en el mismo valor para todas las entradas, controla cuántas clases produce el algoritmo. Un valor cercano a la similitud mínima posible produce menos clases, mientras que un valor cercano o mayor que la similitud máxima posible produce muchas clases. Por lo general, se inicializa con la similitud media de todos los pares de entradas.
El algoritmo avanza alternando entre dos pasos de paso de mensajes, que actualizan dos matrices: [1]
Ambas matrices se inicializan con todos los valores cero y pueden verse como tablas de probabilidad logarítmica . A continuación, el algoritmo realiza las siguientes actualizaciones de forma iterativa:
Se realizan iteraciones hasta que los límites del grupo permanecen inalterados a lo largo de una serie de iteraciones o hasta que se alcanza un número predeterminado (de iteraciones). Los ejemplares se extraen de las matrices finales como aquellos cuya "responsabilidad + disponibilidad" para sí mismos es positiva (es decir, ).
Los inventores de la propagación por afinidad demostraron que es mejor para ciertas tareas de visión artificial y biología computacional , por ejemplo, la agrupación de imágenes de rostros humanos y la identificación de transcripciones reguladas, que k -means, [1] incluso cuando se permitieron muchos reinicios aleatorios a k -means y se inicializó utilizando PCA . [2] Un estudio que comparó la propagación por afinidad y la agrupación de Markov en la partición de gráficos de interacción de proteínas encontró que la agrupación de Markov funciona mejor para ese problema. [3] Se ha propuesto una variante semisupervisada para aplicaciones de minería de texto . [4] Otra aplicación reciente fue en economía, cuando se utilizó la propagación por afinidad para encontrar algunos patrones temporales en los multiplicadores de producción de la economía estadounidense entre 1997 y 2017. [5]