INF 1771 Inteligncia Artificial Edirlei Soares de Lima Aula 16
Support Vector Machines (SVM)
Slide 2
Formas de Aprendizado Aprendizado Supervisionado rvores de
Deciso. K-Nearest Neighbor (KNN). Support Vector Machines (SVM).
Redes Neurais. Aprendizado No Supervisionado Aprendizado Por
Reforo
Slide 3
Aprendizado Supervisionado Observa-se alguns pares de exemplos
de entrada e sada, de forma a aprender uma funo que mapeia a
entrada para a sada. Damos ao sistema a resposta correta durante o
processo de treinamento. eficiente pois o sistema pode trabalhar
diretamente com informaes corretas.
Slide 4
Support Vector Machine Proposto em 1995 pelo russo Vladimir
Vapnik. Consiste em um mtodo de aprendizado que tenta encontrar a
maior margem para separar diferentes classes de dados. Pertence
classe de algoritmos de aprendizado supervisionado. A essncia do
SVM a construo de um hiperplano timo, de modo que ele possa separar
diferentes classes de dados com a maior margem possvel.
Slide 5
Support Vector Machine Como separar essas duas classes?
Slide 6
Support Vector Machine Como separar essas duas classes? Existem
diversas retas que podem ser traadas para separar os dados. Qual
delas a melhor opo?
Slide 7
Support Vector Machine Como separar essas duas classes? Existem
diversas retas que podem ser traadas para separar os dados. Qual
delas a melhor opo? Hiperplano timo!
Slide 8
Vetores de Suporte Servem para definir qual ser o hiperplano.
So encontrados durante a fase de treinamento. Os vetores de suporte
so os exemplos de treinamento realmente importantes. Os outros
exemplos podem ser ignorados.
Slide 9
Support Vector Machine Hiperplano: Espao 1D = Ponto Espao 2D =
Reta Espao 3D = Plano
Slide 10
Support Vector Machine A aplicao de um mtodo puramente linear
para classificar um conjunto de dados pode sofrer com dois
problemas bastante comuns: Outliers Exemplos rotulados erroneamente
Mesmo assim o SVM ainda assim pode ser aplicado atravs do uso do
parmetro C (soft margin - variveis de folga)
Slide 11
Soft Margin
Slide 12
Support Vector Machine Em alguns problemas no possvel separar
as classes linearmente mesmo utilizando a margem de folga. Na
realidade, a grande maioria dos problemas reais no so separveis
linearmente. O que fazer?
Slide 13
SVM No-Linear O que fazer quando os dados no so linearmente
separveis? A abordagem utilizada pelo SVM para resolver esse tipo
de problema consistem em mapear os dados para um espao de dimenso
maior: x x2x2 x
Slide 14
SVM No-Linear O espao de atributos original pode ser mapeado em
um espao de atributos de dimenso maior onde o conjunto de
treinamento linearmente separvel: : x (x)
Slide 15
SVM No-Linear Exemplo Considerando o seguinte conjunto de
exemplos de treinamento que no so linearmente separveis: Elevando
para uma dimenso linearmente separvel (R 1 R 2 ): Kernel: (x) = (x,
x 2 ) 0 1 235 -2 -3 X 0 1 235 -2 -3 X 1 4 9 25
Slide 16
SVM No-Linear Exemplo A mesma metodologia pode ser aplicada em
um espao 2D de caractersticas (R 2 R 3 ). A nica diferena a
necessidade de uma nova funo de kernel. Um exemplo de funo de
kernel aplicvel nesse caso seria: z1z1 z2z2 z3z3
Slide 17
Funes de Kernel KernelFuno Polinomial Gaussiano Sigmoidal
Slide 18
Polynomial Kernel
Slide 19
Support Vector Machine O SVM foi originalmente concebido para
lidar com classificaes binrias. Entretanto, a maior parte dos
problemas reais requerem mltiplas classes. Para se utilizar uma SVM
para classificar mltiplas classes necessrio transformar o problema
multi-classe em vrios problemas da classes binrias Um contra o
resto. Pairwise.
Slide 20
Aplicao Antes de aplicar uma SVM para classificar um conjunto
de dados necessrio responder algumas questes: Quais funes de kernel
utilizar? Qual o valor do parmetro C (Soft Margin)? Validaes
cruzadas (crossvalidations).
Slide 21
Vantagens e Desvantagens Vantagens: Consegue lidar bem com
grandes conjuntos de exemplos. Trata bem dados de alta dimenso. O
processo de classificao rpido. Desvantagens: necessrio definir um
bom Kernel. O tempo de treinamento pode ser bem longo dependendo do
nmero de exemplos e dimensionalidade dos dados.
Leitura Complementar Mitchell, T. Machine Learning, McGrawHill
Science/Engineering/Math, 1997. Duda, R., Hart, P., Stork, D.,
Pattern Classification, John Wiley & Sons, 2000 Cristianini,
N., Shawe-Taylor, J., An Introduction to Support Vector Machines
and Other Kernel- based Learning Methods, Cambridge University
Press, 2000.