Introdução à Matemática

A IA (artificial intelligence, AI) moderna e o aprendizado de máquina (machine learning, ML) muitas vezes são apresentados como “apenas código”, mas a maior parte das ideias que fazem os modelos funcionarem é matemática: representar dados como vetores, transformar aprendizado em otimização (optimization), raciocinar sob incerteza e medir informação. Este guia introdutório resume a matemática essencial que você verá repetidamente ao longo da wiki e explica como ela se conecta à modelagem prática.

Para se aprofundar, veja os subartigos vinculados em Álgebra Linear, Cálculo, Probabilidade e Estatística, Otimização, Teoria da Informação e Teoria dos Grafos.

1) Um pequeno “mapa” da matemática em IA

A maioria dos pipelines (pipelines) de aprendizado de máquina pode ser descrita por alguns componentes recorrentes:

  • Representação (álgebra linear + geometria): codificar entradas/saídas como vetores, matrizes ou tensores (tensors); aprender incorporações (embeddings); calcular similaridades.
  • Objetivo (probabilidade + teoria da informação): definir o que “boas previsões” significam (verossimilhança (likelihood), perda (loss), entropia cruzada (cross-entropy), divergência de Kullback–Leibler (Kullback–Leibler, KL)).
  • Aprendizado (cálculo + otimização): ajustar parâmetros minimizando uma perda via gradientes (gradients) e atualizações iterativas (por exemplo, descida do gradiente estocástica (stochastic gradient descent, SGD)).
  • Incerteza (probabilidade + raciocínio bayesiano (Bayesian reasoning)): quantificar incerteza em previsões e parâmetros; calibrar probabilidades; tomar decisões sob risco.
  • Computação (métodos numéricos (numerical methods)): implementar o acima de forma estável e eficiente em escala (condicionamento (conditioning), ponto flutuante (floating point), processamento em lotes (batching)).

Isso corresponde diretamente a grandes famílias de modelagem:

2) Notação e operadores centrais que você verá em todo lugar

Um modelo mental consistente de formas (shapes) e operadores evita muitos bugs de implementação.

Escalares, vetores, matrizes, tensores

  • Escalar: (x \in \mathbb{R})
  • Vetor: (\mathbf{x} \in \mathbb{R}^d)
  • Matriz: (\mathbf{X} \in \mathbb{R}^{n \times d})
  • Tensor: (\mathbf{T} \in \mathbb{R}^{d_1 \times \cdots \times d_k}) (generalização de matrizes)

Em código, o “raciocínio sobre formas” (shape thinking) é crucial: por exemplo, (\mathbf{X}\mathbf{w}) é válido se (\mathbf{X}\in\mathbb{R}^{n\times d}) e (\mathbf{w}\in\mathbb{R}^{d}), produzindo um vetor de comprimento (n).

Produtos internos, normas, distâncias

  • Produto escalar (similaridade): (\mathbf{x}^\top \mathbf{y})
  • Norma euclidiana: (|\mathbf{x}|_2 = \sqrt{\sum_i x_i^2})
  • Similaridade do cosseno: (\frac{\mathbf{x}^\top \mathbf{y}}{|\mathbf{x}||\mathbf{y}|})
  • Norma de Frobenius (matrizes): (|\mathbf{A}|F = \sqrt{\sum{i,j} A_{ij}^2})

Isso aparece em:

  • busca por vizinho mais próximo (incorporações)
  • regularização ((\ell_2) decaimento de pesos (weight decay))
  • geometria de fronteiras de decisão (Modelos Lineares e Geometria)

Esperanças e indicadores

No aprendizado de máquina probabilístico, esperanças (expectations) estão em todo lugar:

  • (\mathbb{E}[X]), (\mathbb{E}[f(X)])
  • (\mathbf{1}{\text{event}}): função indicadora usada na definição de perdas e probabilidades

3) Álgebra linear: a linguagem de modelos e dados

A álgebra linear fundamenta representações de atributos (features), incorporações, atenção (attention), ACP (PCA) e muito mais. Veja Álgebra Linear e Vetores, Matrizes, Tensores para detalhes.

Aplicações lineares e multiplicação de matrizes

Uma matriz (\mathbf{W}) implementa uma transformação linear: [ \mathbf{y} = \mathbf{W}\mathbf{x} ] Em redes neurais, camadas são composições de aplicações lineares e não linearidades: [ \mathbf{h} = \sigma(\mathbf{W}\mathbf{x} + \mathbf{b}) ] Mesmo modelos “profundos” são construídos a partir desses primitivos.

Projeções, subespaços e mínimos quadrados

O exemplo clássico é a regressão linear, que encontra (\mathbf{w}) minimizando: [ |\mathbf{X}\mathbf{w} - \mathbf{y}|_2^2 ] Geometricamente, isso projeta (\mathbf{y}) no espaço coluna de (\mathbf{X}). Na prática, é o protótipo de “ajustar um modelo minimizando um erro”.

Na prática, você raramente resolve regressão com uma inversa em forma fechada; você usa métodos numéricos (veja Álgebra Linear Numérica) ou otimização baseada em gradientes.

Autovalores, SVD e estrutura de baixa ordem

Decomposições como decomposição em autovalores (eigenvalue decomposition) e decomposição em valores singulares (singular value decomposition, SVD) explicam:

  • ACP (principal component analysis, PCA) (redução de dimensionalidade)
  • condicionamento e estabilidade da otimização
  • por que aproximações de baixa ordem (low-rank) aceleram a computação

Veja Autovalores e SVD.

Intuição prática:

  • Se os dados vivem perto de um subespaço de baixa dimensionalidade, a ACP pode remover ruído e comprimir.
  • Números de condição grandes frequentemente significam que a otimização é lenta ou instável.

Exemplo: ACP em poucas linhas

import numpy as np

X = ...  # shape (n, d), centered (mean subtracted)
U, S, VT = np.linalg.svd(X, full_matrices=False)
k = 50
Z = X @ VT[:k].T          # project to k principal components
X_approx = Z @ VT[:k]     # reconstruct (rank-k approximation)

4) Cálculo: gradientes impulsionam o aprendizado

A maior parte do aprendizado de máquina moderno reduz “aprender parâmetros” a “minimizar um objetivo diferenciável”, que é cálculo mais computação. Veja Cálculo e Gradientes, Jacobianas, Hessianas.

Derivadas e gradientes

Se (L(\theta)) é uma perda, o gradiente (\nabla_\theta L) aponta na direção de maior aumento. Para reduzir a perda, mova-se na direção oposta: [ \theta \leftarrow \theta - \eta \nabla_\theta L(\theta) ] Isso é o núcleo de Descida do Gradiente (Gradient Descent).

Regra da cadeia e retropropagação

Redes neurais são composições de funções. A regra da cadeia permite calcular gradientes de forma eficiente através do grafo de operações—isso é Retropropagação. Na prática, frameworks usam diferenciação automática (automatic differentiation), mas a matemática explica:

  • por que gradientes podem desaparecer/explodir
  • por que normalização e inicialização cuidadosa importam
  • como depurar falhas de treinamento

Jacobianas e Hessianas: sensibilidade e curvatura

  • Jacobiana: derivada de saídas vetoriais em relação a entradas vetoriais (sensibilidade)
  • Hessiana: matriz de segundas derivadas (curvatura)

Curvatura importa porque:

  • “vales íngremes e estreitos” (problemas mal condicionados) fazem a descida do gradiente ziguezaguear
  • informação de segunda ordem pode acelerar a otimização, mas é cara em escala

5) Probabilidade e estatística: aprender a partir da incerteza

Probabilidade permite tratar aprendizado como inferência a partir de dados e quantificar incerteza. Veja Probabilidade e Estatística e Variáveis Aleatórias e Distribuições.

Variáveis aleatórias, distribuições e verossimilhança

Um modelo estatístico frequentemente especifica uma distribuição condicional (p(y\mid x,\theta)). Dado o conjunto de dados ({(x_i,y_i)}{i=1}^n), a verossimilhança é: [ p(\mathbf{y}\mid \mathbf{X},\theta) = \prod{i=1}^n p(y_i\mid x_i,\theta) ] Maximizar a verossimilhança é equivalente a minimizar a log-verossimilhança negativa (uma função de perda).

Regra de Bayes e atualização bayesiana

A inferência bayesiana atualiza crenças: [ p(\theta \mid \mathcal{D}) \propto p(\mathcal{D} \mid \theta), p(\theta) ]

  • (p(\theta)): distribuição a priori (prior)
  • (p(\theta\mid \mathcal{D})): distribuição a posteriori (posterior)

Isso fundamenta modelos conscientes de incerteza e tomada de decisão; veja Inferência Bayesiana e Teoria da Decisão Bayesiana.

Esperança, variância e pensamento viés–variância

  • Variância explica ruído e instabilidade de estimadores.
  • Trade-offs viés–variância (bias–variance tradeoffs) ajudam a explicar sobreajuste (overfitting) e subajuste (underfitting) (veja também Teoria do Aprendizado).

Exemplo: regressão logística como classificação probabilística

A regressão logística modela: [ p(y=1 \mid x) = \sigma(\mathbf{w}^\top \mathbf{x}) ] Treinar por máxima verossimilhança produz a perda de entropia cruzada: [ L(\mathbf{w}) = -\sum_i \left[ y_i \log p_i + (1-y_i)\log(1-p_i)\right] ] Isso conecta álgebra linear (produtos escalares), probabilidade (verossimilhança Bernoulli (Bernoulli likelihood)) e otimização (descida do gradiente).

6) Otimização: transformando aprendizado em um algoritmo

Treinar tipicamente significa minimizar um risco empírico (empirical risk): [ \min_\theta \frac{1}{n}\sum_{i=1}^n \ell(f_\theta(x_i), y_i) + \lambda \Omega(\theta) ] Veja Otimização, com subtópicos-chave Otimização Convexa, Otimização Estocástica e Otimização com Restrições.

Convexa vs não convexa

  • Problemas convexos (por exemplo, regressão linear com regularização (\ell_2)) têm um único ótimo global e fortes garantias.
  • Problemas não convexos (redes profundas) podem ter muitos mínimos locais/pontos de sela, mas ainda funcionam bem na prática devido a estrutura, superparametrização (overparameterization) e treinamento estocástico (stochastic training).

Gradientes estocásticos e minilotes

Para grandes conjuntos de dados, você estima gradientes usando minilotes (minibatches): [ \nabla_\theta \hat{L}(\theta) \approx \frac{1}{|B|}\sum_{i\in B}\nabla_\theta \ell_i(\theta) ] O ruído do uso de minilotes pode ajudar a explorar, mas também complica a convergência; veja Otimização Estocástica.

Regularização como “matemática para generalização”

Regularizadores comuns:

  • (\ell_2) (decaimento de pesos): (\Omega(\theta)=|\theta|_2^2)
  • (\ell_1) (esparsidade (sparsity)): (\Omega(\theta)=|\theta|_1)

Eles podem ser motivados estatisticamente (priores), geometricamente (restrições sobre o tamanho dos parâmetros) ou algoritmicamente (estabilidade).

Exemplo prático: verificação de gradientes

Mesmo que a diferenciação automática compute gradientes, você pode verificar rapidamente com diferenças finitas (finite differences):

import numpy as np

def loss(theta):
    # toy: L = (theta0 - 3)^2 + 2*(theta1 + 1)^2
    return (theta[0] - 3)**2 + 2*(theta[1] + 1)**2

theta = np.array([0.1, 0.2])
eps = 1e-6

grad_fd = np.zeros_like(theta)
for j in range(len(theta)):
    e = np.zeros_like(theta)
    e[j] = eps
    grad_fd[j] = (loss(theta + e) - loss(theta - e)) / (2*eps)

print(grad_fd)

7) Teoria da informação: perdas, compressão e representação

A teoria da informação fornece uma forma precisa de falar sobre incerteza e incompatibilidade entre distribuições. Veja Teoria da Informação e Entropia, KL, Informação Mútua.

Entropia e entropia cruzada

  • Entropia (H(P)) mede incerteza em uma distribuição (P).
  • Entropia cruzada (H(P,Q)) mede quão bem (Q) prevê amostras de (P).

Em classificação, minimizar entropia cruzada corresponde a maximizar a verossimilhança sob um modelo categórico.

Divergência de KL: medindo incompatibilidade entre distribuições

A divergência de KL: [ D_{KL}(P|Q) = \mathbb{E}_{x\sim P}\left[\log \frac{P(x)}{Q(x)}\right] ] aparece em:

  • inferência variacional (variational inference) (por exemplo, autoencoders variacionais (variational autoencoders, VAEs))
  • regularização de políticas em aprendizado por reforço (reinforcement learning, RL)
  • calibração e análise de mudança de distribuição (distribution shift)

Informação mútua: dependência e aprendizado de representações

Informação mútua quantifica dependência entre variáveis; ela aparece em objetivos de aprendizado auto-supervisionado e aprendizado de representações, embora estimá-la de forma confiável possa ser difícil.

8) Teoria dos grafos: estrutura além de vetores

Muitos problemas do mundo real têm estrutura relacional: moléculas, redes sociais, grafos de conhecimento e grafos de dependência. Veja Teoria dos Grafos.

Ideias-chave:

  • Grafo (G=(V,E)) com nós e arestas
  • Matriz de adjacência (\mathbf{A}) codifica conectividade
  • Laplaciano do grafo se relaciona com suavidade sobre grafos

Aplicações:

  • Redes neurais em grafos (graph neural networks) (propagação de mensagens (message passing) é essencialmente agregação repetida a partir de vizinhos)
  • Grafos de conhecimento e raciocínio
  • Modelagem de dependências em Modelos Gráficos Probabilísticos

9) Monte Carlo e MCMC: computação com aleatoriedade

Quando esperanças ou integrais exatas são difíceis, a amostragem as aproxima. Veja Métodos de Monte Carlo e Monte Carlo via Cadeias de Markov (MCMC).

Estimação por Monte Carlo

Para estimar (\mathbb{E}[f(X)]), amostre (x^{(1)},\dots,x^{(N)}) e calcule: [ \frac{1}{N}\sum_{k=1}^N f(x^{(k)}) ] Principais preocupações práticas:

  • variância (quão ruidosa é a estimativa)
  • número de amostras necessário para acurácia
  • técnicas de redução de variância (variance reduction techniques) (variáveis de controle (control variates), amostragem antitética (antithetic sampling))

MCMC para inferência bayesiana

MCMC produz amostras de posteriores complicados (p(\theta\mid \mathcal{D})) quando amostragem direta é difícil. É poderoso, mas pode ser computacionalmente caro em cenários grandes de aprendizado profundo.

10) Considerações numéricas: a “matemática escondida” em sistemas reais

Um modelo pode estar matematicamente correto, mas ser numericamente frágil.

Condicionamento e estabilidade

  • Matrizes mal condicionadas podem amplificar pequenos erros.
  • Escalonamento de atributos (padronização) frequentemente melhora o condicionamento e acelera a otimização.
  • Decomposições (QR/SVD) muitas vezes são mais estáveis do que inversas explícitas.

Veja Álgebra Linear Numérica.

Ponto flutuante e implementações estáveis

Truques comuns de estabilidade:

  • Log-soma-exp (log-sum-exp) para softmax (softmax): [ \log\sum_i e^{z_i} = m + \log\sum_i e^{z_i-m} ]
  • Evitar subfluxo/sobrefluxo (underflow/overflow) em probabilidades trabalhando no espaço logarítmico (log space)
  • Corte de gradiente (gradient clipping) para controlar explosões em redes profundas

11) Juntando tudo: um modelo mental de ponta a ponta

Considere treinar um classificador neural:

  1. Representar dados como vetores/tensores (álgebra linear).
  2. Definir uma distribuição preditiva (p_\theta(y\mid x)) (probabilidade).
  3. Escolher uma perda (log-verossimilhança negativa / entropia cruzada; teoria da informação).
  4. Calcular gradientes (\nabla_\theta L) via regra da cadeia (cálculo).
  5. Atualizar parâmetros com SGD/Adam (otimização).
  6. Avaliar acurácia e qualidade probabilística (veja Regras de Pontuação Próprias).
  7. Diagnosticar problemas usando geometria (separabilidade (separability)), estatística (variância, calibração (calibration)) e numéricos (estabilidade).

Essa mesma estrutura matemática se aplica amplamente—de regressão logística a transformers (transformers)—diferindo principalmente em arquitetura e escala.

12) Checklist prático de aprendizagem

Se você quer “matemática suficiente” para ser produtivo em aprendizado de máquina moderno, procure estar confortável com:

  • Álgebra linear
    • formas, intuição de broadcasting (broadcasting), produtos escalares
    • multiplicação de matrizes como composição de aplicações lineares
    • ortogonalidade, projeções, fundamentos de SVD/ACP (Autovalores e SVD)
  • Cálculo
    • gradientes, Jacobianas, regra da cadeia
    • interpretar gradientes como sensibilidade local
  • Probabilidade/estatística
    • distribuições comuns, esperança/variância
    • verossimilhança, MVM (maximum likelihood estimation, MLE), regra de Bayes (Inferência Bayesiana)
    • intuição de sobreajuste ligada a dados e capacidade do modelo (Teoria do Aprendizado)
  • Otimização
  • Teoria da informação
    • entropia, entropia cruzada, divergência de KL e por que entropia cruzada é uma perda natural
  • Numéricos
    • truques de estabilidade (log-soma-exp), condicionamento, escalonamento

À medida que você aprende, conecte continuamente fórmulas a código: implemente um modelo pequeno, inspecione formas, calcule uma perda, faça retropropagação e verifique se o treinamento melhora o objetivo. Esse “loop matemática ↔ implementação” é a forma mais rápida de internalizar este guia.