[Red neuronal gráfica] Ingeniería de funciones gráficas

1. Características de los gráficos

        Las características que tienen los propios puntos del gráfico se denominan características de atributo (como: peso de conexión, tipo de nodo, etc.), y las características de atributo son multimodales la mayor parte del tiempo .

        La relación de conexión entre un nodo y otros nodos en el gráfico se denomina función de conexión (información estructural)

        Las características extraídas y construidas manualmente se denominan ingeniería de características . (Convierta el gráfico en un vector) La ingeniería de características generalmente se construye para las características de conexión del gráfico

2. Ingeniería de funciones a nivel de nodo

        En general, las funciones de conexión a nivel de nodo se dividen en:

                ①El número de conexiones del nodo

                ②La importancia de los nodos

                ③Coeficiente de agregación de nodos (si existe una conexión entre un nodo y sus nodos adyacentes)

                ④ Información del subgráfico del nodo (cuántos subgráficos definidos artificialmente alrededor de un nodo)

        1. Número de conexiones de nodos

                         Si desea encontrar el número de conexiones de nodos, puede sumar directamente según una determinada fila/columna; o multiplicar la matriz de adyacencia con un vector con un valor de 1. Sin embargo, el número de conexiones de nodos no tiene en cuenta la calidad de las conexiones, por lo que se introducen los siguientes tres indicadores para medir la calidad de las conexiones de nodos.

        2. Importancia del nodo

                ① Centralidad del vector propio

                La importancia de un nodo = la suma de la importancia de sus nodos adyacentes , la fórmula se expresa como:

                        c_v=\frac{1}{\lambda}\sum c_u        donde \lambdasolo para la normalización

                Debido a que es un algoritmo recursivo, el cálculo real se convierte en el problema de encontrar el vector propio de la matriz de adyacencia Una matriz

                        \lambda c=AcDonde c es el vector propio         de la matriz de adyacencia A (compuesta por la importancia de todos los nodos conectados al nodo); la matriz de adyacencia A se utiliza para representar los atributos de conexión de estos nodos, es decir, \lambdala importancia del nodo objetivo.

                ② Centralidad intermedia

                Se utiliza para medir si un nodo está en una garganta de tráfico; el método de cálculo es: para todos los nodos en el dominio conectado excepto el nodo requerido , averigüe cuántas de las distancias más cortas deben pasar por el nodo. Como se muestra abajo:

                 c_A=c_B=c_E=0, while c_C=3(la ruta es: A- C -B, A- C -D, A- C -DE)c_D=3

        3. Coeficiente de agrupamiento

                El método de cálculo es: el número de conexiones entre los nodos circundantes del nodo/el número de conexiones entre el nodo y los nodos circundantes, y el rango de valores es [0,1]... (la comprensión simple es el número de triángulos ). Vea el siguiente ejemplo para más detalles:

           

                 Los resultados del cálculo son: e_v=\frac{6}{c_{4}^{2}}=1, e_v=\frac{3}{c^2_4}=\frac{3}{6}=0,5,e_v=\frac{0}{c^2_4}=0

                 Esta conexión triangular se llama: ego- red

        4.graflet

                El mismo número de nodos constituye un subgrafo no isomorfo (similar a los isómeros), por ejemplo, 4 nodos pueden constituir 6 grafos.

                 Extraiga el número de grafiteros alrededor de un nodo para formar un vector de grados de grafiteros (GDV), como se muestra en la siguiente figura:

                 Hay tres posibles formas de subgrafos para el nodo u, y los tipos de subgrafos que contienen u nodos se enumeran respectivamente

                 GDV puede describir la información de topología de vecindad local del nodo u .

3. Ingeniería de características a nivel de conexión

        Propósito: Completar conexiones desconocidas a través de conexiones conocidas. Hay dos formas de obtener un vector D-dimensional:

                ① Extrae directamente las características de la conexión

② Reúna                 los vectores D-dimensionales que conectan los nodos en ambos extremos (pero este método perderá la información de conexión del enlace en sí)

        El método general para la predicción de conexiones es:

                ① Obtener el vector D-dimensional conectado

                ② Envíe el vector D-dimensional al aprendizaje automático para el cálculo y obtenga la puntuaciónc(x, y)

                ③ c(x, y)Ordene las puntuaciones y seleccione las n nuevas conexiones más altas

                ④ Calcule los n resultados previstos y el valor real

        1. Características de conexión

                Las características de conexión generalmente se dividen en: ① distancia entre nodos; ② información de conexión local de nodos; ③ información de conexión de nodos en el gráfico completo

                ①Longitud de ruta más corta

                Es decir, la cantidad de nodos en el camino con la menor cantidad de nodos entre dos puntos, pero es lo mismo que la cantidad de conexiones de nodos, solo el número y no el peso.

                ② Información de conexión local basada en dos nodos

                El número de nodos adyacentes comunes, relación de intersección y unión, etc. Sin embargo, si no hay conexión local entre los dos nodos, la relación de intersección y el número de nodos adyacentes comunes será 0. Por ejemplo, no hay conexión local entre A y E en la siguiente figura.

                 ③ Índice de Katz

                Indica el número de caminos de longitud k entre el nodo u y el nodo v. Método de cálculo: use la potencia de la matriz de adyacencia para calcular, de la siguiente manera:

                        P_{uv}^{(2)}=\sum A_{ui}*P_{iv}^{(1)}=\sum_i A_{iv}=A_{uv}^2

                El significado real de esta fórmula es: A_{ui}= vecino i que está a 1 paso de u = P_{iv}^{(1)}si i está a 1 paso de v

                 Se puede saber por inducción matemática que la matriz de longitud  yo es A_{uv}^l(  el elemento de la fila u y la columna v en la potencia de  la matrizA_{uv}yo )

                La fórmula del coeficiente de Katz se puede simplificar como:

                        s=\sum \beta^iA^i=(I-\beta A)^{-1}-I        Entre ellos \betase encuentra el coeficiente de reducción, que está entre 0 y 1, Ies la matriz identidad.

4. Ingeniería de características a nivel de imagen completa

        El propósito es extraer las características de toda la imagen y convertirla en un vector D-dimensional para reflejar las características estructurales de toda la imagen.

        De hecho, está calculando la cantidad de características diferentes en el gráfico (piense en el gráfico como un artículo y el nodo como una palabra: bolsa de nodos)

                Pero este método tiene una falla, es decir, solo mira si existe el i-ésimo nodo y no se preocupa por la estructura de conexión.Los vectores D-dimensionales codificados en los dos gráficos de la figura a continuación son consistentes, ambos son [1 1 1 1 ]

         También se puede usar Bag-of-Node-degrees, pero lo mismo solo mira el grado del nodo , no el nodo o la estructura de conexión.

         Bag-of-xxx se puede extender a cualquiera de las características mencionadas anteriormente . Por ejemplo, los grafos de todo el gráfico se utilizan como escenario de aplicación. En comparación con los grafos a nivel de nodo, existen las siguientes diferencias: ① nodos aislados puede existir ; ② el objeto de conteo es el gráfico completo , en lugar de vecindarios de nodos específicos.

El Graphlet Kernel (una cantidad escalar) se puede obtener multiplicando          los graphlets de los dos gráficos . Este índice puede reflejar si los dos gráficos son similares/coincidentes. La fórmula se registra como:

                K(G,{G}')=f_g^Tf{G}'

                Si los tamaños de las dos imágenes son inconsistentes, deben normalizarse

        Pero este enfoque consume mucha potencia informática . Por lo tanto, generalmente se utiliza el algoritmo Weisfeiler-Lehman Kernel , y se adopta la idea de refinamiento de color ( Color refinement ) , el método específico es el siguiente:

                        ① Inicialice el gráfico con un código

②Ajuste el código según el número de conexiones                          de nodos específicos

                         ③Reemplace diferentes códigos con diferentes colores (Hash)

                                

                Los pasos anteriores se pueden repetir, y los dos últimos nodos con la misma estructura siempre tendrán el mismo color.

                 Esto convierte cada gráfico en un vector de menor dimensión. El kernel de Weisfeiler-Lehman se puede obtener tomando el producto interno de los vectores de estos dos gráficos

                 Las operaciones anteriores se pueden registrar como: c^{(k+1)}(v)=HASH(\{c^{(k)}(v),\{c^{(k)}(u)\}_{u \in N(v )}\}), k significa que el proceso de codificación anterior ha llevado a cabo k pasos, y significa que se han capturado k conexiones de salto en la figura

Supongo que te gusta

Origin blog.csdn.net/weixin_37878740/article/details/129591176
Recomendado
Clasificación