Inicio rápido de descubrimiento de la comunidad

Inicio rápido de descubrimiento de la comunidad

Referencia: https://www.bilibili.com/video/BV1gL411Y7c9/

1. Figura: Descripción de datos relacionales

Los datos relacionales, también conocidos como " datos tabulares ", se refieren a los datos descritos en forma de tablas bidimensionales en el modelo matemático relacional. Están organizados en forma de tabla, utilizando filas y columnas para almacenar y representar la relación entre datos.

Los datos relacionales se pueden describir mediante entidades, atributos y bordes . Tome **Estudiantes** como ejemplo:

Identificación del Estudiante Nombre género edad
1 Zhang San masculino 20
2 Li Si femenino 22
  • Entidad: cada fila de la tabla corresponde a una entidad (por ejemplo, Entidad 1: Estudiante "Zhang San"; Entidad 2: Estudiante "Li Si")
  • Relación: se utiliza para describir una determinada relación entre entidades (por ejemplo, el estudiante "Zhang San" y el estudiante "Li Si" son amigos; el estudiante "Zhang San" envía correos electrónicos al estudiante "Li Si"; el estudiante "Zhang San", el estudiante " Li Si" y el estudiante "Wang Wu" están en la misma clase)
  • Atributo: cada columna de la tabla corresponde a un atributo de la entidad (por ejemplo, los atributos del estudiante "Zhang San" incluyen "género": masculino; "edad": 20)

En un modelo de gráfico, los datos relacionales se pueden modelar utilizando nodos y bordes de gráficos, y los datos relacionales se modelan como gráficos o hipergráficos.

  • entidad - punto
  • relación - lado
  • atributos - características

[Error en la transferencia de la imagen del enlace externo, el sitio de origen puede tener un mecanismo de enlace antirrobo, se recomienda guardar la imagen y cargarla directamente (img-zIswjOfa-1690376405047)(assets/image-20230724201507842.png)]

2. Descripción y generación de gráficos.

2.1 Conceptos relacionados con grafo y comunidad

  1. Grado de un nodo : el número de aristas conectadas directamente al nodo.

    • Distribución de grados : la distribución de frecuencia del grado de un nodo.

    • La paradoja de la amistad : en las redes sociales, la mayoría de las personas tienen un número de amigos mayor que el promedio. Es decir, el grado promedio de los vecinos de un nodo suele ser mayor que su propio grado.

  2. Intermediación de bordes (intermediación de bordes) : el número de todos los caminos más cortos a través de este borde, que se utiliza para medir la importancia de los bordes en el gráfico.

  3. Centralidad : conjunto de métricas utilizadas para medir la importancia o influencia de los nodos en un gráfico. La centralidad consiste en evaluar la posición y la influencia de un nodo en la red cuantificando la relación entre el nodo y otros nodos en el gráfico.

    • Centralidad de grado : la centralidad de grado se refiere al número de aristas que un nodo conecta directamente con otros nodos en el gráfico. Los nodos con mayor grado de centralidad se consideran más importantes en la red porque están conectados a más nodos. En un gráfico no dirigido, la centralidad de grado es igual al grado de un nodo; en un gráfico dirigido, se divide en centralidad de grado interno y centralidad de grado externo.
      • Centro/autoridad : el grado de centralidad de los nodos centrales o nodos autorizados.
        • Nodo central: un nodo con un grado de salida relativamente grande en un gráfico dirigido
        • Nodo autorizado: un nodo con un grado de entrada relativamente grande en un gráfico dirigido
    • Centralidad de cercanía : La centralidad de cercanía mide la distancia promedio de un nodo a otros nodos. La distancia es la longitud del camino más corto [también conocido como geodésico] entre nodos. Los nodos con una distancia promedio más baja se consideran más centrales en la red porque es más probable que se comuniquen rápidamente con otros nodos.
    • Centralidad de intermediación : la centralidad de intermediación mide la importancia de un nodo entre otros nodos en el gráfico. La alta centralidad de intermediación de un nodo indica que desempeña un papel clave en la conexión de diferentes nodos en el gráfico. Los nodos con alta centralidad de intermediación suelen desempeñar un papel importante en la transferencia de información, comunicación o transferencia de recursos.
    • Centralidad del vector propio : La centralidad del vector propio tiene en cuenta la importancia de un nodo en sí, así como la importancia de sus nodos directamente conectados. Esta métrica supone que los nodos conectados directamente a nodos con alta centralidad también tienen alta centralidad. Por lo tanto, la centralidad del vector propio puede considerarse como la influencia de los nodos en toda la red.
    • Centralidad de PageRank : PageRank es un tipo especial de centralidad de vector propio utilizado originalmente por Google para clasificar páginas web. Trata la red como una cadena de Markov y realiza recorridos aleatorios en la red, asignando rangos a los nodos según la cantidad de enlaces entrantes que tienen y la calidad de los enlaces.
    • Δ centralidad (centralidad delta) : el número de la ruta más corta entre cada par de nodos que pasan a través del nodo se define como la centralidad Δ del nodo, que se utiliza para medir la contribución de los nodos en el gráfico a la conectividad de la red. .
  4. Gráfico conectado : comenzando desde cualquier nodo del gráfico, puede llegar a cualquier otro nodo del gráfico a través de diferentes caminos a lo largo de los bordes.

    • Componente conectado gigante (Componente conectado gigante, Gigante) : El subgrafo conectado más grande formado por la interconexión de una gran cantidad de nodos. Es el componente fuertemente conectado más grande de la red.
    • Camarilla : un subgrafo completamente conectado.
    • k-core (k-core) : es un subgrafo de G conectado al máximo en el que todos los nodos tienen un grado al menos k
      • Podemos encontrar k-núcleos eliminando iterativamente todos los nodos con un grado menor que k
      • Si un nodo pertenece al núcleo k pero no al núcleo (k+1), entonces el núcleo de este nodo es k
  5. Red de ley de potencia (red sin escala) : una topología de red con un grado de distribución de ley de potencia. En esta red, el grado (número de conexión) de los nodos sigue una distribución de ley de potencia.

    • Distribución de ley de potencias (Distribución de ley de potencias) : una distribución de probabilidad especial, la función de densidad de probabilidad de la distribución de ley de potencias es inversamente proporcional al valor x de la variable aleatoria, generalmente usando la fórmula f (x ) ∝ x − α f(x) ∝ x^{-α}f ( x )Xα , donde α es el exponente de ley potencial de la distribución y normalmente toma un valor positivo mayor que 1.
    • Red BA (Barabasi-Albert) : una red de distribución típica de ley de potencia, que tiende a conectarse a nodos de alto nivel para formar centros, también conocida como "los ricos se hacen más ricos".
  6. Small World Network : un tipo especial de modelo de red caracterizado por un alto grado de agregación y una longitud de ruta más corta promedio, lo que significa que los nodos de la red pueden comunicarse entre sí a través de unos pocos pasos. Al mismo tiempo, un grupo apretado se formó entre los nodos.

  7. Modularidad : un indicador importante utilizado en el análisis de redes para medir la calidad de la estructura de la comunidad de la red. La modularidad mide qué tan estrechamente se compara la estructura comunitaria de una red con una red aleatoria. Mide la calidad de la estructura de la comunidad comparando la diferencia entre el número real de bordes en la red y el número de bordes esperados por una red aleatoria.

    • Resolución : La granularidad o nivel de detalle de una red o gráfico.

    • Los algoritmos basados ​​en modularidad adolecen del problema de limitación de resolución .

      Los algoritmos basados ​​en modularidad son una clase de métodos para el descubrimiento de comunidades que tienen como objetivo dividir las redes en comunidades (también conocidas como módulos) con alta cohesión y bajo acoplamiento. Estos algoritmos suelen encontrar la partición comunitaria óptima maximizando la fuerza de la conexión (modularidad) dentro de la red.

      Sin embargo, el algoritmo puede estar limitado cuando la resolución de la red o del gráfico es baja, es decir, la granularidad de los nodos y bordes de la red es grande. Esto se debe a que a bajas resoluciones, es posible que las comunidades más pequeñas no se identifiquen con precisión ni se fusionen con otras comunidades más grandes durante la segmentación.

      En otras palabras, si la resolución de la red es demasiado baja, el algoritmo puede fusionar comunidades pequeñas que deberían ser independientes en una comunidad más grande, lo que resulta en una pérdida de estructura comunitaria y una mayor ambigüedad. Esto conduce a una disminución en la capacidad del algoritmo para comprender redes o gráficos con estructuras comunitarias más detalladas.

      Por lo tanto, cuando se utiliza un algoritmo basado en modularidad para el descubrimiento de comunidades, es necesario prestar atención a la resolución de la red o gráfico e intentar elegir un algoritmo y una configuración de parámetros que sean adecuados para una estructura de datos determinada. Al mismo tiempo, para redes de mayor resolución, estos algoritmos tienden a funcionar mejor y pueden identificar con mayor precisión estructuras comunitarias detalladas.

  8. Coeficiente de agrupación (Coeficiente de agrupación) : un indicador que se utiliza para medir el grado de agrupación de nodos en el gráfico y se utiliza para analizar la tendencia de los nodos a formar grupos o comunidades en la red.

  9. Transitividad del gráfico (Transitividad) : también conocida como transitividad o cierre triangular, se refiere a la posibilidad de formar triángulos en una red, y se utiliza para medir la existencia de relaciones triangulares entre nodos del gráfico. El cálculo de la transitividad del gráfico implica tripletes cerrados (triángulos) en la red. Un triplete cerrado significa que en una red, si el nodo A está conectado al nodo B, el nodo B está conectado al nodo C y el nodo A está conectado al nodo C, entonces se forma un triplete cerrado.

  10. Grado interno y externo : defina el grado interno del nodo i como su grado en el subgrafo C, el grado externo del nodo i como su grado fuera del subgrafo C, y la suma de los grados internos y externos es el **grado total** del nodo.

    • Comunidad Fuerte y Débil : Titulación Interna > Titulación Externa - Comunidad Fuerte, Titulación Interna < Titulación Externa - Comunidad Débil

2.2 Modelo de gráfico aleatorio

  1. Modelo ER (modelo Erdős-Rényi) : un gráfico se genera conectando aleatoriamente bordes entre nodos con una cierta probabilidad. El grado promedio, la distribución de grados y otras características del gráfico aleatorio generado por el modelo ER se pueden derivar mediante métodos probabilísticos.

    El proceso de generación de un gráfico es el siguiente:

    • Defina el número de nodos y aristas: primero determine el número n de nodos y el número m de aristas en el gráfico.

    • Generar aristas: seleccione m aristas al azar, y cada arista conecta dos nodos con una cierta probabilidad. La probabilidad de generar una arista entre cada par de nodos es independiente e igual.

  2. Modelo Chung-Lu : se utiliza para generar redes sin escala con una distribución de grados media específica. Las redes sin escala se caracterizan por distribuciones de grados de nodos que siguen una distribución de ley de potencia, que es similar a las distribuciones de grados de nodos observadas en muchas redes complejas del mundo real.

    Dada una secuencia de grados promedio objetivo {d1, d2,…, dn}, donde di denota el grado del i-ésimo nodo. El proceso de generación de un gráfico es el siguiente:

    • Crear nodos: primero cree n nodos, donde n es el número de nodos en el gráfico.

    • Asignación de probabilidad de aristas: para cada par de nodos i y j, calcule la probabilidad de conexión p_ij, que está relacionada con el grado promedio objetivo del nodo y el grado del nodo. Generalmente se utiliza la fórmula pij = ki ∗ kj / ( 2 ∗ m ) p_ij = k_i * k_j / (2 * m)pagyoj=kyokj/ ( 2m ) , entre los cualeski k_ikyoy kj k_jkjson los grados medios objetivo de los nodos i y j, respectivamente, y m es la mitad del número de aristas en el gráfico.

    • Conexión aleatoria: para cada par de nodos i y j, con probabilidad pij p_{ij}pagyoConecte los nodos i y j, donde la conexión es un proceso aleatorio.

  3. Modelo de configuración (secuencia de grados) : el modelo Chung Lu es un modelo de probabilidad para la generación de bordes, y la expectativa de la secuencia de grados generada es igual a la original. Para los modelos de configuración, especificamos una secuencia de grados exacta para los nodos, y se considera que todos los gráficos con n nodos y esta secuencia de grados exacta ocurren con la misma probabilidad.

    El proceso de generación de un gráfico generalmente se logra mediante los siguientes pasos:

    • Crear nodos: Primero determine el número de nodos en el gráfico y el grado de cada nodo de acuerdo con la secuencia de grados de los nodos. Para cada nodo i, especificamos los bordes residuales (talones, medios bordes)

    • Conexión aleatoria: los bordes residuales se conectan aleatoriamente hasta que se satisface el grado de cada nodo. Dado que las conexiones aleatorias pueden generar bucles automáticos o bordes repetidos, las conexiones repetidas y los bucles automáticos no se consideran durante el proceso de conexión.

La diferencia entre los tres modelos :

  1. Modelo ER (modelo Erdős-Rényi):
    • Características: El modelo ER es uno de los primeros modelos de gráficos aleatorios propuestos, simple y fácil de entender. Genera aristas basadas en probabilidades de conexión y se puede utilizar para generar gráficos con conexiones aleatorias. El modelo ER puede generar gráficos dispersos, que son adecuados para algunos casos donde las conexiones son escasas.
    • Ventajas: El modelo es simple, fácil de implementar y comprender. Bueno para generar gráficos aleatorios con bordes dispersos.
    • Desventajas: el gráfico generado por el modelo ER a menudo tiene un subgrafo conectado máximo pequeño, que no es adecuado para generar una red sin escala y no puede generar una distribución de grados de nodo de ley de potencia de una red compleja.
  2. Modelo Chung-Lu:
    • Características: El modelo Chung-Lu es un modelo de gráfico aleatorio que se utiliza para generar redes sin escala, que pueden generar gráficos cuya distribución de grados de nodo sigue una distribución de ley de potencia. Conecta nodos aleatoriamente según las probabilidades de conexión y los grados promedio objetivo.
    • Ventajas: Puede generar redes sin escala y es adecuado para estudiar redes complejas con distribuciones de grados de nodos de ley potencial.
    • Desventajas: el proceso de conexión aleatoria puede causar problemas de conexiones repetidas y bucles automáticos en el gráfico.
  3. Modelo de secuencia de grados:
    • Características: El modelo de secuencia de grados es un modelo para generar gráficos aleatorios con una secuencia determinada de grados de nodos. Dada una secuencia de grados de nodo, genera un gráfico que satisface la secuencia de grados conectando nodos aleatoriamente.
    • Ventajas: puede generar un gráfico aleatorio que satisface la secuencia de grados de nodo especificada y es adecuado para estudiar las características de distribución de grados de nodo de redes complejas.
    • Desventaja: no todas las secuencias de grados de nodos dadas pueden generar gráficos legales y es posible que algunas secuencias de grados de nodos no se logren.

3. Modelo de referencia comunitario (benchmark)

Un modelo de referencia comunitario es un estándar o referencia para evaluar y comparar el rendimiento de los algoritmos de descubrimiento comunitario. Nos proporciona un punto de referencia para medir la precisión y eficacia del algoritmo en la segmentación de la comunidad y nos ayuda a comprender las fortalezas y limitaciones del algoritmo.

¿ Por qué tener un modelo de referencia comunitario ?

  • Probar y comparar algoritmos
  • Controlar los niveles de ruido, el tamaño de la comunidad, etc.
  • Los datos gráficos reales rara vez tienen verdad sobre el terreno
  • Existe una verdad sobre el terreno, pero puede no ser coherente con los supuestos subyacentes.

Los modelos de referencia comunes incluyen:

  1. Modelo de particiones plantadas.

    • Número fijo de nodos n y número de comunidades k , para las comunidades, ① distribuimos nodos por igual a cada comunidad, o ② o asignamos cada nodo de forma independiente a las comunidades iii , la probabilidad espi p_ipagyo∑ pi = 1 \sum p_i=1pagyo=1 .

    • Para respectivamente en la comunidad iiyo y la comunidadjjPar de nodos ( i , j ) en j (i,j)( yo ,j ) ,seguimos la probabilidad pij p_{ij}pagyoAñade bordes . Puede especificar p ( i , i ) = pinp(i,i)=p_{in}pag ( yo ,yo )=pagenp ( i , j ) = poutp(i,j)=p_{out}pag ( yo ,j )=pago u tyo ≠ ji≠ji=j .

  2. LFR模型 (modelo Lancichinetti-Fortunato-Radicchi)

    • Fije el número de nodos n y establezca tres parámetros principales : (μ se llama nivel de ruido o parámetro de mezcla )

      • γ 1 \gamma _1C1: El grado del nodo obedece a pn ∝ n − γ 1 p_n\propto n^{-\gamma_1}pagnortenorte−c _1La distribución de la ley de potencia de, el valor recomendado es 2 ≤ γ 1 ≤ 3 2\le \gamma_1 \le 32C13 .

      • γ2 \gamma _2C2: El tamaño de la comunidad obedece a pk ∝ k − γ 2 p_k\propto k^{-\gamma_2}pagkk−c _2La distribución de la ley de potencia de, el valor recomendado es 1 ≤ γ 2 ≤ 2 1\le \gamma_2 \le 21C22 .

      • 0 ≤ µ ≤ 1 0 \en \en \en0metro1 : Para cada nodo, esta es la proporción esperada de bordes conectados a otras comunidades, mientras que1 − μ 1-\mu1μ es la proporción dentro de su propia comunidad.

    • Asignar cada nodo a la comunidad.

      • Existe una variante que permite superponer comunidades
      • Se pueden proporcionar parámetros adicionales para restringir la distribución de títulos (grado promedio y máximo) y el tamaño de la comunidad (mínimo y máximo).
      • Comenzando con un modelo configurado, vuelva a conectar los nodos para aproximarse a la distribución objetivo.
      • Se pueden utilizar otros modelos como BA en la etapa inicial.

    La escalabilidad de LFR es algo limitada, algunos modelos de referencia escalables son:

    • RMAT, que genera gráficos con distribuciones de grados de ley de potencia; utilizado en Graph-500
    • BTER (Bloque ER de dos niveles), genera un gráfico que obedece a la distribución de grados de la ley de potencia y la estructura comunitaria
    • SBM (Stochastic Block Model), que también genera gráficos con estructuras comunitarias. - Su definición más sencilla es una variante del modelo de zonificación de plantación.

4. Segmentación gráfica de la comunidad

Definición de comunidad gráfica: dos supuestos básicos : [Barabasi, Network Science]

  1. La estructura comunitaria de una red es única en su diseño gráfico.
  2. Una comunidad es un subgrafo localmente densamente conectado en la red.

3.1 Dos métodos principales de agrupación

Agrupación/particionamiento de gráficos (agrupación/particionamiento) : particionar los vértices en subgrafos conectados

Agrupación difusa : los nodos no pertenecen/pertenecen a uno o más grupos

Referencia: https://blog.csdn.net/SL_World/article/details/104423536

  1. Agrupación de K-medias (K-medias) : un algoritmo de aprendizaje no supervisado común que se utiliza para dividir un conjunto de muestras de datos sin etiquetar en diferentes grupos. El objetivo de la agrupación es maximizar la similitud de muestras dentro del mismo grupo y minimizar la similitud de muestras entre diferentes grupos.
  2. Agrupación espectral : utilice el espectro (valor propio) de la matriz de similitud de los datos para reducir
    • Considera los datos como puntos en el espacio y hay un borde entre los pares de puntos. Cuanto más lejos está el punto, menor es el peso del borde y cuanto más cerca está el punto, mayor es el peso del borde.
    • Transforma el problema de agrupamiento en un problema de corte de gráficos, lo que minimiza el costo total después de cortar el gráfico. Es decir, los pesos de las aristas entre pares de vértices en un subgrafo son mayores y los pesos de las aristas entre subgrafos son menores . El número de subgrafos obtenidos después de cortar el gráfico es el número de grupos.

Comparación de agrupación de K-medias y agrupación espectral :

  1. principio:

    • La agrupación de K-medias encuentra iterativamente un conjunto de puntos centrales del grupo y divide los datos en K grupos, de modo que la distancia entre cada punto de muestra y el punto central del grupo al que pertenece sea la más pequeña. Mide la similitud entre muestras según la distancia euclidiana.

    • La agrupación espectral es un método de agrupación basado en la teoría de grafos. Considera los datos de muestra como nodos en el gráfico, construye una matriz de similitud calculando la similitud entre nodos y luego realiza una descomposición propia en la matriz de similitud, selecciona los valores propios correspondientes a los primeros vectores propios K y proyecta la muestra. Agrupación en este Espacio K-dimensional.

  2. Resultados de agrupación:

    • La agrupación de K-medias divide las muestras en K grupos que no se superponen, y cada muestra pertenece a un solo grupo.

    • La agrupación espectral no tiene una división rígida de agrupaciones, asigna muestras a un espacio de baja dimensión y agrupa muestras en este espacio. En algunos casos, la agrupación espectral puede lograr una agrupación suave, es decir, los puntos de muestra pueden pertenecer a varios grupos.

  3. Requisitos para la distribución de datos:

    • La agrupación de K-medias tiene altos requisitos en la distribución de datos, supone que los grupos son convexos, tienen varianza igual y el número de muestras en cada grupo es similar.

    • La agrupación espectral tiene requisitos relativamente bajos en cuanto a la distribución de datos y puede manejar grupos no convexos, grupos elípticos y grupos de diferentes tamaños.

  4. complejidad del tiempo:

    • La complejidad temporal de la agrupación en clústeres de K-medias es baja y tiene buena escalabilidad en conjuntos de datos a gran escala.

    • La complejidad temporal de la agrupación espectral es alta, y se consume principalmente en el cálculo de la descomposición propia, por lo que la eficiencia es baja en conjuntos de datos a gran escala.

La elección del algoritmo de agrupamiento debe decidirse de acuerdo con el problema específico y las características de los datos. K-means es una buena opción si los datos se ajustan a los supuestos de K-means y se requieren clústeres con particiones físicas. La agrupación espectral puede ser más adecuada si la distribución de datos es compleja, no convexa o si se desea una agrupación suave.

3.2 Algoritmo de partición de gráficos

  1. Algoritmo GN (algoritmo de Girvan-Newman) : un algoritmo de teoría de grafos para detectar la estructura de la comunidad, su objetivo principal es encontrar conexiones importantes (borde entremedio) en la red y dividir la red en aquellas con alta cohesión y baja comunidad acoplada. .

    Complejidad: O ( m 2 n ) O(m^2n)O ( metro2 n)[m: número total de aristas, n: número total de puntos]

    paso:

    • Calcule la intermediación de todos los bordes de la red, lo que indica la importancia del borde como puente del camino más corto en la red.
    • Encuentre el borde con la mayor intermediación, elimínelo de la red y vuelva a calcular la intermediación de los bordes restantes.
    • Repita los pasos 2 y 3 hasta eliminar todos los bordes.

    Durante cada proceso de eliminación de bordes, el algoritmo GN divide gradualmente la red en múltiples comunidades separadas, ya que los bordes que conectan diferentes comunidades suelen tener una alta intermediación. De esta manera, después de eliminar cada borde, se puede obtener un resultado de división comunitaria.

  2. Algoritmo CNM (Clauset, Newman, Moore) : también conocido como Fast Greedy

    Complejidad: O (n 2) O(n^2)O ( n.2 )con menos gráficos dispersos

    • Inicialmente, cada vértice actúa como un grupo separado.
    • Elija el par de clústeres (si los hay) que mejoren más la modularidad, luego combínelos y deténgase cuando no haya forma de mejorar la modularidad.
  3. Algoritmo de Lovaina : también conocido como algoritmo multinivel (algoritmo multinivel) o algoritmo de plegado rápido (desplegado rápido)

    Complejidad: O (nlogn) O(nlogn)O ( nlogn ) _ _ _ _

    • Inicialmente, cada vértice actúa como un grupo separado.
    • Recorra cada vértice, moviéndolo a la comunidad vecina con el mayor (si es que hay alguno) aumento en la modularidad.
    • Repita los pasos anteriores hasta que no haya margen de mejora.
    • Colapse cada comunidad en un nodo y vuelva a ejecutar los pasos anteriores: otro nivel
    • se detiene cuando el gráfico colapsa en un solo nodo (o cuando el último nivel no se mueve)

  4. Algoritmo de mapa de información : Infomap se basa en la teoría de la información: utiliza un algoritmo de compresión y paseo aleatorio probabilístico para lograr

    Complejidad: O (nlogn) O(nlogn)O ( nlogn ) _ _ _ _

    • Dado G y un esquema de partición inicial, codifique un paseo aleatorio de la manera más eficiente posible
    • Aproveche la propiedad de que los paseos aleatorios tienden a permanecer en el mismo vecindario por más tiempo.
    • Ecuación del gráfico de optimización: el número promedio de caminatas entre comunidades + el número promedio de caminatas dentro de una comunidad
  5. Algoritmo de propagación de etiquetas :

    Complejidad: O (m) O(m)O ( m ) , este algoritmo es rápido pero no siempre converge a una solución.

    • Inicialmente, cada vértice actúa como un grupo separado con su propia etiqueta de grupo.
    • Recorre cada vértice, cada uno tomando la etiqueta más popular entre sus vecinos (usando aleatorio para romper el punto muerto)
    • El algoritmo se detiene cuando cada vértice tiene la misma etiqueta de grupo que la etiqueta que aparece con más frecuencia en su vecindario.
  6. Otros algoritmos:

    • WalkTrap: algoritmo jerárquico basado en caminatas aleatorias de corta distancia. Su complejidad es O ( n 2 logn ) O(n^2logn)O ( n.2 iniciodesesión)_

    • Vector propio principal (vector propio principal): descomposición espectral basada en matrices modulares. Para cada partición doble, su complejidad es O ( n ( n + m ) ) O(n(n+m))O ( norte ( norte+m ))

    • Algoritmo de Leiden: una mejora del algoritmo de Lovaina

    • Algoritmo de ECG: mejora del algoritmo de Louvain, mayor complejidad

5. Comparación de particiones de gráficos (indicadores)

5.1 Métricas de algoritmos no supervisados

  1. Selección del algoritmo de agrupamiento de gráficos

    • calidad del cluster
    • estabilidad
    • Eficiencia (tiempo y espacio)
    • Otro: No es necesario especificar el número de conglomerados (k), la jerarquía de los conglomerados, etc.

    La agrupación de gráficos es un aprendizaje no supervisado, no existe una función objetivo clara y diferentes algoritmos utilizan diferentes funciones objetivo.

  2. Métricas del algoritmo de segmentación de gráficos

    • Una medida de calidad: sim ( T , A ) sim(T, A)soy ( T , _A ) , calcule la función de similitud de la partición del gráfico A para una partición de referencia dada (partición de verdad fundamental) T
    • Una medida de estabilidad: sim ( A , A ′ ) sim(A, A')si ( A , _A ), se comparan varias ejecuciones del mismo algoritmo
    • Comparar resultados entre algoritmos: sim ( A , B ) sim(A, B)si ( A , _B )

5.2 Métricas de similitud de gráficos

  1. Métricas independientes del gráfico : solo observe la información del punto, independientemente de la influencia del borde

    • Basado en recuento por pares: considerando dos particiones de nodos del gráfico, las métricas se basan en elementos por pares en cada grupo en A y B
      • índice jaccard
      • Índice Rand ajustado ( ARI ), el rango de valores es [-1, 1], -1 indica que los resultados de la agrupación son completamente inconsistentes, 0 indica que los resultados de la agrupación son los mismos que los resultados aleatorios y 1 indica que los resultados de la agrupación son completamente consistente
    • Basado en la teoría de la información: basado en información mutua entre A y B
      • Información mutua normalizada ( NMI ), el rango de valores es [0, 1], 0 indica que los dos resultados de agrupación no tienen similitudes y 1 indica que los dos resultados de agrupación son completamente consistentes. NMI no se ve afectado por el número absoluto de resultados de agrupación, pero se centra en la relación relativa y la coherencia entre los resultados de agrupación .
    • Basado en la distribución chi-cuadrado
      • Índice V de Cramer e índice T de Tschurprow
  2. Métricas basadas en gráficos : solo observe la información de los bordes, no considere la información de los puntos

    • AGRI

Sea A la situación comunitaria real de la red G, y sean B1 y B2 el engrosamiento y adelgazamiento de A respectivamente, en algunos casos, A está más cerca de B2 (refinamiento) bajo la medida independiente del gráfico; bajo la medida consciente del gráfico A está más cerca de B1 (más grueso)

  • El número de clústeres es mayor cuando se utilizan métricas independientes del gráfico
  • Las métricas basadas en gráficos generan una menor cantidad de clústeres

Obtener valores altos para ambas métricas es lo que queremos para la agrupación de gráficos, pero las métricas que reconocen y las independientes de los gráficos tienen comportamientos opuestos ( compensación ) al resolver el problema. El algoritmo de ECG puede hacer que ambos logren un mejor resultado.

Resumir:

  • Utilizando una medida de similitud ajustada basada en conjuntos , se puede reducir el sesgo de la medida hacia la granularidad de la partición y eliminar la aleatoriedad.

  • Las métricas independientes de gráficos (ARI, AMI) y conscientes de gráficos (AGRI) son complementarias y deben usarse juntas al evaluar la superioridad de un algoritmo.

5.3 Otros indicadores

  1. características topológicas

    • densidad escalada
    • transitividad interna
  2. Índice de fuerza comunitaria CSI (un indicador propuesto en el documento de ECG): la distribución bimodal de los pesos del ECG cerca de los límites (0 y 1) indica una estructura comunitaria fuerte, por lo que se propone un índice de fuerza comunitaria simple de Wasserstein (CSI) de calidad basado en puntos. ) para la distancia (distancia del Earth Mover)

  3. Detección de anomalías CADA (detección de anomalías consciente de la comunidad detección de anomalías consciente de la comunidad)

    Para cada nodo v ∈ V v\in VvV , ordenN ( v ) N(v)N ( v ) : el número de vecinos de v;N c (v) N_c(v)nortec( v ) : v El número de vecinos que pertenecen a la comunidad que ocurre con más frecuencia (mediante agrupación de gráficos).
    CADA x ( v ) = N ( v ) N c ( v ) , x ∈ { IM , ML } (Algoritmo Info M ap, algoritmo de Lovaina) CADA_x(v)=\frac {N(v)}{N_c (v )}, x\in\{IM,ML\}.(Algoritmo InfoMap, algoritmo de Lovaina)CAD A _ _x( v )=nortec( v )norte ( v ),X{ Yo soy ,M L } ( Información sobre el algoritmo del mapa , _ _ _ _Algoritmo de L o uv ain )

6. Incrustación de gráficos

Incrustación de gráficos La incrustación de gráficos, también conocida como aprendizaje de representación de red, tiene como objetivo mapear la red (nodo) al espacio vectorial (característica) y mapear nodos similares a posiciones cercanas en el espacio vectorial.

¿Qué es "similar"?

  • topológicamente cerca
  • Roles similares en gráficos (por ejemplo: grados de similitud)
  • Propiedades de nodo similares

La mayoría de los algoritmos para la incrustación de gráficos se basan en recorridos aleatorios y el método SkipGram para la incrustación de palabras .

SkipGram en PNL: utilice una ventana deslizante para combinar las palabras relevantes de cada contexto de palabras para construir un "vector de palabras", que corresponde a la figura:

  • palabra - nodo
  • Contexto de una palabra: el vínculo entre un nodo y los nodos circundantes.

¿Cómo encontrar ese enlace? - paseo aleatorio - node2vec

node2vec : Define paseos aleatorios sesgados (sesgados: la probabilidad de saltar de un punto a otro es diferente) mezclando primero la búsqueda en amplitud y profundidad. parámetro clave:

  • p: controla la probabilidad de volver a visitar el mismo nodo (permanecer cerca)
  • q: Controla la probabilidad de explorar más

La siguiente figura es un ejemplo, suponiendo que el nodo actual vvEl nodo en el último momento de v es ttt (es decir, nodovvv es el nodo esclavottt transferido), define el nodo esclavovvv camina hacia los nodosx 1, x 2, x 3 x_1,x_2,x_3X1,X2,X3La probabilidad entre es α \alphaα . Entre ellos, el nodovvv viaja al nodo tten el momento anteriort nodos conectados directamentex 1 x_1X1La probabilidad es 1, camina hacia otros nodos ( x 2 , x 3 x_2,x_3X2,X3) con probabilidad 1/q 1/q1/ q , vuelve al nodo del momento anteriorttt tiene probabilidad1/p 1/p1/ pp , qp,qpag ,q es un parámetro ajustable.

nodo vvLa expresión matemática de la probabilidad de que v camine hacia otros nodos en el siguiente momento es:
α pq ( t , x ) = { 1 p si dtx = 0 1 si dtx = 1 1 q si dtx = 2 \alpha_{pq}( t, x)=\left\{\begin{array}{ll} \frac{1}{p} & \text { if } d_{tx}=0 \\ 1 & \text { if } d_{tx} =1 \\ \frac{1}{q} & \text { if } d_{tx}=2 \end{array}\right.apq( t ,x )= pag11q1 si  dtx _=0 si  dtx _=1 si  dtx _=2
Los parámetros permiten hacer concesiones entre:

  • P baja : exploración local; esto se centrará en la estructura de la comunidad (homogeneidad) en la topología del gráfico ;
  • Baja q : explorar más lejos; esto permite capturar algunas similitudes estructurales entre nodos (por ejemplo: centros, puentes);

Los parámetros P y q de node2vec tienen valores diferentes y los vectores de características de incrustación obtenidos tienen diferentes efectos de visualización en un espacio bidimensional. Como se muestra en la figura siguiente, cuando p es relativamente pequeño y q es relativamente grande, el algoritmo presta más atención a las características locales y las características integradas son relativamente similares localmente (figura anterior); cuando p es relativamente grande y q es relativamente pequeño , el algoritmo tiende a capturar algunos puntos estructuralmente similares (abajo).

Otros algoritmos de incrustación de gráficos :

Los resultados entre diferentes algoritmos pueden variar mucho y también variarán mucho con la elección de los parámetros. ¿Cómo comparar el efecto de incrustación de los algoritmos?

  • Núcleo: use el vector incrustado para construir un gráfico aleatorio con la misma distribución, compare la divergencia JS del gráfico aleatorio y el gráfico original. Si es pequeño, significa que es similar y luego el efecto de incrustación es bueno .

    Primero, los nodos en el gráfico original se convierten en representaciones vectoriales mediante un algoritmo de incrustación, y estas representaciones vectoriales pueden capturar las relaciones y características entre los nodos. Estos vectores luego se utilizan para construir un gráfico aleatorio isodistribuido (generalmente generado por un proceso estocástico), es decir, se genera un nuevo gráfico que es similar al gráfico original en términos de distribución de nodos.

    A continuación, se mide la diferencia entre el gráfico aleatorio y el gráfico original calculando su divergencia JS. La divergencia JS (divergencia de Jensen-Shannon) es una medida de la diferencia entre dos distribuciones de probabilidad. Cuando la divergencia JS es menor, significa que las dos distribuciones de probabilidad están más cerca, es decir, el gráfico aleatorio y el gráfico original son más similares en la distribución de nodos.

    Por lo tanto, si los vectores obtenidos mediante la incrustación pueden preservar la relación y las características entre los nodos en el gráfico original, entonces la divergencia JS entre el gráfico aleatorio distribuido idénticamente construido usando estos vectores y el gráfico original será pequeña, lo que indica que el efecto de incrustación es bueno. .

Dada una distribución de grados w = ( w 1 , w 2 , . . . , wn ) w=(w_1,w_2,...,w_n)w=( w1,w2,... ,wnorte) en n vérticesG = ( V , E ) G = (V , E)GRAMO=( V ,E ) y su incrustación de vértices en un espacio k-dimensional,ε : V → R k \varepsilon :V\to \mathbb{R}^kmi:VRk , nuestro objetivo es asignar una **"puntuación de divergencia"** a esta incrustación, que se utiliza para comparar las diferencias de diferentes resultados de incrustación en múltiples dimensiones. Cuanto menor sea la puntuación, mejor será la incrustación. Esto nos permitirá comparar los resultados de múltiples incrustaciones en diferentes dimensiones.

Resumen del proceso :

El gráfico no aleatorio (gráfico original) exhibe una estructura similar a la de una comunidad, por lo que generalmente:

  1. Agrupar nodos en clústeres (utilizando un algoritmo/marco de agrupación para agrupar)
  2. Mida la densidad de los bordes entre y dentro de los grupos
  3. Compárelo con la densidad predicha del modelo espacial en el espacio de incrustación (vectorial) calculando la puntuación de divergencia.
  4. Elija la inserción con la puntuación más alta

Los algoritmos/marcos de agrupación se centran principalmente en dos perspectivas:

  • Vista de topología de gráficos: un algoritmo de agrupación de gráficos bueno y estable (ECG, Louvain o InfoMap)
  • Vista espacial: presentación de un modelo geométrico Chung-Lu (GCL) basado en la distribución de grados w y la incorporación de ε

Algoritmo para calcular la puntuación de divergencia incrustada :

Configuración G = ( V , E ) G = (V, E)GRAMO=( V ,E ) , está enVVLa distribución de grados wwen Vw , y la incrustación ε de sus vértices: V → R k \varepsilon :V\to \mathbb{R}^kmi:VRk , realice los siguientes cinco pasos. La puntuación de divergencia incorporadaΔ E ( G ) \Delta E(G)ΔE ( G ) , el algoritmo se puede aplicar para comparar las métricas de puntuación de divergencia de varios algoritmos de incrustación y seleccionar el mejor ( el más pequeño).

  • Paso 1: en GGEjecute algún algoritmo de agrupación de gráficos estable en G para obtener el conjunto de vértices VVParticiónCC de VC , un total delll comunidadesC 1 , C 2 , . . . , C l C_1,C_2,...,C_lC1,C2,... ,Cyo
  • El segundo paso: dejar ci c_iCyoIndica que ambos puntos finales están en C i C_iCyoLa proporción de aristas en ci, j c_{i,j}Cyo , jDenota un punto final en C i C_iCyoy el otro punto final está en C j C_jCj中的边的比例,定义c ˉ = ( c 1 , 2 , … , c 1 , ℓ , c 2 , 3 , … , c 2 , ℓ , … , c ℓ − 1 , ℓ ) , c ^ = ( c 1 , … , c ℓ ) \mathbf{\mathbf { \bar{c} }}=\left(c_{1,2}, \ldots, c_{1, \ell}, c_{2,3}, \ ldots, c_{2, \ell}, \ldots, c_{\ell-1, \ell}\right), \hat{\mathbf{c}}=\left(c_{1}, \ldots, c_{ \ell}\derecha)Cˉ=( c1 , 2,,C1 ,,C2 , 3,,C2 ,,,C1 ,),C^=( c1,,C) ,estos vectores se derivan del gráficoGGEl ángulo de G caracteriza la particiónCC.C , incrustandoε \varepsilonε no afectac ˉ \bar{c}Cˉ yc ^ \sombrero{c}C^
  • A continuación, debe repetir los pasos 3 y 4 para un rango de valores de α
  • Paso 3: Dado α ∈ R + \alpha \in \mathbb{R}_+aR+,para G ( W , E , α ) \mathcal{G}(\mathbf{W},\mathcal{E},\alpha)GRAMO ( W ,mi ,α ) Modelo GCL (también se pueden usar otros modelos estables) para calcular ①bi b_ibyo: C i C_iCyoLa expectativa proporcional del borde interior, ② bi, j b_{i,j}byo , j: C i C_iCyoUno de los puntos finales y C j C_jCjLa expectativa proporcional del borde del otro punto final en, calculada como b ‾ E ( α ) = ( b 1 , 2 , … , b 1 , ℓ , b 2 , 3 , … , b 2 , ℓ , … , b ℓ − 1 , ℓ ) , b ^ E ( α ) = ( b 1 , … , b ℓ ) \overline{\mathbf{b}}_{\mathcal{E}}(\alpha)=(b_{1,2) } ,\ldots,b_{1,\ell},b_{2,3},\ldots,b_{2,\ell},\ldots,b_{\ell-1,\ell}),\hat{\ mathbf {b}}_{\mathcal{E}}(\alpha)=(b_1,\ldots,b_\ell)bmi( un )=( segundo1 , 2,,b1 ,,b2 , 3,,b2 ,,,b1 ,) ,b^mi( un )=( segundo1,,b) ,estos vectores se derivan de la incrustación ε \varepsilonEl ángulo de ε caracteriza la particiónCC.C. _
  • Paso 4: Calcule c ˉ \bar{c} usando la divergencia de Jensen-Shannon (JSD)Cˉb ‾ E ( α ) \overline{\mathbf{b}}_{\mathcal{E}}(\alpha )bmi( α ) yc ^ \hat{\mathbf{c}}C^b ^ E ( α ) \hat{\mathbf{b}}_{\mathcal{E}}(\alpha)b^mi( α ) En la función aleatoria, y conΔ α = 1 2 ⋅ ( JSD ( c ‾ , b ‾ ( α ) ) + JSD ( c ^ , b ^ ( α ) ) ) \Delta_{\alpha}=\frac {1}{2}\cdot(JSD(\overline{\mathbf{c}},\overline{\mathbf{b}}(\alpha))+JSD(\hat{\mathbf{c}},\hat {\mathbf{b}}(\alpha)))Da=21( J S D (C,b( un ))+JSD ( _ _C^ ,b^ (α))), que es la puntuación (diferencia) dada α.
  • Paso 5: De los pasos repetidos 3-4, obtenemos una serie de Δ α \Delta \alphaΔ α , seleccione^ = argmin α Δ α \hat \alpha = argmin _{\alpha}\Delta _{\alpha}a^=arg min _ _ _aDa, define la función de amortización como Δ ε ( G ) = Δ α ^ \Delta _{\varepsilon}(G)=\Delta _{\hat \alpha}Dmi( GRAMO )=Da^

Para comparar múltiples incorporaciones del mismo gráfico G, repetimos los pasos 3 a 5 anteriores y comparamos puntuaciones de divergencia (las puntuaciones de divergencia más bajas son mejores); los pasos 1 a 2 se realizan una vez, por lo que usamos el mismo gráfico para cada incorporación Divida el algoritmo en lll comunidades.

Supongo que te gusta

Origin blog.csdn.net/weixin_44624036/article/details/131936503
Recomendado
Clasificación