aprendizado de máquinas classificadores lineares · 2 objetivos • introduzir o conceito de...

55
Aprendizado de Máquinas Classificadores Lineares David Menotti, Ph.D. web.inf.ufpr.br/menotti Universidade Federal do Paraná (UFPR) Departamento de Informática

Upload: lamphuc

Post on 03-Dec-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

Aprendizado de Máquinas

Classificadores Lineares

David Menotti, Ph.D.web.inf.ufpr.br/menotti

Universidade Federal do Paraná (UFPR)Departamento de Informática

Page 2: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

2

Objetivos

• Introduzir o conceito de classificação linear.– LDA

– Funções Discriminantes Lineares• Perceptron

• SVM

Page 3: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

3

Introdução

• Para utilizar uma função discriminante linear (Linear Discriminant Function) precisamos ter:– Dados rotulados (supervisão)

– Conhecer o shape da fronteira

– Estimar os parâmetros desta fronteira a partir dos dados de treinamento.

• Nesse caso uma reta.

Page 4: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

4

Introdução: Idéia Básica

• Suponha duas classes• Assuma que elas são linearmente separáveis por uma

fronteira l(θ)• Otimizar o parâmetro θ para encontrar a melhor

fronteira.• Como encontrar o parâmetro

– Minimizar o erro no treinamento– O ideal é utilizar uma base de validação.

Ruim Boa

Page 5: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

5

Introdução

• Funções discriminantes podem ser mais gerais do que lineares

• Vamos focar em problemas lineares– Mais fácil de compreender

– Entender a base da classificação linear

• Diferentemente de métodos paramétricos, não precisamos conhecer a distribuição dos dados– Podemos dizer que temos uma abordagem não

paramétrica.

Page 6: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

6

Análise Discriminante LinearLDA (Linear Discriminant Analysis)

• LDA tenta encontrar uma transformação linear através da maximização da distância entre-classes e minimização da distância intra-classe.

• O método tenta encontrar a melhor direção de maneira que quando os dados são projetados em um plano, as classes possam ser separadas.

Reta ruim Reta boa

Page 7: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

7

LDA

Page 8: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

8

LDA

Page 9: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

9

LDA

• Projetar amostras

x = w x

• Maximizar J(w), qual w ?

J(w) = | m1 - m2 | / ( s12 + s2

2 )

J(w) = ( wt SB w ) / ( wt S

w w )

d J(w) / d w = 0 => SB w - S

w λw = 0

=> SB S

w -1 w - λw = 0

=> w = SW-1 ( m1 – m2 )

Page 10: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

10

LDA

• Diferença entre PCA e LDA quando aplicados sobre os mesmos dados

Page 11: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

11

LDA

• Para um problema linearmente separável, o problema consiste em rotacionar os dados de maneira a maximizar a distância entre as classes e minimizar a distância intra-classe.

Page 12: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

12

LDA Tutorial

• 1) Para um dado conjunto de dados, calcule os vetores médios de cada classe μ1,μ2 (centróides) e o vetor médio geral,μ.

CentroideClasse -1

CentroideClasse +1

Centroidegeral

Page 13: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

13

LDA Tutorial

• Calcular as médias de cada classe e a total.

Page 14: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

14

LDA Tutorial

• Calcular o espalhamento de cada classe

Si = SUM{(m-xi)(m-xi)t}

• Calcular o espalhamento entre classes (within class)

SW = S1 + S2

Page 15: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

15

LDA Tutorial

• Calcular a inversa de SW

– Custo???

• Finalmente, o vetor projeçãow = SW

-1 (m1 – m2)

• Reprojetando os vetores sobre wx1’ = ( x1 w ) w t

x2’ = ( x2 w ) w t

Page 16: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

16

LDA Tutorial

• Para visualizar a transformação, basta aplicar a função discriminante a todos os dados

Page 17: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

17

LDA Tutorial

Taxa de Reconhecimento = 99%

Page 18: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

18

Exercício

• Gere duas distribuições

• Classifique os dados usado LDA

• Verifique o impacto da sobreposição das distribuições.

Page 19: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

19

Tutorial 1/2• x1 = [ 2.95 6.63; 2.53 7.79; 3.57 5.65; 3.16 5.47];• x2 = [2.58 4.46; 2.16 6.22; 3.27 3.52];• • m1 = mean(x1);m2 = mean(x2);m = mean([x1;x2]);• S1 = (x1-repmat(m1,size(x1,1),1))'* ...• (x1-repmat(m1,size(x1,1),1));• S2 = (x2-repmat(m2,size(x2,1),1))'* ...• (x2-repmat(m2,size(x2,1),1));• S = S1 + S2;• w=inv(S)*(m1-m2)';

Page 20: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

20

Tutorial 2/2• figure,hold on• axis([0 8 0 8]);• plot(x1(:,1),x1(:,2),'bx');• plot(m1(1),m1(2),'bd');• plot(x2(:,1),x2(:,2),'rx');• plot(m2(1),m2(2),'rd');• plot(m(1),m(2),'kd');• plot([w(1) 0],[w(2) 0],'g');• w = w/norm(w);• • x1l=(x1*w)*w‘; x2l=(x2*w)*w';• • plot(x1l(:,1),x1l(:,2),'bo');• plot(x2l(:,1),x2l(:,2),'ro');

Page 21: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

21

Tutorial 2 1/3• http://www.eeprogrammer.com/tutorials/Matlab/discriminant_analyses.html

• a = 5*[randn(500,1)+5, randn(500,1)+5];b = 5*[randn(500,1)+5, randn(500,1)-5];c = 5*[randn(500,1)-5, randn(500,1)+5];d = 5*[randn(500,1)-5, randn(500,1)-5];e = 5*[randn(500,1), randn(500,1)];

Group_X = [a;b;c];Group_Y = [d;e];

All_data = [Group_X; Group_Y];All_data_label = [];

for k = 1:length(All_data) if k<=length(Group_X) All_data_label = [All_data_label; 'X']; else All_data_label = [All_data_label; 'Y']; endend

testing_ind = [];for i = 1:length(All_data) if rand>0.8 testing_ind = [testing_ind, i]; endendtraining_ind = setxor(1:length(All_data), testing_ind);

Page 22: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

22

Tutorial 2 2/3• http://www.eeprogrammer.com/tutorials/Matlab/discriminant_analyses.html

• [ldaClass,err,P,logp,coeff] = classify(All_data(testing_ind,:),...All_data((training_ind),:),All_data_label(training_ind,:),'linear');[ldaResubCM,grpOrder] = confusionmat(All_data_label(testing_ind,:),ldaClass)

K = coeff(1,2).const;L = coeff(1,2).linear; f = @(x,y) K + [x y]*L;h2 = ezplot(f,[min(All_data(:,1)) max(All_data(:,1)) min(All_data(:,2)) max(All_data(:,2))]);hold on

[ldaClass,err,P,logp,coeff] = classify(All_data(testing_ind,:),...All_data((training_ind),:),All_data_label(training_ind,:),'diagQuadratic');[ldaResubCM,grpOrder] = confusionmat(All_data_label(testing_ind,:),ldaClass)

K = coeff(1,2).const;L = coeff(1,2).linear; Q = coeff(1,2).quadratic;f = @(x,y) K + [x y]*L + sum(([x y]*Q) .* [x y], 2);h2 = ezplot(f,[min(All_data(:,1)) max(All_data(:,1)) min(All_data(:,2)) max(All_data(:,2))]);hold on

Page 23: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

23

Tutorial 2 3/3• http://www.eeprogrammer.com/tutorials/Matlab/discriminant_analyses.html

• Group_X_testing = [];Group_Y_testing = [];

for k = 1:length(All_data) if ~isempty(find(testing_ind==k)) if strcmp(All_data_label(k,:),'X')==1 Group_X_testing = [Group_X_testing,k]; else Group_Y_testing = [Group_Y_testing,k]; end endendplot(All_data(Group_X_testing,1),All_data(Group_X_testing,2),'g.');hold onplot(All_data(Group_Y_testing,1),All_data(Group_Y_testing,2),'r.');

Page 24: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

24

Funções Discriminante Lineares

• Em geral, uma função discriminante linear pode ser escrita na forma

• w é conhecido como o vetor dos pesos e w0 representa o bias

g( x )=wT x+w0

Page 25: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

25

Funções Discriminante Lineares

• é um hiperplano– Um hiperplano é

• Um ponto em 1D

• Uma reta em 2D

• Um plano em 3D

Page 26: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

26

Funções Discriminante Lineares

• Para duas dimensões, w determina a orientação do hiperplano enquanto w0 representa o deslocamento com relação a origem

Page 27: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

27

Perceptron

• Um classificador linear bastante simples, mas bastante importante no desenvolvimento das redes neuronais é o Perceptron.– O perceptron é considerado como sendo a primeira e

mais primitiva estrutura de rede neuronal artificial.

– Concebido por McCulloch and Pits na década de 50.

• Diferentemente do LDA, o perceptron não transforma os dados para fazer classificação. – Tenta encontrar a melhor fronteira linear que separa

os dados.

Page 28: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

28

Perceptronx1

x2

xn

w1

w2

wn

w0

∑y

A função de ativação normalmenteutilizada no perceptron é ahardlim (threshold)

f ( x )={1 x≥00 x<0 }

ϕ ( .)

y=ϕ (∑ w i×x i+w0 )

A função de ativação é responsável por determinar a forma e a intensidadede alteração dos valores transmitido de um neurônio a outro.

Page 29: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

29

Perceptron:Algoritmo de Aprendizagem

1. Iniciar os pesos e bias com valores pequenos, geralmente no intervalo [0.3-0.8]

2. Aplicar um padrão de entrada com seu respectivo valor desejado de saída (ti) e verificar a saída y da rede.

3. Calcular o erro da saída4. Se e=0, volta ao passo 25. Se e<>0,

1. Atualizar pesos2. Atualizar o bias

6. Voltar ao passo 2• Critério de parada: Todos os padrões classificados

corretamente.

w i=wiold+e×x i

b=bold+e

e=t j−a

Page 30: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

30

Perceptron: Exemplo

• Considere o seguinte conjunto de aprendizagem.

2 2 0

-2 -2 1

-2 2 0

-1 1 1

X t

Nesse tipo de algoritmo é importante que os dados sejamapresentados ao algoritmo de treinamento de maneiraintercalada (shuffle)

Page 31: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

31

Perceptron: Exemplo

• Considere o seguinte conjunto de aprendizagem.

2 2 0

-2 -2 1

-2 2 0

-1 1 1

X t

Nesse tipo de algoritmo é importante que os dados sejamapresentados ao algoritmo de treinamento de maneiraintercalada (shuffle)

Page 32: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

32

Perceptron: Exemplo

• Nesse exemplo, vamos inicializar os pesos e bias com 0, ou seja, w =(0,0) e b = 0

y=hard lim ([0,0 ][22 ]+0)=hard lim (0 )=1

Calcula-se o erroe=t i− y=0−1=−1

Como o erro é diferente de 0, atualizam se os pesos e o bias

W=W old+e×x i=[ 0,0 ]+(−1 [2,2 ])=[−2,−2 ]

b=bold+e= 0+(−1)=−1

Apresentando o primeiro padrão (x1) a rede:

Page 33: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

33

y=hard lim ([−2,−2 ][−2−2 ]+(−1))=hard lim (7 )=1

Calcula-se o erroe=t i− y=1−1=0

W=W old+e×x i=[−2,−2 ]+(1[−1,1 ] )=[−3,−1 ]

b=bold+e=−1+1=0

Apresentando o segundo padrão (x2) a rede:

Como o erro é 0, os pesos e o bias não precisam ser atualizados.

y=hard lim ([−2,−2 ][−22 ]+(−1))=hard lim (−1)=0

Calcula-se o erroe=t i− y=0−0=0

Apresentando o terceiro padrão (x3) a rede:

Como o erro é 0, os pesos e o bias não precisam ser atualizados.

y=hard lim ([−2,−2 ][−11 ]+(−1 ))=hard lim (−1)=0

Calcula-se o erroe=t i− y=1−0=1

Apresentando o quarto padrão (x4) a rede:

Page 34: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

34

Perceptron: Exemplo

• O processo acaba quando todos os padrões forem classificados corretamente.

• Para esse exemplo, os pesos finais são w=[-1,-3] e b = 2.

Page 35: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

35

Determinando a fronteira

• No caso bi-dimensional, a fronteira de decisão pode ser facilmente encontrada usando a seguinte equação

y=−W 1×x−b

W 2

Considere o seguinte exemplo, w = [1.41, 1.41], b = 0.354Escolha duas coordenadas x, para então encontrar os y’s correspondentes

x=[-3,3]

Efeito do bias diferentede zero.

Para x = -3, y = 2.74Para x = 3, y = -3.25

Page 36: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

36

SVM

• 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.

Page 37: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

37

SVM - Introdução

• Como vimos anteriormente, o perceptron é capaz de construir uma fronteira se os dados forem linearmente separáveis.

Mas qual a fronteira que deve ser escolhida??

A B

Page 38: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

38

SVM - Introdução

• Suponha que a fronteira escolhida é a A.• Como ela está bem próxima da classe azul, seu

poder de generalização é baixo– Note que um novo elemento (dados não usados no

treimamento), bem próximo de um azul será classificado erroneamente.

Page 39: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

39

SVM - Introdução

• Escolhendo a fronteira B, podemos notar que o poder de generalização é bem melhor.

• Novos dados são corretamente classificados, pois temos uma fronteira mais distante dos dados de treinamento.

Page 40: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

40

Maximização da Margem

• O conceito por traz do SVM é a maximização da margem, ou seja, maximizar a distância da margem dos dados de treinamento

Distância Pequena Distância Grande

Hiperplano ótimo: Distância da margem para o exemplo da classe positiva é iguala distância da margem para o exemplo da classe negativa.

Page 41: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

41

Vetores de Suporte

• São os exemplos da base de treinamento mais próximos do hiperplano. – O hiperplano é definido unicamente pelos vetores de

suporte, os quais são encontrados durante o treinamento.

– Minimização de uma função quadrática• Alto custo computacional.

Page 42: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

42

SVM: Decisão

• A função de decisão pode ser descrita pela fórmula acima, na qual, – K é a função de kernel, – α e b são os parâmetros encontrados durante

o treinamento,

– xi e yi são os vetores de características e o label da classe respectivamente.

f ( x )=∑i

α i y i K ( x,xi)+b

Page 43: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

43

Soft Margin

• Mesmo para dados que não podem ser separados linearmente, o SVM ainda pode ser apropriado.

• Isso é possível através do uso das “variáveis de folga” (parâmetro C).

Para um bom desempenho, os dados devem ser “quase” linearmenteseparáveis

Page 44: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

44

Soft Margin

• Quanto maior o número de variáveis de folga (C), mais outliers serão descartados.

• Se C for igual a zero, temos um problema linearmente separável.

Page 45: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

45

Mapeamento não Linear

• A grande maioria dos problemas reais não são linearmente separáveis.

• A pergunta então é: “Como resolver problemas que não são linearmente separáveis com um classificador linear?”

Projetar os dados em um espaço onde os dados são linearmente separáveis.

x i ϕ ( x i )

Espaço deentrada

Espaço decaracterísticas

Page 46: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

46

Mapeamento não Linear

• Projetar os dados em outra dimensão usando uma função de kernel (kernel trick).

• Encontrar um hiperplano que separe os dados nesse espaço.

Em qual dimensão esses dados seriam linearmente separáveis?

ϕ ( x )=( x,x 2)

1D 2D

Page 47: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

47

Kernel Trick

• A função que projeta o espaço de entrada no espaço de características é conhecida como Kernel

• Baseado no teorema de Cover– Dados no espaço de entrada são transformados

(transf. não linear) para o espaço de características, onde são linearmente separáveis.

• O vetor representa a “imagem” induzida no espaço de características pelo vetor de entrada

ϕ ( x i )

Page 48: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

48

Exemplo

Page 49: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

49

Exemplo

Page 50: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

50

Kernel Trick

• Permite construir um hiperplano no espaço de característica sem ter que considerar o próprio espaço de características de forma explícita.

• Toda vez que um produto interno entre vetores deve ser calculado, utiliza-se o kernel.

• Uma função de kernel deve satisfazer o teorema de Mercer para ser válida.

Page 51: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

51

Exemplos de Kernel

Page 52: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

52

Tomada de Decisão

• SVM são classificadores binários, ou seja, separam duas classes.

• Entretanto, a grande maioria dos problemas reais possuem mais que duas classes.

• Como utilizar os SVMs nesses casos?– Pairwise, um-contra-todos

Page 53: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

53

Pairwise• Consiste em treinar classificadores

pairwise e arranjá-los em uma árvore

A competição se dá nos níveis inferiores, e o ganhador chegará aonó principal da árvore.

Número de classificadores para q classes = q(q-1)/2.

Page 54: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

54

Um-Contra-Todos

• Aqui, o número de classificadores é igual a q.

• Treina-se um classificador ci para a primeira classe, usando-se como contra exemplos as outras classes, e assim por diante.

• Para se obter a decisão final pode-se utilizar uma estratégia de votos.

Page 55: Aprendizado de Máquinas Classificadores Lineares · 2 Objetivos • Introduzir o conceito de classificação linear. – LDA – Funções Discriminantes Lineares • Perceptron

55

Exercício

• Utilizar a ferramente LibSVM para realizar classificação usando SVM.