SUPPORT VECTOR MACHINE - SVM

Documentos relacionados
UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

Adriana da Costa F. Chaves. Máquina de Vetor Suporte (SVM) para Classificação Binária 2

INF 1771 Inteligência Artificial

2. Redes Neurais Artificiais

Máquinas de Vetores de Suporte

INF 1771 Inteligência Artificial

Redes Neurais (Inteligência Artificial)

Thiago Zavaschi Orientador: Alessandro Koerich Programa de Pós-Graduação em Informática (PPGIa) Pontifícia Universidade

Classificadores Lineares

Máquinas de Vetores de Suporte

Máquinas de Vetores de Suporte - Support Vector Machines (SVM) Germano Vasconcelos

Aprendizado de Máquinas. Classificadores Lineares

Uma Introdução a SVM Support Vector Machines. Obs: Baseada nos slides de Martin Law

Aprendizagem de Máquina

Rede RBF (Radial Basis Function)

Máquina de Vetores Suporte

Classificação Linear. André Tavares da Silva.

Máquinas de suporte vetorial e sua aplicação na detecção de spam

Support Vector Machines

Exame de Aprendizagem Automática

Inteligência Artificial

3 Máquinas de Suporte Vetorial para regressão

Teoria do aprendizado

Conteúdo da Apresentação

MINERAÇÃO DE DADOS. Thiago Marzagão 1 MÁQUINAS DE SUPORTE VETORIAL. 1 Thiago Marzagão (UnB) MINERAÇÃO DE DADOS 1 / 27

Teoria de dualidade. Marina Andretta ICMC-USP. 19 de outubro de 2016

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

Exame de Aprendizagem Automática

INF 1771 Inteligência Artificial

Funções Discriminantes Lineares

Inteligência Computacional

Introdução às Máquinas de Vetores Suporte (Support Vector Machines)

Introdução à Mineração de Dados com Aplicações em Ciências Espaciais

Mineração de Dados em Biologia Molecular

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

( ) Aula de Hoje. Introdução a Sistemas Inteligentes. Modelo RBF (revisão) Modelo RBF (revisão)

Análise teórica de Máquinas de Vetores Suporte

IMPLEMENTAÇÃO DO FREx_SVM: MÁQUINAS DE VETOR SUPORTE PARA CLASSIFICAÇÃO EM MÚLTIPLAS CLASSES

Aula 1: k-nearest Neighbors

APLICAÇÃO DA TEORIA DE OTIMIZAÇÃO CONVEXA EM PROBLEMAS DE CLASSIFICAÇÃO

Categorização de Textos Usando Máquinas de Suporte Vetorial

Otimização Combinatória - Parte 4

Introdução ao Reconhecimento. Prof. Dr. Geraldo Braz Junior

Multi-Layer. Perceptrons. Algoritmos de Aprendizado. Perceptrons. Perceptrons

Rede Perceptron. Capítulo 3

Redes Neurais Artificiais

Aprendizagem de Máquina

Redes Neurais Artificial

Aprendizado de Máquina (Machine Learning)

Fundamentos de Inteligência Artificial [5COP099]

Redes Neurais. A Rede RBF. Redes RBF: Função de Base Radial. Prof. Paulo Martins Engel. Regressão não paramétrica. Redes RBF: Radial-Basis Functions

Redes Neurais e Sistemas Fuzzy

Lucas Ribeiro Reis de Sousa

2. Redes Neurais Artificiais

Mapeamento robótico. Mapeamento semântico. Metodologia. Maquinas de vetores de suporte. Maquinas de vetores de suporte. Modelos ocultos de Markov

Árvore Binária SVM Otimizada na Classificação de Imagem Hiperespectral. Diego Bonesso 1 Vitor Haertel 1

Tópicos Especiais: Inteligência Artificial REDES NEURAIS

4 Estado da Arte do Kernel PCA

Algoritmos de Aprendizado

PROVAS Ciência da Computação. 2 a Prova: 13/02/2014 (Quinta) Reavaliação: 20/02/2014 (Quinta)

Aprendizado de Máquina

Aprendizagem de Máquina

Conceitos de Aprendizagem de Máquina e Experimentos. Visão Computacional

Determinação de vícios refrativos oculares utilizando Support Vector Machines

PREVISÃO DA DEMANDA BIOQUÍMICA DE OXIGÊNIO POR MEIO DE VARIÁVEIS LIMNOLÓGICAS UTILIZANDO MODELOS DE APRENDIZADO DE MÁQUINA EM PYTHON

2 Núcleos: suas propriedades e classificações

Reconhecimento de Padrões

Regra de Hebb Perceptron Delta Rule (Least Mean Square) Multi-Layer Perceptrons (Back Propagation) Hopfield Competitive Learning Radial Basis Function

Maldição da dimensionalidade

Projeções Multi-dimensionais

Classificação de Padrões. Abordagem prática com Redes Neurais Artificiais

Máquina de Vetores-Suporte Intervalar

Alocação de Unidades via Relaxação Lagrangeana

1 o Teste de Aprendizagem Automática

Aprendizado por Instâncias Janelas de Parzen & Knn

3 Extração de Regras Simbólicas a partir de Máquinas de Vetores Suporte 3.1 Introdução

SEMINÁRIO DOS ARTIGOS:

Aula 20: Revisão Otimização Linear e Inteira Túlio A. M. Toffolo

Aprendizagem de Máquina. Redes Neurais Artificiais (RNAs)

PERCEPTRON. Características Básicas Modelo de Neurônio Estrutura da Rede Algoritmo de Aprendizado

Laboratório Como usar algoritmos de aprendizado de máquina de regressão em Weka

ESTRATÉGIAS PARA DESENVOLVIMENTO DE SISTEMAS DE MÚLTIPLOS CLASSIFICADORES EM APRENDIZADO SUPERVISIONADO. Leonardo Ponte Daister

HP UFCG Analytics Abril-Maio Um curso sobre Reconhecimento de Padrões e Redes Neurais. Por Herman Martins Gomes.

Inteligência Artificial Redes Neurais

Introdução à Redes Neurais. Prof. Matheus Giovanni Pires EXA 868 Inteligência Artificial Não-Simbólica B Universidade Estadual de Feira de Santana

)XQGDPHQWRVGHSURJUDPDomRPDWHPiWLFD

Universidade Federal do Paraná (UFPR) Especialização em Engenharia Industrial 4.0. Classificação. David Menotti.

Universidade Federal do Paraná (UFPR) Especialização em Engenharia Industrial 4.0. Classificação. David Menotti.

3 Redes Neurais Artificiais

Benemar Alencar de Souza

Aprendizado de Máquinas. Multi-Layer Perceptron (MLP)

Resolução de sistemas de equações lineares: Método do Gradiente

UNIVERSIDADE FEDERAL DO PARANÁ. Leonardo Trigueiro dos Santos

INTERFACE PARA CLASSIFICAÇÃO DE DADOS POR MÁQUINA DE VETORES DE SUPORTE

Kevin Martins Araújo UTILIZAÇÃO DO ALGORITMO DE MÁQUINA DE VETORES DE SUPORTE (SVM) PARA PREDIÇÃO DE DADOS CLIMÁTICOS

Programação Linear M É T O D O S : E S T A T Í S T I C A E M A T E M Á T I C A A P L I C A D A S D e 1 1 d e m a r ç o a 2 9 d e a b r i l d e

Disciplina: Processamento Estatístico de Sinais (ENGA83) - Aula 03 / Detecção de Sinais

Algoritmos de Aprendizado. CONTEÚDO Introdução Motivação, Objetivo, Definição, Características Básicas e Histórico. Regra de HEBB.

Planejamento da Operação de Sistemas Hidrotérmicos. Parte III

Transcrição:

SUPPORT VECTOR MACHINE - SVM Definição 2 Máquinas de Vetores Suporte (Support Vector Machines - SVMs) Proposto em 79 por Vladimir Vapnik Um dos mais importantes acontecimentos na área de reconhecimento de padrões nos últimos 15 anos. Tem sido largamente utilizado com sucesso para resolver diferentes problemas. 1

Definição 3 Máquinas de Vetores Suporte (Support Vector Machines - SVMs) É uma técnica de classificação supervisionada Trata-se de um classificador linear binário nãoprobabilístico Classifica os dados sempre em apenas 2 classes Resultados comparáveis aos obtidos por outros algoritmos de aprendizado Redes Neurais Artificiais (RNAs) Definição 4 Ideia geral Perceptron é capaz de construir uma fronteira se os dados forem linearmente separáveis Mas qual fronteira é a melhor? 2

Definição 5 Ideia geral SVM trabalha com a maximização da margem A fronteira mais distante dos dados de treinamento é a melhor 6 SVM linear com margens rígidas Define uma fronteira linear a partir de dados linearmente separáveis Separam os dados por meio de um hiperplano Conjunto de dados contendo somente duas classes -1 e +1 3

7 Um dado é visto como um ponto num espaço de p dimensões Queremos saber se podemos separar esses pontos com um hiperplano de (p - 1) dimensões Problema Linearmente Separável 8 Existem muitos hiperplanos possíveis Duas possíveis soluções (mas existem outras...) Qual é o melhor hiperplano? 4

9 Existem muitos hiperplanos possíveis SVM busca o hiperplano máximo Maior separação, ou margem, entre as duas classes 10 Solução Encontrar o hiperplano que maximiza a margem do limiar de decisão margem 5

11 O hiperplano de separação é dado pela equação f x = wx + b = 0 Onde w é o vetor de pesos (mesma dimensão das amostras) perpendicular ao hiperplano de separação e b é um escalar. w 12 A equação divide o espaço duas regiões wx + b > 0 wx + b < 0 w Apenas o sinal é necessário para fazer a classificação +1, se wx + b > 0 y x = 1, se wx + b < 0 6

13 Essa equação permite obter um número infinito de hiperplanos equivalentes. Qual escolher? Selecionar w e b de forma que os exemplos mais próximos ao hiperplano satisfaçam wx + b = 1 Assim temos que wx + b +1 se y = +1 wx + b 1 se y = 1 14 Como escolher w e b? Seja dois pontos x a e x b wx a + b = +1 wx b + b = 1 w.x b + b = -1 w x b w.x a + b = +1 x a 7

15 A diferença entre as equações wx a + b = +1 wx b + b = 1 Fazendo a diferença entre os hiperplanos de x a e x b w(x a x b ) = 2 x b w x a margem 16 Calculando a margem É a distância entre os hiperplanos x a e x b Diferença entre hiperplanos w(x a x b ) = 2 Margem é o comprimento do vetor diferença projetado na direção de w x a x b = 2 w margem = 2 w 8

17 Temos então que margem = 2 w A distância mínima entre o hiperplano separador e os dados é dada por w(x a x b ) = 2 1 w Logo, maximizar a margem envolve minimizar w 18 Minimizar w é um problema difícil de resolver Depende da norma de w, a qual envolve uma raíz Solução Substituir o termo w por 1 2 w 2 Removemos o cálculo da raiz e acrescentamos uma constante por conveniência matemática 9

19 Temos agora um problema de otimização de uma função quadrática Vamos maximizar a margem do limiar de decisão em função do vetor de pesos w (forma primal) min w,b 1 w 2 2 20 Problema de otimização sujeito a seguinte restrição y i w. x i +b 1, i = 1, n Devemos lembrar que x i, i = 1, n, conjunto de padrões y i = { 1, +1}, i = 1, n, respectivas classes 10

21 Problema de otimização Trata-se de um problema quadrático com restrições lineares Função objetivo é convexa, logo há somente um mínimo, que é o global Solução global ótima é encontrada usando métodos numéricos 22 Solução com função de Lagrange Problemas desse tipo podem ser solucionados com a introdução de uma função de Lagrange, que engloba as restrições à função objetivo, associadas a parâmetros denominados multiplicadores de Lagrange α i 0 L w, b, α = 1 2 w 2 α i y i wx i + b 1 n i=1 A função de Lagrange deve ser minimizada, o que implica em maximizar as variáveis α i e minimizar w e b 11

23 Podemos aplicar os mesmos princípios de resolução encontrando o gradiente para a função de Lagrange Essa abordagem também permite chegar à forma dual do problema. Isso envolve encontrar L b = 0 L w = 0 24 Resolvendo L b = 0 L w = 0 Chegamos, respectivamente, a n i=1 α i y i = 0 n w = α i y i i=1 x i 12

25 Substituindo os termos anteriores a forma primal, o problema passa a ser otimizar n i=1 α i 1 2 n i=1 n j=1 α i α j y i y j x i x j Sujeito a α i 0, i = 1,, n n α i y i = 0 i=1 com Margens Suaves 26 E se o problema for não linearmente separável? Em situações reais, é difícil encontrar aplicações cujos dados sejam linearmente separáveis. Presença de ruído e exemplos inconsistentes (outliers) 13

com Margens Suaves 27 Necessidade de uma nova abordagem É empregada quando não há um hiperplano que divida os exemplos em +1 e 1 Permite-se que alguns dados possam violar a restrição com Margens Suaves 28 Nova abordagem Flexibilizar as restrições de otimização utilizando variáveis de relaxamento do problema Essas variáveis são conhecidas como variáveis de folga São utilizadas para medir o grau de classificação errônea no conjunto de treinamento 14

com Margens Suaves 29 Nova abordagem Essas variáveis relaxam as restrições impostas ao problema de otimização na forma primal com Margens Rígidas y i wx i + b 1 com Margens Suaves y i wx i + b 1 ξ i com Margens Suaves 30 Interpretação geométrica As variáveis de folga, ξ i, medem onde se encontram as amostras em relação as margens de separação Se seu valor for 0, a amostra está fora da região entre estes hiperplanos e é classificada corretamente Se for positivo, mede a distância da amostra em relação aos mesmos Quando o dado é classificado erroneamente, a variável de folga, ξ i, assume valor maior do que 1 15

com Margens Suaves 31 ξ 1 ξ 2 com Margens Suaves 32 Problema desta abordagem Não há restrições sobre o número de classificações incorretas O algoritmo tentará a maximizar a margem do limiar de decisão indefinidamente relaxando as restrições o quanto for necessário 16

com Margens Suaves 33 Solução Inserir uma penalidade C sobre os relaxamentos C é uma constante que impõe um peso diferente para o treinamento em relação à generalização e deve ser determinada empiricamente com Margens Suaves 34 Temos agora um novo problema de otimização Queremos obter o menor número possível de erros no treinamento e maximizar a margem de separação entre as classes min w,b 1 n i=1 2 w 2 + C ξ i Sujeito a seguinte restrição y i w. x i +b 1, i = 1, n 17

com Margens Suaves 35 Problema de otimização Como na SVM linear É um problema quadrático com restrições lineares É um problema convexo Solução global ótima é encontrada usando métodos numéricos Parâmetro C pode ser escolhido experimentalmente Com base no desempenho do classificador em dados de validação com Margens Suaves 36 Problema convexo Implica na otimização de uma função quadrática, que possui apenas um mínimo global Trata-se de um vantagem sobre, por exemplo, as Redes Neurais Artificiais Presença de mínimos locais na função objetivo a ser minimizada 18

SVM Não Linear 37 E se o problema de classificação não for linear? Há muitos casos em que não é possível dividir satisfatoriamente os dados de treinamento por um hiperplano SVM Não Linear 38 Solução Mapear o conjunto de treinamento de seu espaço original (não linear) para um novo espaço de maior dimensão, denominado espaço de características (feature space), que é linear 19

SVM Não Linear 39 Para isso, precisamos Encontrar uma transformação não linear ϕ(x) = [ϕ 1 (x),..., ϕ m (x)] Essa transformação mapeia o espaço original dos padrões para um novo espaço de atributos m- dimensional Nesse novo espaço, os padrões x passam a ser linearmente separáveis m pode ser muito maior que a dimensão do espaço original SVM Não Linear 40 Exemplo de transformação Dado de entrada (amostra) x = [x 1, x 2 ] Função de transformação m = 2 (número de dimensões é igual neste caso) ϕ(x) = [ϕ 1 (x), ϕ 2 (x)] ϕ 1 (x) = x 1 ϕ 2 (x) = (x 1 + x 2 ) 4 20

SVM Não Linear 41 Exemplo de transformação SVM Não Linear 42 Com a função de transformação, nosso problema de otimização recai pra uma SVM linear 1 min w 2 w,b 2 é sujeita a seguinte restrição y i w. x i +b 1, i = 1, n SVM Não Linear é sujeita a seguinte restrição y i w. φ(x i ) + b 1, i = 1, n 21

SVM Não Linear 43 Ou seja, apenas substitui-se x i por φ x i Mas isso se a transformação for conhecida Problema Qual a transformação ϕ(x) que torna linearmente separável um determinado conjunto de N padrões x 1,..., x n? Podemos contornar esse problema utilizando uma formulação equivalente do problema de otimização Formulação via multiplicadores de Lagrange SVM Não Linear 44 Formulação via multiplicadores de Lagrange Multiplicadores de Lagrange são muito utilizados em problemas de otimização Permitem encontrar extremos (máximos e mínimos) de uma função de uma ou mais variáveis suscetíveis a uma ou mais restrições É uma ferramenta importante em restrições de igualdade 22

SVM Não Linear 45 Formulação via multiplicadores de Lagrange Solução depende apenas do produto φ x i. φ(x j ) para cada par de padrões x i e x j, e não dos termos individuais Isso é obtido com o uso de funções denominadas Kernels K x i, x j = φ x i. φ(x j ) SVM Não Linear 46 O Kernel realiza a transformações de espaço É comum empregar a função Kernel sem conhecer o mapeamento φ, que é gerado implicitamente: matriz Kernel Nosso objetivo é determinar essa matriz de produtos sem precisar conhecer a transformação φ A utilidade dos Kernels está, portanto, na simplicidade de seu cálculo e em sua capacidade de representar espaços abstratos 23

SVM Não Linear 47 Teorema de Mercer Garante que, para algumas classes de Kernels K(x i, x j ), sempre existe uma transformação φ O teorema não garante nada sobre a dimensão m do espaço transformado φ (pode até ser infinita!) Depende da classe de Kernels e dos N padrões Utilizar Kernels pode evitar trabalhar diretamente nesse espaço SVM Não Linear 48 Em termos de Lagrange, a forma Dual da SVM é dada por Minimizar n i=1 α i 1 2 n i=1 Sujeito a α i 0, i = 1,, n n α i y i = 0 i=1 n j=1 α i α j y i y j x i x j E usando um Kernel, temos Minimizar n i=1 α i 1 2 n i=1 Sujeito a α i 0, i = 1,, n n α i y i = 0 i=1 n j=1 α i α j y i y j K(x i, x j ) 24

SVM Não Linear 49 Alguns Kernels muito utilizados Polinomial K x i, x j = δ x i. x j + k d Gaussianos ou RBF (Radial-Basis Function) 2 K x i, x j = exp ( σ. x i x j ) Sigmoidal K x i, x j = tanh(δ x i. x j + k) SVM Não Linear 50 Kernel RBF e SVM Quando usamos um kernel RBF em uma SVM, temos que o problema recai exatamente em uma rede neural do tipo RBF Nesse caso, os centros e o número de neurônios da rede são dados automaticamente pelos vetores suporte 25

SVM Não Linear 51 Overfitting Maximizar a margem no espaço transformado pelo SVM não-linear não garante a inexistência de overfitting no classificador Sempre existe um número de dimensões suficientemente grande que separa s dados de treinamento Exemplo: 1 Kernel RBF para cada padrão N padrões = N vetores suporte Como controlar o overfitting? Técnica de relaxamento já descrita para SVMs lineares Vantagens e desvantagens 52 Vantagens Sempre encontram a melhor solução possível para o problema de otimização em questão Um dos mais eficientes classificadores para problemas de elevada dimensionalidade (muitos atributos) Sua técnica de relaxamento minimiza o risco de overfitting Problema crítico em dados com grande dimensionalidade (dados esparsos), e presença de ruído Podem ser adaptados e/ou estendidos para problemas de regressão 26

Vantagens e desvantagens 53 Desvantagens São classificadores do tipo caixa-preta, ou seja, não permitem interpretação da estratégia de decisão como as árvores Voltados apenas para atributos numéricos Necessidade de conversão para trabalhar com atributos discretos Possuem complexidade mínima O(N 2 ), usualmente O(N 3 ), onde N é o número de padrões de treinamento Se torna crítico a partir de uma certa quantidade de dados de treinamento SVMs Multi-Classes 54 SVMs são classificadores binários Discriminar entre 2 classes possíveis O que fazer quando se tem mais de 2 classes de dados? Problema multi-classes padrões de várias classes {1, 2,..., n} Classes mutuamente excludentes 27

SVMs Multi-Classes 55 Nesse caso, precisamos de múltiplos SVMs binários para construir um classificador multiclasses Duas alternativas possíveis Decomposição 1-de-n Decomposição 1-1 SVMs Multi-Classes 56 Decomposição 1-de-n n classificadores binários Cada classificador identifica uma classe das demais (n-1) classes restantes Essa decomposição simplifica o problema É mais simples distinguir entre 2 classes Empates podem ser resolvidos utilizando alguma medida de confiabilidade das classificações 28

SVMs Multi-Classes 57 Decomposição 1-de-n SVMs Multi-Classes 58 Decomposição 1-1 n*(n 1)/2 classificadores binários Cada classificador classifica uma amostra dentre um par de classes possíveis No treinamento, padrões que não pertençam as 2 classes envolvidas são ignorados Utiliza mais classificadores que abordagem 1-de-n Classificação Amostra passa por todos os classificadores Classe com maior número de votos é escolhida Menor susceptibilidade a erros 29

SVMs Multi-Classes 59 Decomposição 1-1 Grafo direcionado acíclico: o problema é decomposto em diversas classificações binárias em cada nó do grafo Agradecimentos 60 Agradeço ao professor Prof. Ricardo J. G. B. Campello ICMC/USP Prof. Rodrigo Fernandes de Mello ICMC/USP pelo material disponibilizado 30