🗒️ Resumo
🗒️ 3. Primeiros passos Hands-on
🗒️ 5. Outros tipos de Modelos de Vetores de Suporte
🗒️ Apêndice
Um segmento de reta com comprimento e direção, i.e., orientado é chamado de vetor. Se o vetor tem comprimento \(1\) é chamado de vetor unitário. Dadas as coordenadas do vetor \(\bar{p} = (p_1, \cdots, p_n)\) em \(\mathbb{R}^n\), podemos calcular seu tamanho ou norma, representado por \(|\bar{p}|\) como:
\[|\bar{p}| = \sqrt{p_1^2 + \cdots + p_n^2}.\]
Sejam \(\bar{a} = (a_1, \cdots, a_n)\), \(\bar{b} = (b_1, \cdots, b_n)\) dois vetores em \(\mathbb{R}^n\), então \(\bar{a}\) e \(\bar{b}\) serão iguais se, e somente se os componentes correspondentes de cada vetor são iguais. Formalmente, temos:
\[\bar{a} = \bar{b}, \textrm{ se } a_1 = b_1, \cdots, a_n = b_n.\]
Sejam \(\bar{a} = (a_1, \cdots, a_n)\), \(\bar{b} = (b_1, \cdots, b_n)\) e \(\bar{c} = (c_1, \cdots, c_n)\) três vetores em \(\mathbb{R}^n\), então definimos a adição de vetores como:
\[\bar{c} = \bar{a} + \bar{b}\] tal que, \(c_1 = a_1 + b_1\), \(\cdots\), \(c_n = a_n + b_n\).
O vetor \(\bar{0} = (0, \cdots, 0)\) é chamada de vetor nulo, possuindo \(n\) elementos, tem tamanho \(0\) e pode ser considerado o ponto de origem de um sistema de coordenadas \(n\)-dimensional. Por fim, temos o vetor oposto \((-\bar{a})\), que é o vetor \(\bar{a}\) com todos os componentes negativos, i.e.,
\[-\bar{a} = -(a_1, \cdots, a_n) = (-a_1, \cdots, -a_n).\]
Nas duas tabelas a seguir são apresentados alguns axiomas de soma de vetores e de multiplicação de vetores por um escalar. Um conjunto \(V\) de vetores em \(\mathbb{R}^n\) é chamado de espaço vetorial real se os axiomas de adição de vetores e multiplicação de vetores por um escalar apresentados nas Tabelas 1 e 2 são satisfeitos.
Comutatividade | \(\bar{a} + \bar{b} = \bar{b} + \bar{a}\) |
Associatividade | \((\bar{a} + \bar{b}) + \bar{c} = \bar{a} + (\bar{b} + \bar{c})\) |
Identidade | \(\bar{a} + \bar{0} = \bar{a}\) |
Reciprocidade | \(\bar{a} + (-\bar{a}) = \bar{0}\) |
Tabela 1. Axiomas de adição de vetores.
Distributiva I | \(q(\bar{a} + \bar{b}) = q\bar{a} + q\bar{b}\) |
Distributiva II | \((p + q)\bar{a} = p\bar{a} + q\bar{a}\) |
Associativa | \((pq)\bar{a} = p(q\bar{a})\) |
Identidade | \(1\bar{a} = \bar{a}\) |
Tabela 2. Axiomas de multiplicação de um vetor por um escalar. Aqui \(p,q \in \mathbb{R}\)
Dado dois vetores \(\bar{a} = (a_1,
\cdots, a_n)\) e \(\bar{b} = (b_1,
\cdots, b_n)\) em um espaço vetorial real \(n\)-dimensional \(\mathbb{R}^n\), defini-se o produto escalar
\(\bar{a} \cdot \bar{b}\) como:
\[\bar{a} \cdot \bar{b} = a_1b_1 + \cdots + a_nb_n = |\bar{a}||\bar{b}|cos(\gamma)\]
onde \(|\bar{a}|\) e \(|\bar{b}|\) são as normas dos vetores \(\bar{a}\) e \(\bar{b}\), respectivamente, e \(\gamma\) é o ângulo entre os dois vetores. Dois vetores \(\bar{a}\) e \(\bar{b}\) com \(|\bar{a}| > 0\) e \(|\bar{b}| > 0\) são ditos ortogonais se formam um ângulo de \(90^{\circ}\) entre si. Pela definição acima, temos que se \(\bar{a}\) e \(\bar{b}\) são ortogonais \(\bar{a} \cdot \bar{b} = 0\).
Na Tabela abaixo são expostas algumas identidades algébricas para o produto de vetores por um escalar.
Linearidade | \((p\bar{a} + q\bar{b}) \cdot \bar{c} = p\bar{a} \cdot \bar{c} + q\bar{b} \cdot \bar{c}\) |
Simetria | \(\bar{a} \cdot \bar{b} = \bar{b} \cdot \bar{a}\) |
Não negatividade | \(\bar{a} \cdot \bar{a} \geq 0\) |
Não degeneração | \(\bar{a} \cdot \bar{a} = 0, \textrm{ se } \bar{a} = 0\) |
Tabela 3. Identidades algébricas do produto escalar.
Além das identidades apresentadas acima, temos as seguintes identidades que se mostram bastante úteis. Começando pela relação entre a norma de um vetor e o produto escalar. \[|\bar{a}| = \sqrt{\bar{a} \cdot \bar{a}}. \] Na sequência temos uma derivação para o \(cos(\gamma)\) onde: \[cos(\gamma) = \frac{\bar{a} \cdot \bar{b}}{|\bar{a}||\bar{b}|}. \]
Seja \(\bar{a}\) e \(\bar{b}\) vetores em \(\mathbb{R}^n\) que formam um ângulo \(\gamma\) entre eles, dizemos que \(P_{\bar{a}}\) é a projeção de \(\bar{a}\) na direção de \(\bar{b}\), de forma que: \[p_{\bar{a}} = |\bar{a}|cos(\gamma) = \frac{|\bar{a}|(\bar{a} \cdot \bar{b})}{|\bar{a}||\bar{b}|} = \frac{\bar{a} \cdot \bar{b}}{|\bar{b}|}.\] Na Figura 1, temos a representação geométrica da projeção do vetor \(\bar{a}\) na direção de \(\bar{b}\).
Figura 1. Representação geométrica da projeção do vetor \(\bar{a}\) na direção de \(\bar{b}\).
A forma mais simples de separar dois grupos de observações no plano é traçando uma reta, um plano ou hiperplano (a depender da dimensão dos dados) o qual pode ser representado por uma função linear. No caso do plano (\(\mathbb{R}^2\)), podemos definir dita função por uma equação da forma \[f(x) = y = -mx\]
em que \(x, y, m \in \mathbb{R}\), esta função é interpretada como um conjunto de pontos \((x, y) \in \mathbb{R}^2\), tais que \[mx + y = 0.\] Se definimos \(w_1 = m\) e \(w_2 = 1\), podemos escrever:
\[f(x) = w_1x + w_2y = 0\] que pode ser visto como o produto escalar entre os vetores \(\bar{w} = (w_1, w_2)\) e \(\bar{x} = (x, y)\): \[f(x) = w_1x + w_2y = \bar{w} \cdot \bar{x} = 0.\]
Como o produto escalar entre os dois vetores é zero, implica que \(\bar{w}\) e \(\bar{x}\) são ortogonais, sendo \(\bar{x}\) interpretado como o vetor de posição para qualquer ponto \((x, y)\) pertencente a reta \(mx + y = 0\), e o \(\bar{w}\) chamado de vetor normal. Como esta reta passa pela origem, o vetor de posição \(\bar{x}\) é paralelo a reta para qualquer ponto pertencente a ela. Uma vez que \(\bar{w}\) é ortogonal a \(\bar{x}\) e o qual é paralelo a reta, então \(\bar{w}\) é ortogonal a reta.
Observando um caso mais geral, ao inserir uma variável de viés ( - Intercepto) \(b \in \mathbb{R}\), a reta será escrita como: \[f(x) = y = -mx + b.\] De modo análogo para o caso em que a reta passa pela origem, pode ser mostrado que: \[ \bar{w} \cdot \bar{x} = b \]
com \(\bar{w} = (m, 1)\) e \(\bar{x} = (x, y)\). Observe que o vetor normal \(\bar{w}\) e o vetor de posição \(\bar{x}\) não são mais ortogonais, dado que a reta não passa mais pela origem, porém, \(\bar{w}\) segue ortogonal a reta. Note que através do produto escalar entre vetores \(\bar{w} \cdot \bar{x} = b\) podemos especificar a equação de uma reta qualquer no plano.
De forma analoga, podemos estender estes conceitos para um espaço tridimensional. Sejam \(\bar{w} = (w_1, w_2, w_3)\) e \(\bar{x} = (x, y, z)\), então: \[ \bar{w} \cdot \bar{x} = b \]
descreve um plano com \(\bar{w}\) vetor normal ao plano e \(\bar{x}\) o vetor de posição dos pontos no plano. Da mesma forma, se considerarmos \(\bar{w} = (w_1, \cdots, w_n)\) e \(\bar{x} = (x_1, \cdots, x_n)\), a equação \(\bar{w} \cdot \bar{x} = b\) define um hiperplano no espaço 3-dimensional.
Consideremos um conjunto de dados de treinamento bidimensional contido no espaço \(\mathbb{R}^2\) e linearmente separável por uma reta passando pela origem. Essa linha será denotada por \(g(\textbf{x})\) e pode ser escrita como: \[ g(\textbf{x})= \textbf{w} \cdot \textbf{x} = 0 \] em que \(\textbf{w}\),\(\textbf{x} \in \mathbb{R}^2\).
Como \(g\) separa o conjunto de treinamento perfeitamente ela será chamada de superfície de decisão. Seja \(\textbf{a} \in \mathbb{R}^2\) tal que \(a \in \mathcal{S}\) sendo \(\mathcal{S}\subset\ \mathbb{R}^2.\) O ponto podera ser classificado a partir de sua localização no plano, i.e., se estiver acima ou abaixo da superfície de decisão. Para determinar a decisão do posicionamento de \(\textbf{a}\) definimos \[ g(\textbf{a})= \textbf{w} \cdot \textbf{a} = \mid \textbf{w} \mid \mid \textbf{a} \mid \cos \gamma = k \] em que \(\gamma\) é o ângulo entre o vetor normal da superfície de decisão \(\textbf{w}\) e o vetor de posição \(\textbf{a}.\) Note que
O valor de \(k\) será positivo se \(\textbf{a}\) está acima da superfície com \(\gamma \leq 90^{\circ}\).
O valor de \(k\) será negativo se \(\textbf{a}\) está abaixo da superfície com \(\gamma > 90^{\circ}\).
A Figura 2 apresenta de forma esquemática a superfície de decisão para duas classes de pontos (+) acima da superficie de decisão e (-) abaixo da superficie de decisão em função do vetor \(\textbf{w}\)
Figura 2. Divisão do plano para duas classes através da superficie de decisão que passa pela origem.
Entretanto uma forma mais razoável é considerar uma função de decisão dicotómica, da forma
\[ f(\textbf{x}) = \begin{cases} +1, & \quad \text{ se } g(\textbf{x}) \geq 0 \\ -1, & \quad \text{ se } g(\textbf{x}) < 0 \end{cases} \]
Suponhamos novamente que conjunto de dados de interesse é bidimensional e linearmente separável por uma reta que passa pelo eixo das coordenadas \(y\) no valor \(b\). Então a linha \(g\) pode ser escrita como:
\[ g(\textbf{x})= b. \] Através de uma adição de vetores, podemos o vetor \(\textbf{z}\) de modo que \(\textbf{a}=\textbf{c}+\textbf{z}\), e portanto \(\textbf{z}=\textbf{a}-\textbf{c}\), como ilustrado na Figura 3, em que, a esquerda há a divisão da superfície de decisão com intercepto fora da origem, para duas classes e na figura da direita há a classificação do vetor \(\textbf{a},\) sendo também \(\textbf{w}=\bar{w}\).
Figura 3. Divisão do plano para duas classes fora da origem. Fonte: Adaptado de Hamel (2011)
Determinando, então, uma solução para o problema de classificação. Uma vez que o vetor normal \(\textbf{w}\) surge da reta \(g\) no ponto o qual tem a direção apontada pelo vetor \(\textbf{c}\) temos que \(\textbf{w}\) é perpendicular a reta \(g\). Neste caso, o vetor \(\textbf{z}\) será o vetor posição do ponto \(\textbf{a}\) com respeito ao ponto \(\textbf{c}.\) Finalmente o ponto \(\textbf{c}\) pode ser visto como a solução para superfícies lineares de decisão a partir da origem, uma vez que o ponto \(\textbf{a}\) e o ponto \(\textbf{c}\) partem da origem e os vetores \(\textbf{w}\) e \(\textbf{z}\) estão deslocados a partir do ponto que aponta a direção do vetor \(\textbf{c}.\) Nesta situao, o produto escalar é dado por:
\[ \textbf{w} \cdot \textbf{z}= \mid \textbf{w} \mid \mid \textbf{z} \mid \cos \gamma = k \]
De forma análoga ao caso anteriormente discutido, o ponto \(\textbf{a}\) será classificado em função de sua posição, i.e., ele se encontrar acima ou abaixo da superfície de decisão \(g.\) Desta forma o valor de \(k\) novamente será usado como limiar discriminatório, ou seja,
o valor de \(k\) será positivo se o ponto \(\textbf{a}\) estiver acima da superfície de decisão se \(\gamma \leq 90^{\circ}\) .
o valor de \(k\) será negativo se o ponto \(\textbf{a}\) estiver abaixo da superfície de decisão com \(\gamma > 90^{\circ}\).
Novamente, \(\boldsymbol{\gamma}\) representa o ângulo entre o vetor normal \(\textbf{w}\) e o vetor \(\textbf{z}\).
A função de decisão pode ser definida agora como: \[\begin{eqnarray*} \textbf{w} \cdot \textbf{z} = \textbf{w} \cdot (\textbf{a} - \textbf{c}) \\ \textbf{w} \cdot \textbf{z} = ( \textbf{w} \cdot \textbf{a} ) - ( \textbf{w} \cdot \textbf{c} )\\ \textbf{w} \cdot \textbf{z} = ( \textbf{w} \cdot \textbf{a} ) - b\\ \textbf{w} \cdot \textbf{z} = g(\textbf{a} ) - b \end{eqnarray*}\]
Logo, para encontrar o produto escalar do ponto \(\textbf{a},\) basta transferir a superfície de decisão \(g\) em \(\textbf{a}\) e então subtrairmos o intercepto \(b.\)
Novamente, a forma mais simples da função de decisão pode ser definida por:
\[ f(\textbf{x}) = \begin{cases} +1 & \quad \text{ se } g(\textbf{x}) - b \geq 0, \\ -1 & \quad \text{ se } g(\textbf{x}) - b < 0 \end{cases} \] para todo \(\textbf{x} \in \mathbb{R}^{2}\) .
Até agora foram desenvolvidas funções e superfícies de decisão para \(\mathbb{R}^{2},\) porém tais conceitos podem ser estendidos para dimensões superiores.
Para uma superfície de decisão \(\textbf{w} \cdot \textbf{x} = b\) no espaço euclidiano \(p\)-dimensional (\(\mathbb{R}^{p}\)), a função de decisão é dada por: \[ \widehat{f}(\textbf{x}) = sgn (\textbf{w} \cdot \textbf{x} - b) \] qm que \(\textbf{w},\textbf{x} \in \mathbb{R}^{p}\), \(b \in \mathbb{R}^{2}\) e \(sgn\) é a função sinal tal que
\[ sgn(k) = \begin{cases} +1, & \quad \text{ se } k \geq 0, \\ -1, & \quad \text{ se } k < 0 \end{cases} \] para todo \(k \in \mathbb{R}\).