Projeções

Objetivo: ao fim desta aula, alunos serão capazes de analisar projeções de um vetor sobre o outro

Se você chegou até aqui, você sabe que um vetor pode ser escrito tanto na forma cartesiana quanto na forma polar, isto é:

\[ x = \underbrace{\begin{bmatrix} x_1 \\ x_2 \end{bmatrix}}_{Cartesiano} = \underbrace{\|x\| \angle \theta}_{Polar} \]

Agora, vamos discutir as geometrias que aparecem quando temos dois vetores \(x\) e \(y\).

Ângulo entre vetores

Se desenhamos dois vetores \(x\) e \(y\) em um plano cartesiano, aparece um ângulo \(\phi\) entre eles:

No description has been provided for this image
Se \(x = \|x\| \angle \theta_x\) e \(x = \|y\| \angle \theta_y\), como podemos calcular o ângulo \(\phi\) entre \(x\) e \(y\)?

\(\phi\) é a diferença entre os argumentos, isto é, \(\phi = \theta_y - \theta_x\)

O que é uma projeção

A figura abaixo mostra a projeção \(p\) do vetor \(y\) sobre o vetor \(x\). Veja só: partindo de \(y\), construímos uma reta perpendicular a \(x\). O ponto que essa reta cruza a direção de \(x\) define o vetor \(p\):

No description has been provided for this image

Outras maneiras de referir à projeção são:

  • A sombra que \(y\) faz sobre \(x\)
  • O quanto de \(y\) está na direção de \(x\)

Veja que \(y\), \(p\) e o segmento de reta pontilhado (que é perpendicular a \(x\)) definem um triângulo retângulo!

Partindo de \(x=\|x\| \angle \theta_x\) e \(y=\|y\| \angle \theta_y\), encontre \(\|p\|\)

\(\|p\|\) é a medida do cateto adjacente a \(\phi\), e sabemos que \(\phi=\theta_y-\theta_x\). Então, \(\|p\| = \|y\| \cos(\phi)\).

Sabendo \(\|p\|\) (calculado anteriormente) e conhecendo \(x=\|x\| \angle \theta_x\) e \(y=\|y\| \angle \theta_y\), defina \(p\) em coordenadas polares

\(p\) tem módulo \(\|p\|\) e mesma direção que \(x\). Portanto, \(p = \|p\| \angle \theta_x\).

Por fim, calcule \(p\) na forma cartesiana

Aplicando a definição: \(p = \begin{bmatrix} \|p\| \cos(\theta_x) \\ \|p\| \sin(\theta_x) \end{bmatrix}\)

Mostre que \(p = \frac{x}{\|x\|} \|y\| \cos(\phi)\)

Sabemos que \(\frac{x}{\|x\|} = \begin{bmatrix} \cos(\theta_x) \\ \sin(\theta_x) \end{bmatrix}\) e que \(\|p\| = \|y\| \cos(\phi)\).

Então, \(\frac{x}{\|x\|} \|y\| \cos(\phi) = \begin{bmatrix} \cos(\theta_x) \\ \sin(\theta_x) \end{bmatrix} \|p\| = \begin{bmatrix} \|p\| \cos(\theta_x) \\ \|p\| \sin(\theta_x) \end{bmatrix}\).

Vetores colineares e perpendiculares

Os vetores colineares são aqueles que tem o mesmo argumento. Nesse caso, \(\phi=0\) e a projeção de um vetor (sobre o outro) é o próprio vetor.

Vetores perpendiculares são aqueles que formam um ângulo \(\phi=\frac{\pi}{2}\). Nesse caso, a projeção de um sobre o outro é zero.

Produto interno

O produto interno entre os vetores \(x\) e \(y\) é, por definição:

\[ <x,y> = \sum_{i=1}^n x_i y_i \]

Essa definição significa que devemos multiplicar um a um os elementos correspondentes de \(x\) e de \(y\) e somar progressivamente os resultados. Por exemplo, se:

\[ x = \begin{bmatrix} 1 \\ 2 \\ 3 \\ 4 \end{bmatrix} \]

e

\[ y = \begin{bmatrix} 2 \\ 3 \\ 4 \\ 5 \end{bmatrix} \]

então:

$$ <x,y> = 1 \times 2 + 2 \times 3 + 3 \times 4 + 4 \times 5 \\ = 2 + 6 + 12 + 20\\ = 40 $$

Verifique que \(<x,y> = ||x|| ||y|| \cos(\phi)\) usando dois vetores \(x,y \in \mathbb{R}^2\) à sua escolha.

Para \(x=\begin{bmatrix} 1 \\ 1 \end{bmatrix}\) e \(y=\begin{bmatrix} 0 \\ 1 \end{bmatrix}\), temos:

\(\phi = \frac{\pi}{4} \Rightarrow \cos(\phi)=\sqrt{2}/2\)

\(\|y\|=1 \Rightarrow \|y\| \cos(\phi) = \sqrt{2}/2\)

\(\|x\|=\sqrt{2} \Rightarrow \|x\| \|y\| \cos(\phi) = \sqrt{2} \frac{\sqrt{2}}{2} = 1\)

\(<x,y> = 1 \times 0 + 1 \times 1 = 1\)

Mostre que, se \(<x,y> = ||x|| ||y|| \cos(\phi)\), então \(<x,y>=0\) quando \(x\) e \(y\) são ortogonais

Se \(x\) e \(y\) são ortogonais, \(\cos(\phi)=0\), logo \(<x,y>=0\).

Mostre que \(<x,x> = \|x\|^2\)

\(\|x\| = \sqrt{x_1^2 + x_2^2 + \cdots + x_n^2}\)

\(<x,x> = x_1^2 + x_2^2 + \cdots + x_n^2\)

\(/Rightarrow <x,x> = \sqrt{x_1^2 + x_2^2 + \cdots + x_n^2}^2 = \|x\|^2\)

Alinhamento entre vetores

Vários sistemas modernos funcionam através de calcular o alinhamento entre vetores. Um exemplo disso são os recentes sistemas de Retrieval Augmented Generation (RAG). A ideia do RAG é representar cada documento de um banco de dados de texto como um vetor. Esse vetor é chamado de embedding. Quando dois documentos têm um conteúdo semelhante, o ângulo entre seus embeddings costuma ser pequeno.

Na verdade, o cosseno do ângulo entre os dois vetores é simplesmente usado como métrica.

A figura abaixo mostra um exemplo de banco de dados. Cada ponto azul representa um documento do banco de dados. O ponto vermelho representa uma query, isto é, o conteúdo de uma busca.

(a) Identifique a região do espaço que contém documentos cujo conteúdo é mais próximo ao da query usando como critério o cosseno do ângulo entre eles.

(b) Identifique a região do espaço que contém documentos cujo conteúdo é mais próximo ao da query usando como critério o produto interno entre eles.

No description has been provided for this image