[Red neuronal gráfica] Incrustación de gráficos

Existen principalmente los siguientes métodos para mapear nodos en vectores D-dimensionales:

        ①Ingeniería de características artificiales : importancia del nodo, coeficiente de clúster, Graphlet, etc.

        ②Aprendizaje de representación gráfica : realice un aprendizaje autosupervisado a través de la construcción de recorridos aleatorios, como DeepWalk, Node2Vec , etc.

        ③Descomposición de matriz

        ④ Aprendizaje profundo : red neuronal gráfica

1. Incrustación de gráficos

        El aprendizaje automático de gráficos tradicional requiere ingeniería de características artificiales para convertir gráficos en vectores D-dimensionales. Por otro lado, el aprendizaje de representación gráfica es una característica de aprendizaje automático de la computadora que convierte cada entrada modal en un vector , y este proceso no requiere intervención humana.

         Un vector d-dimensional tiene las siguientes características:

                Dimensión baja : la dimensión del vector es mucho menor que el número de nodos

                Continuo : cada elemento es un número real

                Dense : cada elemento no es 0 (diferente de la codificación one-hot)

        Los vectores de incrustación contienen información de conectividad de la red y se pueden usar para tareas posteriores.

2. Marco básico

        1. Codificador

Ingrese un nodo y genere su vector d-dimensional correspondiente                 después del procesamiento .

        2. Decodificador

Producto escalar                 el vector obtenido por el codificador para obtener la similitud del coseno (escalar, que puede reflejar la similitud de los nodos)

        ! ! ! Cabe señalar que la estructura del codificador y el decodificador se puede reemplazar, no necesariamente un producto de punto, y no necesariamente una similitud de coseno.

        La dirección de la optimización iterativa del marco es hacer que el producto de vectores de nodos similares en el gráfico sea grande y el producto de vectores de nodos diferentes pequeño .

3. Codificadores comunes

        1. Codificador poco profundo

                En esencia, los vectores d-dimensionales de todos los nodos se escriben artificialmente en una matriz Z, y el vector de incrustación se puede obtener multiplicando esta matriz con un vector caliente v, denotado como: Enc(v)=z_v=Z \cdot vdonde Zlos parámetros de la matriz son parámetros de aprendizaje.

        2. Paseo aleatorio

                A partir tudel nodo, genere una secuencia de caminata aleatoria y encuentre vla probabilidad de pasar por el nodo, denotada como: P(v|z_u).

                Se puede calcular mediante la función de activación softmax : \sigma (z)[i]=\frac{e^{z[i]}}{\sum e^{z[i]}}o cálculo sigmoide :S(x)=\frac{1}{1+e^{-x}}

                ① Paso profundo

                        1. Muestreo para obtener un número de secuencias de recorridos aleatorios y calcular la probabilidad condicional

                        2. Optimizar iterativamente el vector d-dimensional de cada nodo, de modo que el producto del número de vectores de nodos coincidentes en la secuencia sea grande y el producto de los vectores de nodos no coincidentes sea pequeño.

        Función objetivo de verosimilitud : \underset{f}{max}\sum logP(N_R(u)|z_u), donde es la secuencia de caminata aleatoria a partir N_R(tu)del nodo, y la estrategia de caminata es .tuR

        Función de pérdida : \iota=\suma\suma -log(P(v|z_u)), donde la probabilidad es calculada por softmaxP(v|z_u)=\frac{exp(z_u^Tz_v)}{\sum exp(z_u^Tz_n)}

         Muestreo negativo : se puede P(v|z_u)=\frac{exp(z_u^Tz_v)}{\sum exp(z_u^Tz_n)}aproximar como log(\sigma(z_u^Tz_v))-\sum_{i=1}^k log(\sigma(z_u^Tz_{n_i}) ), k en esta fórmula es el número de muestras negativas. k generalmente toma de 5 a 20, y los nodos en la misma secuencia de caminata no deben muestrearse como "muestras negativas".

                Nodo2vec

                        Los pasos restantes son los mismos que los de Deepwalk, pero el sesgo de la caminata aleatoria se puede especificar configurando hiperparámetros: BFS: amplitud primero: exploración local; DFS: profundidad primero: exploración global

Supongo que te gusta

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