0Pricing
Learn AI with Python · Aula

Teoria dos grafos para aprendizado de máquina

Nós, arestas, matriz de adjacência, tipos de grafos, atributos de grafos e representações de redes sociais.

Teoria dos grafos para aprendizado de máquina é uma aula grátis de Learn AI with Python no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Learn AI with Python, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Learn AI with Python inclui 4 aulas no total.

O que é um grafo

Um grafo representa entidades e as relações entre elas. Formalmente, um grafo é G = (V, E), em que V é o conjunto de vértices (nós) e E é o conjunto de arestas que conectam pares de nós. Muitos sistemas reais são naturalmente grafos.

Nós e arestas

Cada nó representa uma entidade (um usuário, um átomo, uma página da web). Cada aresta representa uma relação (uma amizade, uma ligação química, um hiperlink). O aprendizado de máquina em grafos aprende com essa estrutura de conexões, não apenas com amostras isoladas.

A matriz de adjacência

A matriz de adjacência A codifica quais nós estão conectados. Para n nós, A tem dimensão n por n; A[i][j] = 1 se uma aresta conecta o nó i ao nó j e, caso contrário, 0.

import numpy as np

# Triangle: 0-1, 1-2, 0-2
A = np.array([
    [0, 1, 1],
    [1, 0, 1],
    [1, 1, 0],
])

Atributos dos nós X

Além da estrutura, cada nó geralmente contém um vetor de atributos. Empilhados, eles formam a matriz de atributos X com formato (num_nodes, num_features). Em um grafo social, uma linha pode conter a idade de um usuário, a quantidade de publicações e a idade da conta.

X = np.array([
    [25, 120, 3.0],   # node 0
    [31,  45, 5.5],   # node 1
    [22, 300, 1.2],   # node 2
])

Matriz de graus

O grau de um nó é o número de suas arestas. A matriz de graus D é diagonal, com cada entrada da diagonal igual ao grau daquele nó. Ela é o bloco fundamental do laplaciano do grafo.

D = np.diag(A.sum(axis=1))
# Each diagonal entry = number of neighbors

O laplaciano do grafo

O laplaciano do grafo é definido como L = D - A. Ele captura como os valores diferem entre nós conectados e é fundamental para a teoria espectral de grafos e para muitas formulações de GNN.

L = D - A
print(L)

Por que o laplaciano é importante

Os autovalores e autovetores do laplaciano revelam a estrutura global: conectividade, agrupamentos e suavidade. As convoluções em grafos geralmente são derivadas do laplaciano, portanto entender L = D - A é essencial para entender as GNNs.

Direcionados versus não direcionados

Em um grafo não direcionado, uma aresta não tem direção (amizade), portanto A é simétrica. Em um grafo direcionado, as arestas apontam em uma única direção (um seguidor, uma citação), portanto A pode ser assimétrica: A[i][j] pode ser diferente de A[j][i].

# Directed: 0 -> 1 but not 1 -> 0
A_dir = np.array([
    [0, 1, 0],
    [0, 0, 1],
    [0, 0, 0],
])

Grafos ponderados

As arestas podem conter pesos que representam intensidade ou distância. Nesse caso, as entradas da matriz de adjacência são números reais, não apenas 0/1. Uma rede rodoviária pode ponderar as arestas pelo tempo de viagem; um grafo de similaridade, pela similaridade do cosseno.

Representando arestas com eficiência

Em grafos esparsos grandes, a matriz de adjacência desperdiça memória, pois a maioria das entradas é zero. Em vez disso, as estruturas de aprendizado de máquina armazenam as arestas como uma lista de arestas (formato COO): dois vetores que fornecem a origem e o destino de cada aresta. O PyTorch Geometric chama isso de edge_index.

# Triangle edges as edge_index [2, num_edges]
edge_index = [
    [0, 0, 1],   # sources
    [1, 2, 2],   # targets
]

Aplicações do aprendizado de máquina em grafos

Os grafos aparecem em toda parte:

  • Sociais: recomendação de amigos, detecção de comunidades
  • Moleculares: previsão de propriedades de moléculas (átomos = nós, ligações = arestas)
  • Grafos de conhecimento: previsão de conexões entre entidades e relações
  • Web/citações: classificação e ordenação

Verificação rápida

Teste seus conhecimentos sobre teoria dos grafos.

Revisão

Você aprendeu os fundamentos da teoria dos grafos para o aprendizado de máquina:

  • Um grafo é G = (V, E), com nós e arestas
  • A matriz de adjacência A codifica a conectividade; X contém os atributos dos nós
  • O laplaciano do grafo é L = D - A
  • Os grafos podem ser direcionados ou não direcionados, ponderados ou não ponderados
  • As aplicações abrangem grafos sociais, moleculares e de conhecimento

Perguntas Frequentes

A aula “Teoria dos grafos para aprendizado de máquina” é grátis?

Sim — o texto completo de “Teoria dos grafos para aprendizado de máquina” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Learn AI with Python, atualize para CoddyKit PRO. O curso de Learn AI with Python inclui 4 aulas no total.

O que vou aprender em “Teoria dos grafos para aprendizado de máquina”?

Nós, arestas, matriz de adjacência, tipos de grafos, atributos de grafos e representações de redes sociais. Você pratica Learn AI with Python com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Learn AI with Python?

Nenhuma experiência prévia é necessária. Learn AI with Python no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Teoria dos grafos para aprendizado de máquina”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Learn AI with Python?

Sim. Cada aula de Learn AI with Python inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Teoria dos grafos para aprendizado de máquina
  2. Redes convolucionais de grafos (GCN)
  3. Classificação de nós com GNN
  4. Previsão de links e classificação de grafos
← Voltar para Learn AI with Python