[Rede neural do gráfico] Engenharia de recursos do gráfico

1. Características dos gráficos

        As feições que os próprios pontos do grafo possuem são chamadas de feições de atributo (como: peso da conexão, tipo de nó, etc.), e as feições de atributo são multimodais na maioria das vezes .

        A relação de conexão entre um nó e outros nós no grafo é chamada de recurso de conexão (informação estrutural)

        Os recursos extraídos e construídos manualmente são chamados de engenharia de recursos . (Transformar o gráfico em um vetor) A engenharia de recursos geralmente é construída para os recursos de conexão do gráfico

2. Engenharia de recursos no nível do nó

        Em geral, os recursos de conexão no nível do nó são divididos em:

                ①O número de conexões do nó

                ②A importância dos nós

                ③Coeficiente de agregação de nós (se existe uma conexão entre um nó e seus nós adjacentes)

                ④ Informações do subgráfico do nó (quantos subgráficos definidos artificialmente em torno de um nó)

        1. Número de conexões de nós

                         Se você deseja encontrar o número de conexões de nós, pode somar diretamente de acordo com uma determinada linha/coluna; ou multiplicar a matriz de adjacência por um vetor com valor 1. No entanto, o número de conexões de nó não considera a qualidade das conexões, portanto, os três indicadores a seguir são introduzidos para medir a qualidade das conexões de nó.

        2. Importância do nó

                ①Centralidade do autovetor

                A importância de um nó = a soma da importância de seus nós adjacentes , a fórmula é expressa como:

                        c_v=\frac{1}{\lambda}\sum c_u        onde \lambdaapenas para normalização

                Por ser um algoritmo recursivo, o cálculo real é convertido para o problema de encontrar o autovetor da matriz de adjacência A matrix

                        \lambda c=AcOnde c é o autovetor         da matriz de adjacência A (composta pela importância de todos os nós conectados ao nó); a matriz de adjacência A é usada para representar os atributos de conexão desses nós, ou seja, \lambdaa importância do nó de destino.

                ②Centralidade intermediária

                É usado para medir se um nó está em uma garganta de tráfego; o método de cálculo é: para todos os nós no domínio conectado, exceto o nó necessário , descubra quantas das distâncias mais curtas devem passar pelo nó. Como mostrado abaixo:

                 c_A=c_B=c_E=0, enquanto c_C=3(o caminho é: A- C -B, A- C -D, A- C -DE)c_D=3

        3. Coeficiente de Agrupamento

                O método de cálculo é: o número de conexões entre os nós circundantes do nó/o número de conexões entre o nó e os nós circundantes, e o intervalo de valores é [0,1]... (simples compreensão é o número de triângulos ). Veja o exemplo abaixo para detalhes:

           

                 Os resultados do cálculo são: 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

                 Essa conexão triangular é chamada: ego- rede

        4.graphlet

                O mesmo número de nós constitui um subgrafo não isomórfico (semelhante aos isômeros), por exemplo, 4 nós podem constituir 6 grafos.

                 Extraia o número de graphlets ao redor de um nó para formar um Graphlet Degree Vector (GDV), conforme mostrado na figura a seguir:

                 Existem três formas de subgrafos possíveis para o nó u, e os tipos de subgrafos contendo nós são listados respectivamente

                 GDV pode descrever as informações de topologia da vizinhança local do nó u .

3. Engenharia de recursos no nível da conexão

        Objetivo: Concluir conexões desconhecidas por meio de conexões conhecidas. Existem duas maneiras de obter um vetor D-dimensional:

                ① Extraia diretamente os recursos da conexão

② Junte                 os vetores D-dimensionais conectando os nós em ambas as extremidades (mas este método perderá as informações de conexão do próprio link)

        O método geral para previsão de conexão é:

                ① Obtenha o vetor D-dimensional conectado

                ② Envie o vetor D-dimensional para o aprendizado de máquina para cálculo e obtenha a pontuaçãoc(x,y)

                ③ c(x,y)Classifique as pontuações e selecione as n novas conexões mais altas

                ④ Calcule os n resultados previstos e o valor real

        1. Características da conexão

                Os recursos de conexão são geralmente divididos em: ① distância entre os nós; ② informações de conexão local dos nós; ③ informações de conexão dos nós em todo o grafo

                ①Comprimento de caminho mais curto

                Ou seja, o número de nós no caminho com o menor número de nós entre dois pontos, mas é igual ao número de conexões de nós, apenas o número e não o peso.

                ② Informações de conexão local com base em dois nós

                O número de nós adjacentes comuns; taxa de interseção e união, etc. No entanto, se não houver conexão local entre os dois nós, a razão de interseção e o número de nós adjacentes comuns será 0. Por exemplo, não há conexão local entre A e E na figura abaixo.

                 ③ Índice de Katz

                Indica o número de caminhos de comprimento k entre o nó u e o nó v. Método de cálculo: use a potência da matriz de adjacência para calcular, da seguinte forma:

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

                O significado real desta fórmula é: A_{ui}=vizinho i que está a 1 passo de distância de u; P_{iv}^{(1)}=se i está a 1 passo de distância de v

                 Pode-se saber por indução matemática que a matriz de comprimento  eu é A_{uv}^l(  o elemento da linha u e da coluna v na potência da  matrizA_{uv}eu )

                A fórmula do coeficiente de Katz pode ser simplificada como:

                        s=\soma \beta^iA^i=(I-\beta A)^{-1}-I        onde \betaé o fator de redução, entre 0 e 1; EUé a matriz identidade.

4. Engenharia de recursos no nível da imagem completa

        O objetivo é extrair as características de toda a imagem e transformá-la em um vetor D-dimensional para refletir as características estruturais de toda a imagem.

        Na verdade, ele está calculando o número de recursos diferentes no gráfico (pense no gráfico como um artigo e no nó como uma palavra--Bag-of-Nodes)

                Mas esse método tem uma falha, ou seja, ele apenas verifica se existe o i-ésimo nó e não se preocupa com a estrutura da conexão. Os vetores D-dimensionais codificados nos dois diagramas da figura abaixo são consistentes, ambos são [1 1 1 1 ]

         Bag-of-Node-degrees também pode ser usado, mas o mesmo olha apenas para o nó dgree , não para o nó ou para a estrutura de conexão

         Bag-of-xxx pode ser estendido para qualquer um dos recursos mencionados acima . Por exemplo, os graphlets do grafo inteiro são usados ​​como o cenário de aplicação. Em comparação com os graphlets no nível do nó, existem as seguintes diferenças: ① nós isolados pode existir ; ② o objeto de contagem é todo o grafo , em vez de bairros de nós específicos.

O Graphlet Kernel (uma quantidade escalar) pode ser obtido multiplicando          os graphlets dos dois gráficos . Esse índice pode refletir se os dois gráficos são semelhantes/correspondentes. A fórmula é registrada como:

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

                Se os tamanhos das duas imagens forem inconsistentes, eles precisam ser normalizados

        Mas essa abordagem consome muito poder de computação . Portanto, o algoritmo Weisfeiler-Lehman Kernel é geralmente usado , e a ideia de refinamento de cores ( refinamento de cores ) é adotada . O método específico é o seguinte:

                        ① Inicialize o gráfico com um código

②Ajuste o código de acordo com o número de conexões                          de nós específicos

                         ③Substituir códigos diferentes por cores diferentes (Hash)

                                

                As etapas acima podem ser repetidas, e os dois últimos nós com a mesma estrutura sempre terão a mesma cor

                 Isso transforma cada gráfico em um vetor de dimensão inferior. O kernel de Weisfeiler-Lehman pode ser obtido tomando o produto interno dos vetores desses dois gráficos

                 As operações acima podem ser registradas como: c^{(k+1)}(v)=HASH(\{c^{(k)}(v),\{c^{(k)}(u)\}_{u \in N(v )}\}), k significa que o processo de codificação acima executou k etapas e significa que k conexões de salto na figura foram capturadas

Acho que você gosta

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