Vetores como objetos geométricos: direção, magnitude, norma e distância

Entenda vetores como objetos geométricos e aprenda direção, magnitude, norma, normalização e distância — a base para embeddings, busca semântica, RAG e similaridade de cosseno.

Compartilhar
Vetores como objetos geométricos: direção, magnitude, norma e distância

Matemática para IA - Parte 02

Na primeira aula desta série, vimos que modelos de inteligência artificial transformam dados em números organizados como vetores, matrizes e tensores. Agora precisamos dar um passo essencial: enxergar um vetor não apenas como uma lista de números, mas como um objeto geométrico.

Um vetor pode ser interpretado como uma seta dentro de um espaço: ele possui direção e magnitude.

Essa interpretação será a base para compreender embeddings, busca semântica, RAG, similaridade de cosseno e, mais adiante, mecanismos utilizados em redes neurais e Transformers.

1. De uma lista de números para uma seta

Considere o vetor:

v = [3, 4]

Em duas dimensões, podemos imaginá-lo como uma seta que parte da origem (0,0) e termina no ponto (3,4).

y
↑
|
|            ● (3,4)
|          ↗
|        ↗
|      ↗   v
|    ↗
|  ↗
●──────────────────→ x
(0,0)

Intuitivamente, o vetor está dizendo: mova 3 unidades no eixo horizontal e 4 unidades no eixo vertical.

A partir dessa interpretação, surgem dois conceitos fundamentais: direção e magnitude.

2. Direção

Considere dois vetores:

a = [1, 2]
b = [2, 4]

O segundo é o dobro do primeiro:

b = 2a

Os vetores possuem tamanhos diferentes, mas apontam para a mesma direção.

        b
       ↗
      /
     /
    ↗ a
   /
●────────────────→

Multiplicar um vetor por um número pode alterar sua magnitude sem alterar sua direção. Essa distinção será especialmente importante quando chegarmos à similaridade de cosseno.

3. Magnitude: qual é o tamanho do vetor?

Voltemos ao vetor:

v = [3, 4]

Qual é o comprimento dessa seta? Pelo teorema de Pitágoras:

3² + 4² = 5²

Portanto, o comprimento é 5.

Em álgebra linear, chamamos o comprimento de um vetor de norma.

4. Norma Euclidiana — L2

Para um vetor com componentes v₁, v₂, ..., vₙ, a norma Euclidiana é:

||v||₂ = √(v₁² + v₂² + ... + vₙ²)

Para v = [3,4]:

||v||₂ = √(3² + 4²)
       = √(9 + 16)
       = √25
       = 5

Em NumPy:

import numpy as np

v = np.array([3, 4])
norma = np.linalg.norm(v)

print(norma)
# 5.0

5. Por que a norma importa para inteligência artificial?

Um embedding real pode possuir centenas ou milhares de componentes. Mesmo sem conseguirmos visualizar um espaço de 768, 1536 ou 4096 dimensões, ainda conseguimos calcular matematicamente o comprimento de um vetor.

Essa é uma ideia poderosa:

A álgebra linear permite fazer geometria em espaços que não conseguimos visualizar.

Embeddings vivem justamente nesses espaços de alta dimensionalidade.

6. Normalização: mantendo a direção e removendo o tamanho

Para o vetor:

v = [3, 4]

sabemos que sua norma é 5. Podemos dividir todas as componentes pela norma:

v̂ = v / ||v||

v̂ = [3/5, 4/5]
   = [0.6, 0.8]

Agora calculamos a norma desse novo vetor:

√(0.6² + 0.8²)
= √(0.36 + 0.64)
= 1

Um vetor cuja norma é igual a 1 é chamado de vetor unitário.

Geometricamente, a normalização reduz ou aumenta o comprimento do vetor para 1, mas preserva sua direção.

7. Por que direção pode importar mais que magnitude?

Considere:

a = [1, 2]
b = [10, 20]

O vetor b é dez vezes maior que a, mas os dois apontam exatamente para a mesma direção.

Se esses vetores fossem embeddings, talvez estivéssemos mais interessados em saber se representam conceitos semanticamente semelhantes do que em saber qual deles possui maior magnitude.

É dessa intuição que nasce a comparação pelo ângulo entre vetores, assunto que nos levará à similaridade de cosseno.

8. Distância entre vetores

Agora considere:

a = [1, 2]
b = [4, 6]

Para descobrir a distância entre os dois pontos, calculamos primeiro a diferença:

b - a = [4 - 1, 6 - 2]
      = [3, 4]

Depois calculamos a norma desse vetor:

||b - a|| = √(3² + 4²)
          = 5

Assim, a distância Euclidiana entre dois vetores pode ser escrita como:

d(a,b) = ||a - b||

Em NumPy:

import numpy as np

a = np.array([1, 2])
b = np.array([4, 6])

distancia = np.linalg.norm(a - b)
print(distancia)
# 5.0

9. Distância e significado

Imagine embeddings simplificados:

café      = [ 0.70, 0.40]
chá       = [ 0.72, 0.43]
automóvel = [-0.80, 0.90]

Nesse exemplo, café e chá estão geometricamente próximos, enquanto automóvel está mais distante.

Começamos então a transformar uma pergunta semântica — “essas palavras significam coisas parecidas?” — em uma pergunta matemática:

Quão próximos estão seus vetores?

10. Distância Euclidiana não responde a tudo

Considere agora:

a = [1, 2]
b = [100, 200]

Os vetores estão muito distantes em termos Euclidianos, mas apontam exatamente para a mesma direção.

Isso revela duas perguntas diferentes:

  • Os vetores estão próximos? → distância.
  • Os vetores apontam para direções semelhantes? → ângulo.

Para muitos problemas envolvendo embeddings, a segunda pergunta é particularmente útil.

11. Uma distinção fundamental

  • Direção: para onde o vetor aponta.
  • Magnitude: tamanho do vetor.
  • Norma: medida da magnitude.
  • Normalização: transforma a magnitude em 1 preservando a direção.
  • Distância: separação entre dois vetores.
  • Cosseno: compara a direção dos vetores — veremos em breve.

12. Uma aplicação em Machine Learning

Suponha que um cliente seja representado por:

x = [idade, renda, compras]

Dois clientes poderiam ser:

A = [30, 5000, 10]
B = [31, 5100, 11]

Podemos calcular a distância entre esses vetores e procurar exemplos semelhantes.

Esse princípio aparece no algoritmo k-Nearest Neighbors (KNN), cuja ideia fundamental é encontrar os exemplos mais próximos de uma determinada observação.

13. E onde isso aparece em RAG?

Em um sistema RAG, uma pergunta do usuário pode ser transformada em um embedding. Os documentos da base também são representados por vetores.

Pergunta do usuário
        ↓
embedding
        ↓
vetor da pergunta
        ↓
comparação com vetores dos documentos
        ↓
documentos semanticamente relevantes
        ↓
LLM

Imagine que a pergunta seja representada por um vetor com 1536 dimensões. O sistema precisa comparar esse vetor com milhares ou milhões de vetores existentes na base.

Por trás desse processo aparecem conceitos como norma, distância, ângulo, produto escalar e similaridade de cosseno.

14. A ideia que você precisa guardar

Quando você vir um vetor como:

[3, 4]

tente pensar simultaneamente de duas maneiras:

  1. é uma coleção de números;
  2. é uma seta em um espaço geométrico.

Essa segunda visão é o que começa a desbloquear a geometria utilizada em embeddings e em boa parte do Machine Learning moderno.

15. Exercício de fixação

  1. Para o vetor [6,8], qual é sua norma?
  2. Os vetores [1,2] e [3,6] possuem a mesma direção? Explique.
  3. Normalize o vetor [3,4].
  4. Qual é a distância Euclidiana entre a=(1,1) e b=(4,5)?
  5. Por que, ao comparar embeddings, a direção pode ser mais importante que o tamanho do vetor?

16. O que vem depois?

Na próxima aula estudaremos produto escalar: a operação que conecta vetores, projeções, ângulos e similaridade de cosseno.

É a partir desse ponto que várias operações aparentemente abstratas de álgebra linear começam a se conectar diretamente com embeddings, busca semântica e Transformers.


Este artigo faz parte da série Fundamentos Matemáticos para Inteligência Artificial, do MirandasTech.

Gostou do artigo? Compartilhe. Conhecimento ganha força quando circula.