Varios métodos comunes de incrustación de gráficos
Antes de presentar la incrustación de gráficos, primero revisemos qué es la incrustación. La incrustación es una función matemática que asigna puntos en un espacio a otro espacio, generalmente desde un espacio abstracto de alta dimensión a un espacio concreto de baja dimensión. La importancia de la incrustación es convertir datos de alta dimensión en datos de baja dimensión; al mismo tiempo, también resuelve el problema de que el vector único tiene diferentes longitudes a medida que cambia la muestra y no puede expresar la correlación entre dos entidades. La importancia de la incrustación es convertir datos de alta dimensión en datos de baja dimensión para facilitar el procesamiento del algoritmo. Al mismo tiempo, resuelve el problema de que la longitud del vector one-hot cambia con el cambio de muestras y no puede expresar la correlación entre ellos; dos entidades.
El método de incrustación más utilizado es word2vec, que encuentra la incrustación de cada palabra en función de la relación de aparición de las palabras en el corpus. Hay dos modelos de word2vec de uso común, a saber, cbow y skip-gram. cbow predice la palabra central según el contexto y skip-gram predice la palabra central según el contexto (consulte los principios matemáticos en word2vec para obtener más detalles). Por lo tanto, dado que las palabras en el lenguaje natural se pueden incrustar a través de relaciones de ocurrencia, comparando el gráfico con todo el corpus y los nodos del gráfico con palabras, ¿podemos también incrustar los nodos en el gráfico a través de relaciones de ocurrencia? Para word2vec, cada oración del corpus puede describir la relación presente entre palabras. Entonces, para los gráficos, ¿cómo describir esta relación presente? En la siguiente sección, detallaremos varios métodos diferentes de incrustación de gráficos.
La idea central de la incrustación de gráficos es encontrar una función de mapeo para transformar cada nodo de la red en una representación latente de baja dimensión. La siguiente figura muestra varias clasificaciones comunes de incrustaciones de gráficos:
DeepWalk cierra la brecha entre las incrustaciones de red y las incrustaciones de palabras al tratar los nodos como palabras y generando recorridos aleatorios cortos como oraciones. Luego se pueden aplicar modelos neurolingüísticos como Skip-gram a estos paseos aleatorios para obtener integraciones de red. Sus ventajas son: primero, puede generar paseos aleatorios bajo demanda. La combinación de paseo aleatorio y Skip-gram convierte a DeepWalk en un algoritmo en línea ya que el modelo Skip-gram también está optimizado para cada muestra. En segundo lugar, DeepWalk es escalable y el proceso de generación de paseos aleatorios y optimización de modelos Skip-gram se puede paralelizar de manera eficiente. Lo más importante es que DeepWalk presenta el paradigma de los gráficos de aprendizaje profundo.
Utilice el método SkipGram para realizar aprendizaje de representación en nodos de la red. En PNL, Vecindario se refiere a las palabras que rodean la palabra actual. En este artículo, utilizamos el método de caminata aleatoria para obtener la vecindad de nodos en un gráfico o red.
(1) La caminata aleatoria selecciona aleatoria y uniformemente los nodos de la red y genera una secuencia de caminata aleatoria de longitud fija, que es similar a una oración en lenguaje natural (secuencia de nodos = oración, nodo en secuencia = oración en palabras) y aplicar un modelo de tabulación para aprender representaciones distribuidas de nodos.
(2) Premisa: si los nodos de la red obedecen a una distribución de ley de potencia, entonces el número de apariciones de nodos en la secuencia de paseo aleatorio también obedece a una distribución de ley de potencia, y la experiencia ha demostrado que la frecuencia de palabras en PNL también obedece a una ley de potencia distribuida.
Predecir nodo de contexto) --------- Salida: Representación
node2vec define una estrategia de caminata aleatoria sesgada para generar secuencias basadas en DW. Aún usa skip gram para el entrenamiento. .
Este artículo analiza dos métodos de caminata, BFS y DFS, que retienen información diferente sobre la estructura de la red. La caminata aleatoria en DeepWalk se basa en el peso del borde, y node2vec agrega un parámetro de ajuste de peso α: t es el nodo anterior, v es el último nodo, x es el siguiente nodo candidato, d(t,x) es t es el número mínimo de saltos al nodo candidato. A través de diferentes configuraciones de parámetros pyq, se puede lograr el propósito de retener información diferente. Cuando p y q son ambos 1.0, es equivalente a DeepWalk.
Utiliza el método de SkipGram para extraer la representación de la red. Entonces, según la idea de SkipGram, lo más importante es definir este Contexto o Vecindario. Desde una perspectiva textual, esta vecindad son, por supuesto, las palabras que rodean a la palabra actual, y esta definición es muy natural. Pero para los gráficos o la web, no es tan fácil.
(1) Distingamos primero dos conceptos:
Similitud de primer orden: entre nodos conectados directamente, como 6 y 7.
Defina la probabilidad de combinación entre los nodos vi y vj como
v representa el nodo y u representa la incrustación del nodo. Cuanto mayor es, mayor es el peso de la conexión entre estos dos nodos, es decir, mayor es la probabilidad de que ocurra entre estos dos nodos.
Similitud de segundo orden: Similitud entre nodos conectados por otros nodos intermedios, como 5 y 6.
Se utiliza probabilidad condicional
(2) El objetivo es mantener sin cambios la similitud entre los nodos antes y después de NRL. Al mismo tiempo, si la representación del nodo es similar antes del aprendizaje, luego, después de la incrustación, los vectores de representación de los dos nodos también deberían ser muy similares. --Este artículo utiliza la divergencia KL para medir la distancia entre dos distribuciones de probabilidad.
Por ejemplo, para garantizar su similitud de primer orden:
Antes de la incrustación: la probabilidad conjunta empírica entre los nodos vi y vj es
Por lo tanto, Minimización :
Existen muchos modelos GE, desde métodos clásicos hasta modelos que solo consideran la estructura, pasando por modelos que consideran nodos y diversa información adicional, y finalmente modelos profundos.
Aquí mencioné que el modelo que elija debe ser relevante para su problema real:
1. Por ejemplo, si su problema presta más atención a la similitud de contenido (similitud de vecindario local) , luego puedes elegir node2vec, LINE, GraRep, etc. struc2vec, aquí podemos hablar brevemente sobre por qué el modelo de control de riesgos de Ant Financial usa struc2vec, que es una mejora cualitativa en comparación con node2vec. Esto se debe a que en el campo del control de riesgos, el hecho de que usted sea confiable no significa que sus vecinos sean confiables (. algún nodo en "V grande" tiene muchos vecinos), pero es una sensación intuitiva que si dos personas tienen posiciones similares en el gráfico (por ejemplo,
3. Además, si es necesario considerar en el gráfico modelo Para obtener más información sobre nodos y bordes, puede elegir CANE, CENE, Trans-net, etc.
Si desea procesar gráficos de fluctuación a gran escala, puede usar GraphSAGE u otros métodos de GE. primero y luego use GraphSAGE para realizar aprendizaje inductivo.
Si desea ajustar el modelo, puede elegir GraphGAN
Incluso puede elegir varios métodos GE y agregarlos; vectores de incrustación resultantes a través de concat, etc.
Como uno de los métodos clásicos de gráficos de conocimiento, la incrustación de gráficos se ha utilizado ampliamente. Hoy en día, las empresas de motores de búsqueda de Internet nacionales y extranjeras se han dado cuenta de la importancia estratégica de los gráficos de conocimiento. y he creado gráficos de conocimiento, como el gráfico de conocimiento de Google. Graph (Google Knowledge Graph), "Zhixin" de Baidu y "Zhicube" de Sogou, etc., para mejorar el motor de búsqueda
Para obtener más información sobre el gráfico de conocimiento e incrustación de gráficos, bloquee 8. Reunión pública el jueves 20 de septiembre a las 14:00