1. Introdução: Dados do Mundo Real e o Modelo “Ideal”
Os dados observados no mundo real quase sempre contêm “ruído” ou “variância”. Para encontrar as regras subjacentes a partir de tais dados e prever o futuro ou estimar dados desconhecidos, precisamos construir um modelo matemático que melhor se ajuste aos dados.
O método mais fundamental, que ainda desempenha um papel extremamente importante como base do aprendizado de máquina moderno, é o Método dos Mínimos Quadrados (Method of Least Squares).
Neste artigo, em vez de apenas memorizar fórmulas, exploraremos profundamente “por que esse cálculo encontra a linha de melhor ajuste” a partir da bela perspectiva geométrica da álgebra linear (projeção ortogonal).
2. Ideia Intuitiva do Método dos Mínimos Quadrados
Suponha que temos $n$ pontos de dados $(x_1, y_1), (x_2, y_2), \dots, (x_n, y_n)$. Ao plotar esses pontos em um gráfico de dispersão, eles podem não se alinhar perfeitamente retos, mas no geral parecem seguir a tendência de uma certa linha.
Nesse momento, seja a equação da linha que aproxima os dados $y = c + dx$. (Aqui, a interceptação é $c$ e a inclinação é $d$).
Para cada ponto de dados $x_i$, o valor previsto por esta linha é $\hat{y}_i = c + d x_i$. Um erro (resíduo) $e_i$ ocorre entre o valor observado real $y_i$ e o valor previsto $\hat{y}_i$.
$$ e_i = y_i - \hat{y}_i = y_i - (c + d x_i) $$O Método dos Mínimos Quadrados é uma técnica para encontrar os parâmetros $c$ e $d$ que minimizam a soma dos quadrados dos erros. A soma dos erros quadráticos $E$ é definida da seguinte forma:
$$ E = \sum_{i=1}^{n} e_i^2 = \sum_{i=1}^{n} (y_i - c - d x_i)^2 \quad (\text{Definição da função de erro}) $$O motivo da elevação ao quadrado é evitar que erros positivos e negativos se cancelem, e porque tem a poderosa vantagem de ser matematicamente diferenciável e fácil de manusear.
flowchart TD
Data["Coleta de Dados"] --> Formulate["Formulação do Modelo"]
Formulate --> Error["Definir Função de Erro"]
Error --> Minimize["Minimizar Função de Erro"]
Minimize --> Optimal["Determinar Parâmetros Ideais"]
3. Formulação usando Álgebra Linear e “Equações Sem Solução”
A verdadeira beleza do método dos mínimos quadrados surge quando reescrevemos isso usando a linguagem de matrizes e vetores, ou seja, álgebra linear.
Assumindo que todos os pontos de dados estejam perfeitamente na linha $y = c + dx$, obtemos as seguintes $n$ equações:
$$ \begin{cases} c + d x_1 = y_1 \\\\ c + d x_2 = y_2 \\\\ \vdots \\\\ c + d x_n = y_n \end{cases} $$Expressando isso em forma de matriz, obtemos:
$$ \begin{bmatrix} 1 & x_1 \\ 1 & x_2 \\ \vdots & \vdots \\ 1 & x_n \end{bmatrix} \begin{bmatrix} c \\ d \end{bmatrix}
\begin{bmatrix} y_1 \\ y_2 \\ \vdots \\ y_n \end{bmatrix} $$
Escrevemos isso simplesmente como $A\mathbf{x} = \mathbf{b}$. Aqui,
- $A$ é uma Matriz de Design $n \times 2$
- $\mathbf{x} = \begin{bmatrix} c \\\\ d \end{bmatrix}$ é o vetor de parâmetros que queremos encontrar
- $\mathbf{b}$ é o vetor de variável de destino dos valores observados
Quando os dados têm variância (3 ou mais pontos não estão em uma linha reta), não há solução $\mathbf{x}$ que satisfaça perfeitamente essa equação $A\mathbf{x} = \mathbf{b}$. Ou seja, o sistema de equações é inconsistente.
4. Perspectiva Geométrica: Espaço de Colunas e Projeção Ortogonal
O que significa geometricamente que a equação $A\mathbf{x} = \mathbf{b}$ não pode ser resolvida?
Multiplicar a matriz $A$ pelo vetor $\mathbf{x}$ significa criar uma combinação linear de cada vetor coluna de $A$. O espaço criado por todas as combinações lineares possíveis de $A$ é chamado de Espaço de Colunas de $A$, e é escrito como $C(A)$.
$$ A\mathbf{x} \in C(A) $$A ausência de uma solução significa que o vetor $\mathbf{b}$ está fora deste espaço de colunas $C(A)$.
O que estamos procurando não é uma solução perfeita, mas um vetor dentro de $C(A)$ que esteja o mais próximo possível de $\mathbf{b}$. Vamos chamar isso de $A\hat{\mathbf{x}}$. Neste momento, a distância (ao quadrado) entre o vetor $\mathbf{b}$ e $A\hat{\mathbf{x}}$ é minimizada. Este é exatamente o método dos mínimos quadrados.
Geometricamente, o ponto que dá a distância mais curta de um certo ponto $\mathbf{b}$ no espaço a um certo plano $C(A)$ nada mais é do que o pé da perpendicular caída de $\mathbf{b}$ para $C(A)$. Isso é chamado de Projeção Ortogonal.
Deixando o vetor de erro ser $\mathbf{e} = \mathbf{b} - A\hat{\mathbf{x}}$, a condição para a distância mais curta é que “o vetor de erro $\mathbf{e}$ é ortogonal ao espaço de colunas $C(A)$”.
Ser ortogonal ao espaço de colunas $C(A)$ significa ser ortogonal a todos os vetores coluna de $A$. Isso significa que o vetor de erro $\mathbf{e}$ pertence ao Espaço Nulo Esquerdo da matriz transposta $A^T$ da matriz $A$. Ou seja,
$$ A^T \mathbf{e} = \mathbf{0} \quad (\text{Condição de ortogonalidade}) $$5. Derivação da Equação Normal
Vamos substituir $\mathbf{e} = \mathbf{b} - A\hat{\mathbf{x}}$ na condição de ortogonalidade acima.
$$ A^T (\mathbf{b} - A\hat{\mathbf{x}}) = \mathbf{0} $$$$ A^T \mathbf{b} - A^T A \hat{\mathbf{x}} = \mathbf{0} $$Reorganizando isso, obtemos a seguinte equação extremamente importante.
$$ A^T A \hat{\mathbf{x}} = A^T \mathbf{b} \quad (\text{Equação Normal}) $$Esta equação é chamada de Equação Normal. O $A\mathbf{x} = \mathbf{b}$ original não tinha solução, mas esta equação normal multiplicada por $A^T$ da esquerda em ambos os lados sempre tem uma solução. Além disso, se os vetores coluna de $A$ forem linearmente independentes, $A^T A$ se torna invertível (tem uma matriz inversa), e a solução ideal $\hat{\mathbf{x}}$ é determinada exclusivamente da seguinte forma:
$$ \hat{\mathbf{x}} = (A^T A)^{-1} A^T \mathbf{b} $$Esta fórmula é um dos resultados mais belos em estatística e aprendizado de máquina. Você pode chegar a essa conclusão apenas por meio do conceito geométrico de ortogonalidade, sem usar cálculo.
flowchart LR
b["Vetor b"] -->|"Projeção Ortogonal"| p["Vetor de Projeção p = A x_hat"]
p --> C["Espaço de Colunas C(A)"]
b -->|"Vetor de Erro e"| p
e["e = b - A x_hat"] -.->|"Ortogonal"| C
6. Exemplo de Implementação em Python
Vamos realmente calcular isso com um programa, não apenas na teoria. Usando NumPy, uma biblioteca de computação numérica em Python, você pode implementar a equação normal muito facilmente.
| |
A execução deste código calcula a interceptação e a inclinação da linha que melhor se ajusta aos pontos de dados fornecidos. Nos bastidores, o cálculo de matriz derivado anteriormente é executado exatamente como está.
7. Conclusão e Desenvolvimento Futuro
O método dos mínimos quadrados é a técnica mais poderosa e padrão para estimar parâmetros de modelo a partir de dados. Usando o conhecimento de cálculo, ele pode ser derivado como “o ponto onde o gradiente da função de erro se torna 0”, mas ao entendê-lo da perspectiva da álgebra linear como uma “projeção ortogonal no espaço de colunas”, a beleza de sua estrutura matemática se destaca.
Este método não se limita ao simples ajuste de linha (regressão simples). Adicionando termos como $x^2, x^3$ às colunas da matriz de design $A$, ele pode ser estendido naturalmente à Regressão Polinomial, e também pode ser desenvolvido no Método dos Mínimos Quadrados Ponderados, que pesa a importância de cada ponto de dados.
Como primeiro passo para se aproximar da verdade por trás dos dados, uma compreensão essencial do método dos mínimos quadrados tem um valor imensurável.
