Prévia do material em texto
Máquinas de Vetor de Suporte
(SVM)
Luiz Carlos R. Neduziak
Uma técnica de aprendizado supervisionado baseada na
ideia de encontrar uma fronteira de decisão que se-
pare classes com a maior margem possível.
Roteiro da Aula
+ Conceitos centrais
▶ Fronteira de decisão
▶ Hiperplano separador
▶ Margem
▶ Vetores de suporte
Ô Formulação
▶ SVM linear
▶ Margens rígidas
▶ Margens suaves
▶ Papel do parâmetro C
¨ Não linearidade
▶ Transformação para espaço de características
▶ Truque do kernel
▶ Kernel polinomial, RBF e sigmoidal
¢ Interpretação
▶ Vantagens
▶ Limitações
▶ Aplicações em Machine Learning
Máquinas de Vetor de Suporte (SVM) 2/23
Ideia Intuitiva da SVM
Pergunta central
Dado um conjunto de dados rotulado, queremos encontrar uma fronteira
que separe as classes.
A SVM escolhe, entre várias fronteiras possíveis, aquela que possui a
maior margem de separação.
Intuição
A melhor fronteira não é apenas aquela que separa os dados de treina-
mento.
Ela é aquela que tenta deixar uma “zona de segurança” entre as classes.
x1
x2
hiperplano
margem
Máquinas de Vetor de Suporte (SVM) 3/23
Fronteira de Decisão e Hiperplano
Função de decisão linear
Uma SVM linear utiliza uma função do tipo:
h(x) = wT x + b
A classificação é obtida pelo sinal dessa função:
g(x) =
{
+1, se wT x + b > 0
−1, se wT x + b 0, o ponto participa da construção da fronteira.
Máquinas de Vetor de Suporte (SVM) 10/23
Quando os Dados Não São Linearmente Separáveis
Problema
Muitos conjuntos de dados não podem ser separados adequadamente
por uma reta ou hiperplano no espaço original.
Solução
Mapear os dados para um espaço de maior dimensão, onde uma
separação linear pode se tornar possível.
Φ : X → S
x1
x2
fronteira não linear
Máquinas de Vetor de Suporte (SVM) 11/23
Espaço de Características
Transformação
A ideia é transformar os dados originais x em uma nova representação Φ(x):
x 7−→ Φ(x)
Nesse novo espaço, uma fronteira linear pode representar uma fronteira não linear no espaço original.
Espaço original
fronteira curva
Espaço de características
fronteira linear
Φ(x)
O desafio: calcular explicitamente Φ(x) pode ser muito custoso quando o espaço é de alta dimensão.
Máquinas de Vetor de Suporte (SVM) 12/23
O Truque do Kernel
Ideia central
A SVM não precisa conhecer explicitamente o mapeamento Φ.
Ela precisa apenas calcular produtos internos no espaço de características.
K (xi , xj) = Φ(xi)T Φ(xj)
Sem kernel
Calcula-se explicitamente o mapeamento:
x → Φ(x)
Pode ser caro ou inviável.
Com kernel
Calcula-se diretamente:
K(xi , xj )
Sem construir explicitamente o novo espaço.
Máquinas de Vetor de Suporte (SVM) 13/23
Exemplo: Kernel Polinomial
Exemplo de mapeamento
Considere o mapeamento de um ponto em duas dimensões para três dimensões:
Φ(x1, x2) = (x2
1 ,
√
2x1x2, x2
2 )
Kernel correspondente
O produto interno nesse espaço pode ser calculado por:
K(xi , xj ) = (xT
i xj )2
Esse é um exemplo de kernel polinomial de grau 2.
A interpretação é poderosa: uma fronteira linear no espaço transformado pode corresponder a uma fronteira curva no espaço original.
Máquinas de Vetor de Suporte (SVM) 14/23
Principais Funções Kernel
Kernel Forma geral Intuição
Linear K(xi , xj ) = xT
i xj Separação linear
Polinomial K(xi , xj ) = (δxT
i xj + κ)d Fronteiras curvas
RBF K(xi , xj ) = exp(−σ∥xi − xj ∥2) Similaridade local
Sigmoidal K(xi , xj ) = tanh(δxT
i xj + κ) Inspiração neural
Mensagem principal
A escolha do kernel define o tipo de fronteira que a SVM pode aprender.
Máquinas de Vetor de Suporte (SVM) 15/23
SVM para Regressão
Ideia
As SVMs também podem ser adaptadas para problemas de regressão.
Nesse caso, o objetivo é encontrar uma função que aproxime os valores observados tolerando erros dentro de uma margem ε.
f (x) = wT x + b
x
y
+ε
−ε
A regressão por vetor de suporte é conhecida como SVR — Support Vector Regression.
Máquinas de Vetor de Suporte (SVM) 16/23
Vantagens das SVMs
¥ Boa generalização
A maximização da margem favorece fronteiras mais robustas.
¥ Alta dimensionalidade
SVMs costumam funcionar bem quando há muitas variáveis expli-
cativas.
¥ Flexibilidade
O uso de kernels permite representar relações não lineares.
¥ Base matemática sólida
A formulação está ligada à Teoria de Aprendizado Estatístico e à
otimização convexa.
Máquinas de Vetor de Suporte (SVM) 17/23
Limitações das SVMs
. Escolha de hiperparâmetros
O desempenho depende da escolha de C , do kernel e dos parâmetros
do kernel.
. Custo computacional
Pode ser custosa para bases muito grandes.
. Interpretação
Modelos com kernels não lineares podem ser difíceis de interpretar.
. Pré-processamento
A padronização das variáveis é geralmente importante para bom
desempenho.
Máquinas de Vetor de Suporte (SVM) 18/23
SVM no Fluxo de Machine Learning
Dados rotulados
Pré-processamento
padronização
Separação treino/teste
ou validação cruzada
Busca de hiperparâmetros
C , kernel, γ, grau
Treinamento da SVM
Avaliação
acurácia, F1, matriz de confusão
Máquinas de Vetor de Suporte (SVM)19/23
Resumo Conceitual
O que a SVM faz?
Encontra uma fronteira de decisão que separa classes maximizando
a margem.
Por que a margem importa?
Porque ela funciona como uma zona de segurança, favorecendo
melhor generalização.
Por que usar kernel?
Para resolver problemas não lineares sem calcular explicitamente
transformações complexas.
O que observar na prática?
Escolha do kernel, ajuste de C , padronização dos dados e validação
adequada.
SVM = margem máxima + vetores de suporte + kernel
Máquinas de Vetor de Suporte (SVM) 20/23
Mensagem Final
Máquinas de Vetor de Suporte
A SVM é uma técnica elegante porque transforma um problema de classificação em um
problema geométrico e de otimização.
Seu poder vem da combinação entre margem máxima, vetores de suporte e funções kernel.
Próximo passo: implementação em Python com Pipeline, GridSearchCV e validação cruzada.
Máquinas de Vetor de Suporte (SVM) 21/23
Questões para Discussão
1. Margem
Por que uma fronteira com maior margem tende a generalizar melhor para novos dados?
2. Parâmetro C
O que pode acontecer quando escolhemos um valor muito alto para C?
3. Kernel
Por que o kernel permite lidar com problemas não lineares sem construir explicitamente o novo espaço de características?
4. Aplicação
Em quais problemas reais uma SVM pode ser uma boa alternativa? Em quais ela pode não ser a melhor escolha?
Máquinas de Vetor de Suporte (SVM) 22/23
Referências
FACELI, Katti et al. Inteligência artificial: uma abordagem de aprendizado de máquina. 2021.
Máquinas de Vetor de Suporte (SVM) 23/23