Support Vector Machines (SVM)

Slides:



Advertisements
Apresentações semelhantes
Aprendizado de Máquina
Advertisements

Transformação para o Espaço Latente
Modelos de Mineração de Dados
Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 9.
PERCEPTRON (CONTINUAÇÃO)
Aprendizado de Máquina
A PPLYING D ATA M INING T ECHNIQUES TO S EMI -A UTOMATICALLY D ISCOVER G UIDELINES FOR M ETAMODELS {andreza, franklin, patricia,
PREDIÇÃO DATA MINING AULA 13 SANDRA DE AMO
Classificador SVM Support Vector Machine
Programação Linear Método Simplex
2/18/2014Mestrado em Ciencia da Computacao Tópicos Especiais Mineração de Dados Profa. Sandra de Amo Mestrado em Ciência da Computação Faculdade.
Classificadores em Dados não Balanceados
SVM Support Vector Machines
Reconhecimento de Padrões Classificadores Lineares
Reconhecimento de Padrões Classificadores Lineares David Menotti, Ph.D. Universidade Federal de Ouro Preto (UFOP) Programa de.
Reconhecimento de Padrões Combinando Classificadores
Trabalho 2 de FCG Leitura de QR Codes
Redes de Funções de Base Radial Radial Basis Functions (RBFs)
Estudo de Benefícios e Custos de Algoritmos para Seleção de Características Eduardo Mendel do Nascimento Estefhan Dazzi Wandekokem.
00(c) 2007 Gustavo Motta1 Introdução ao -calculus Prof. Gustavo Motta Departamento de Informática/UFPB.
Padrões de Reconhecimento Débora Ap. Rodrigues Chagas
Instituto Tecnológico da Aeronáutica – ITA Divisão de Ciência de Engenharia Eletrônica e Computação EE-09 Inteligência Artificial Prof. Adilson Marques.
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
Davyd Bandeira de Melo Um Sistema de Reconhecimento de Comandos de Voz Utilizando a Rede Neural ELM Junho 2011.
INF 1771 – Inteligência Artificial Aula 19 – Bibliotecas e Ferramentas para Aprendizado de Máquina Edirlei Soares de Lima.
Aprendizado de Máquina
Universidade Federal do Pará Centro Tecnológico Programa de Pós-Graduação em Engenharia Elétrica Load Forecasting Using Support Vector Machines: A Study.
Aprendizado de Máquina Aula 13
Aprendizado de Máquina Aula 8
Introdução O que é computação?.
Aprendizagem de Máquina - Agrupamento
Aprendizado Baseado em Instâncias – Algoritmo k-NN
Márcia Zanutto Barbosa
Matheus dos Santos Lima
Reconhecimento de Expressões Faciais em Imagens
Combined Regression and Ranking
Hui Han, Lee Giles, Hongyuan Zha, Cheng Li, Kostas Tsioutsiouliklis
Marcus Vinicius Silva Soares Orientador: Luiz Merschmann Outubro / 2010.
Avaliação de Clusteres Parte II
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
Aprendizado de Máquina
INF 1771 – Inteligência Artificial
Prof. Leandro da Silva Taddeo
Comitês (Ensembles) de Agrupamentos Marcílio C. P. de Souto DIMAp/UFRN.
Álgebra Vetorial e Linear para Computação
Classificação de imagens de fotografias históricas usando detecção de linhas e paralelogramos pela presença de edifícios Natália Cosse Batista Grupo 8.
Redes Neuronais/Neurais/ Conexionistas Introdução
Support Vector Machine - SVM
Cálculo da Direção de Caminhada: Gradiente de f(x)
Reconhecimento e Verificação de Assinaturas
Aluna: Carolina Paloma Gasperoni
SVMSharp – Uma implementação didática de uma SVM
Aprendizado não-supervisionado
INE5644 – Data Mining Profa Vania Bogorny
Aluna: Monica Beltrami Orientador: Arinei Carlos Lindbeck da Silva
Uma Introdução a SVM Support Vector Machines
Classificação/Categorização Christian Diego – cdad Icamaan Viegas – ibvs.
24/4/2015IA - Prof. Paulemir Campos1 WEKA UPE – Caruaru – Sistemas de Informação Disciplina: Inteligência Artificial Prof.: Paulemir G. Campos.
Márcio Leal de Melo Dahia1 Aprendizado baseado em instâncias.
Reconhecimento Facial usando SVM
Correferências Pronominais na 3ª Pessoa do Singular INF2915 Prof.: Ruy Milidiu Guylerme Velasco, Roberta Claudino, Thiago Ribeiro.
Mineração de Dados Profa. Sandra de Amo
Aula Pratica Aprendizagem WEKA Prof. Ivan Gesteira Costa Filho Centro de Informática Universidade Federal de Pernambuco.
Pontifícia Univerisade Católica do Paraná
Transcrição da apresentação:

Support Vector Machines (SVM) Eduardo Borges Gabriel Simões

Roteiro Introdução SVM Exemplo O que é SVM? Motivação Exemplo simples Dados linearmente separáveis Dados linearmente inseparáveis Exemplo

Introdução Método supervisionado de aprendizado de máquina Classificação em dois grupos Classificação de múltiplas classes não é uma limitação, pois pode-se construir uma SVM para cada classe Apresenta resultados melhores que muitos métodos populares de classificação

Introdução 1968: base matemática [Vapnik et al, 1992] Primeiro artigo Teoria de Lagrange [Vapnik et al, 1992] Primeiro artigo [Vapnik et al, 1998] Definição detalhada Última década Série de artigos com aplicações de SVM Série de artigos com otimizações de SVM SMO, por exemplo

Introdução SVM são utilizadas em diversas áreas: Bioinformática Reconhecimento de assinaturas Classificação de texto e imagens Identificação de spams Reconhecimento de padrões diversos Identificação de dados replicados

Como separar as duas classes? Como separar as duas classes? Motivação da SVM Como separar as duas classes? Como separar as duas classes?

Reta / Plano / Hiperplano Motivação da SVM Reta / Plano / Hiperplano ? Qual o hiperplano ótimo? Menor erro de classificação

Conceitos de SVM Qual o hiperplano ótimo? Menor erro de classificação Maior margem Distância entre vetores de suporte e o hiperplano

Conceitos de SVM Qual o hiperplano ótimo? Menor erro de classificação Maior margem Distância entre vetores de suporte e o hiperplano

Como funciona para dados linearmente separáveis? Dados de treinamento Tuplas no formato (X1, X2, ..., Xn, Y) Atributos Xi Classe Y (+1, -1) Conjunto dito linearmente separável, se existir um hiperplano H (no espaço de entrada) que separe as tuplas de classes diferentes Determinar os vetores de suporte Encontrar o hiperplano ótimo Com maior margem

O Hiperplano (H) Pontos que pertencem a H satisfazem a equação w ⋅ x + b = 0 w: vetor normal a H w = w1, w2, ..., wn ||w|| é a norma euclidiana de w √ (w ⋅ w ) = √ (w12 + ... + wn2 ) |b|/||w|| é a distância perpendicular de H até a origem A distância r entre um ponto x e o hiperplano H é r = g(x) / ||w|| r = ( w ⋅ x + b ) / ||w|| Orientação de w Define o lado do plano em que os pontos pertencem a classe +1 b > 0 (origem no lado positivo) b < 0 (origem no lado negativo) b = 0 (origem pertence ao plano) X2 H x w |b|/||w|| r X1

O Hiperplano (H) – Exemplo H: w ⋅ x + b = 0 H: w1x1 + w2x2 + b = 0 Aplicando os pontos (5,0) e (0,5) 5w1 + b = 0 5w2 + b = 0 Isolando b 5w1 = 5w2 (w1 = w2) Escolhendo arbitrariamente w1 = 1 b = -5 Norma de w ||w|| =  (w12+w22) = 2 Distância da origem |b| / ||w|| = 5/2 Distância de um ponto x = (5,2) até H r = ( w ⋅ x + b ) / ||w|| r = (5w1 + 2w2 -5 ) / 2 r = (5+2-5) / 2 r = 2 X2 H 5 w x = (5,2) 5/ 2 2 5 X1

Hiperplano ótimo r+: distância entre H e o ponto positivo mais próximo r-: distância entre H e o ponto negativo mais próximo margem: r+ + r- Objetivo da SVM é encontrar w0 e b0 para a maior margem H0: w0 ⋅ x + b0 = 0 H1: w0 ⋅ xi + b0 = 1 H2: w0 ⋅ xi + b0 = -1 r+ = ( w ⋅ x + b ) / ||w|| r+ = 1 / ||w|| Para o hiperplano ótimo, r+ = r- r- = 1 / ||w|| Margem = 2 / ||w|| X2 H1 H0 H2 r+ r- w0 X1

Hiperplano ótimo É aquele que possui maior margem margem = 2 / ||w|| É aquele que possui maior margem É aquele que possui menor ||w|| Determinação do hiperplano Problema de otimização restrita Minimizar uma função de custo (produto interno) sujeito a restrições Multiplicadores de Lagrange Fora do escopo Exemplo Prático

Exemplo -1, 0, -1 0, -1, -1 0, 1, -1 1, 0, -1 3, -1, +1 3, 1, +1 6, -1, +1 6, 1, +1

Exemplo -1, 0, -1 0, -1, -1 0, 1, -1 1, 0, -1 3, -1, +1 3, 1, +1 6, -1, +1 6, 1, +1

Exemplo H1: w ⋅ x + b = 1 H2: w ⋅ x + b = -1 w1x1 + w2x2 + b = -1 1w1 + 0w2 + b = -1  b = -1 - w1 w1x1 + w2x2 + b = 1 3w1 -1w2 + b = 1  w2 = 3w1 -1 -w1 -1  w2 = 2w1 -2 3w1 +1w2 + b = 1  3w1 + 2w1 -2 -1 -w1 = 1  w1 = 1  b = -2  w2 = 0 (1, 0) ⋅ x - 2 = 0 X1 = 2 (1, 0)  -1 (3, -1)  +1 (3, 1)  +1

H: (1, 0) ⋅ x - 2 = 0 H: x1 - 2 = 0 Dados de Teste (4, 2), (1. 5, 0 Exemplo

Como funciona para dados linearmente inseparáveis? Mapeamento do espaço de características de D dimensões para HD, onde HD > D Vetores de entrada são mapeados de forma não linear Após transformado, o novo espaço de características deve ser passível de separação linear

Como separar as duas classes com apenas um ponto? Exemplo Como separar as duas classes com apenas um ponto? X1 Class +1 1 -1 2 3 1 2 3 4 Class +1 Class -1

Exemplo SVM usa uma função não linear sobre os atributos do espaço de características inicial X1 Class +1 1 -1 2 3 1 2 3 4 Class +1 Class -1 Φ(X1) = (X1, X12) Esta função torna o problema bidimensional

Exemplo SVM usa uma função não linear sobre os atributos do espaço de características inicial 2 4 6 8 10 1 3 Class +1 Class -1 X1 X12 Class +1 1 -1 2 4 3 9 Φ(X1) = (X1, X12) Esta função torna o problema bidimensional e os dados linearmente separáveis

Exemplo w ⋅ x + b = +1 w ⋅ x + b = -1 w ⋅ x + b = 0 w2 =1 e w1 = -3 Class +1 1 -1 2 4 3 9 w ⋅ x + b = +1 w1x1 + w2x2 + b = +1 0w1 + 0w2 + b = +1  b = 1 3w1 + 9w2 + b = +1 w ⋅ x + b = -1 w1x1 + w2x2 + b = -1 substituindo b e após w1 1w1 + 1w2 + b = -1  w1 = -2 - w2 2w1 + 4w2 + b = -1  -4 -2w2 + 4w2 + 1 = -1 w ⋅ x + b = 0 w2 =1 e w1 = -3 w1x1 + w2x2 + b = 0  -3x1 + x2 + 1 = 0

Exemplo H: -3x1 + x2 + 1 = 0 Dados de Teste (1.5), (-1), (4) 1 2 3 4 Class +1 Class -1 -1 H: -3x1 + x2 + 1 = 0 Dados de Teste (1.5), (-1), (4) (1.5) mapear para (1.5, 2.25) -3 . 1.5 + 2.25 + 1 = - 1.15 [-1] (-1) mapear para (-1,1) -3 . -1 + 1 + 1 = 5 [+1] (4) mapear para (4,16) -3 . 4 + 16 + 1 = 5 [+1] 2 4 6 8 10 1 3 Class +1 Class -1

Como separar as duas classes com apenas uma reta? Outro Exemplo Como separar as duas classes com apenas uma reta? X1 X2 Class 1 -1 2 +1 -2

Outro Exemplo Esta função mantém o problema bidimensional (4-x2+|x1-x2|, 4-x1+|x1-x2|), (x12 + x22) > 2 Φ(x1, x2) = (x1, x2) Esta função mantém o problema bidimensional

Outro Exemplo Vetores de Suporte x1 x2 Class 1 -1 2 +1 6 10

Outro Exemplo Vetores de Suporte x1 x2 Class 1 -1 2 +1 H1: w ⋅ x + b = 1 H2: w ⋅ x + b = -1 w1x1 + w2x2 + b = -1 1w1 + 1w2 + b = -1  w1 = -1 -b -w2 w1x1 + w2x2 + b = 1 2(-1 -b -w2) + 2w2 + b = 1 -2 -2b -2w2 +2w2 + b = 1  b = -3 (2-1) x2 = (2-1) x1 Equação da reta 2x2 - x2 = 2x1 - x1 x2 = x1 w1 = w2 = 1 H0: (1,1) ⋅ x -3 = 0 x1 + x2 -3 = 0 Vetores de Suporte x1 x2 Class 1 -1 2 +1

Outro Exemplo (4-x2+|x1-x2|, 4-x1+|x1-x2|), (x12 + x22) > 2 Φ(x1, x2) = (x1, x2) Esta função realmente separa o espaço original de forma linear? Dados de teste (5,5) Φ(5,5) = (-1, -1) Dados de teste (4,4) Φ(4,4) = (0, 0) Erros de classificação! (5,5) (4,4)

Outro Exemplo Função de mapeamento não é ideal

Problema Como escolher a função Φ(x) tal que o espaço de características transformado seja eficiente para classificação e não possua custo computacional alto demais? Funções de Núcleo (kernel) Polinomial Gaussiano Sigmoid Sempre aumentam o número de dimensões Algumas vezes aumentam bastante!

Outro Exemplo Φ[x1,x2] = [x1, x2, ((x12+x22)-5)/3 ]

LibSVM http://www.csie.ntu.edu.tw/~cjlin/libsvm/ Disponível em Java e C++ Applet para brincar

Bibliografia Burges, J. A tutorial on support vector machines for pattern recognition. Data Mining Knowledge Discovering, 1998, pp. 121–167. Han, J.; Kamber, M. Data Mining: Concepts and Techniques. 2nd edition, Morgan Kaufmann, 2006. Hearst, M.; Schölkopf, B.; Dumais, S.; Osuna, E.; Platt, J. Trends and controversies-support vector machines. IEEE Intelligent Systems 13: 18-28, 1998. Joachims, T. Text categorization with Support Vector Machines: Learning with many relevant features. Proceedings of ECML-98, 10th European conference on machine learning, 1998, pp 137–142. Kumar, V ; Tan, P.; Steinbach, M. Introduction to Data Mining. Addison-Wesley, 2005. Lin, T.; Ngo, T. Clustering High Dimensional Data Using SVM. Rough Sets, Fuzzy Sets, Data Mining and Granular Computing. Lecture Notes in Computer Science, Springer, 2007. Mangasarian, O. Data mining via support vector machines. System Modeling and Optimization, Kluwer Academic Publishers, Boston, 2003, 91-112. Vapnik, V. Statistical LearningTheory. Wiley, 1998. Ventura, D. A (not finished) tutorial example for linear and non-linear SVMs. Available at http://axon.cs.byu.edu/~dan/478/misc/SVM.example.pdf