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 é:
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:
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\):
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:
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:
e
então:
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.