mineração de dados

Propaganda
MINERAÇÃO DE DADOS
Thiago Marzagão1
1 [email protected]
MÁQUINAS DE SUPORTE VETORIAL
Thiago Marzagão (UnB)
MINERAÇÃO DE DADOS
1 / 27
máquinas de suporte vetorial
(Livro-texto faz distinção entre classificador de máxima margem,
classificador de suporte vetorial e máquina de suporte vetorial.
Deixemos essas distinções de lado por ora.)
Thiago Marzagão (UnB)
MINERAÇÃO DE DADOS
2 / 27
idéa básica: separar as classes linearmente
(ISL, p. 345)
Thiago Marzagão (UnB)
MINERAÇÃO DE DADOS
3 / 27
β0 + β1 x1 + β2 x2 = 0
(ISL, p. 345)
Thiago Marzagão (UnB)
MINERAÇÃO DE DADOS
4 / 27
ponto azuis: β0 + β1 x1 + β2 x2 > 0
(ISL, p. 345)
Thiago Marzagão (UnB)
MINERAÇÃO DE DADOS
5 / 27
ponto roxos: β0 + β1 x1 + β2 x2 < 0
(ISL, p. 345)
Thiago Marzagão (UnB)
MINERAÇÃO DE DADOS
6 / 27
infinitos hiperplanos são possíveis; como escolher?
(ISL, p. 340)
Thiago Marzagão (UnB)
MINERAÇÃO DE DADOS
7 / 27
infinitos hiperplanos são possíveis; como escolher?
R: escolhemos o hiperplano que fica o mais distante possível dos
pontos mais próximos. Ou seja, escolhemos o hiperplano de máxima
margem.
Thiago Marzagão (UnB)
MINERAÇÃO DE DADOS
8 / 27
hiperplano de máxima margem
(ISL, p. 342)
Thiago Marzagão (UnB)
MINERAÇÃO DE DADOS
9 / 27
as margens são os vetores de suporte
(ISL, p. 342)
Thiago Marzagão (UnB)
MINERAÇÃO DE DADOS
10 / 27
o hiperplano só depende dos pontos sobre as margens
(ISL, p. 342)
Thiago Marzagão (UnB)
MINERAÇÃO DE DADOS
11 / 27
como encontrar o hiperplano de máxima margem?
Além do escopo da aula. É um problema de otimização convexa. A
solução envolve dualidade (Lagrange, Wolfe), condições de
Karush-Kuhn-Tucker.
Thiago Marzagão (UnB)
MINERAÇÃO DE DADOS
12 / 27
como encontrar o hiperplano de máxima margem?
Thiago Marzagão (UnB)
MINERAÇÃO DE DADOS
13 / 27
e c/ mais de 2 dimensões?
β0 + β1 x1 + β2 x2 + β3 x3 + ... + βk xk = 0
Hiperplano deixa de ser uma reta.
Mais difícil de representar graficamente.
De resto, tudo igual.
Thiago Marzagão (UnB)
MINERAÇÃO DE DADOS
14 / 27
dúvidas?
Até aqui nós vimos o cenário mais simples: duas classes linearmente
separáveis.
É importante entendermos o que foi visto até aqui antes de
prosseguirmos.
Thiago Marzagão (UnB)
MINERAÇÃO DE DADOS
15 / 27
e se as classes não são separáveis?
(ISL, p. 342)
Thiago Marzagão (UnB)
MINERAÇÃO DE DADOS
16 / 27
−3
solução: soft margin
1
2
−1
0
1
2
1
2
X1
0
−3
−2
−1
X2
1
2
3
X1
1
2
X1
−1
0
X1
pport
vector
classifier was fit using four different values of the
(ISL,
p. 348)
in (9.12)–(9.15). The largest value of C was used in the top
Thiago Marzagão (UnB)
MINERAÇÃO DE DADOS
17 / 27
soft margin
Como funciona?
Penalizamos cada amostra classificada erroneamente: ei
i-ésima amostra classificada corretamente e fora da margem: ei = 0
i-ésima amostra classificada corretamente mas dentro da margem:
0 < ei < 1
i-ésima amostra classificada incorretamente: ei > 1
Criamos um parâmetro C que funciona como “orçamento": a soma de
todos os ei não pode ser superior a C. Quanto maior o C, maior a
tolerância a violações das margens.
Encontramos
Pn o hiperplano de máxima margem obedecida a restrição
de que i=1 ei ≤ C
Thiago Marzagão (UnB)
MINERAÇÃO DE DADOS
18 / 27
soft margin
Na prática é bom usar soft margin mesmo quando as classes são
linearmente separáveis.
Assim evitamos overfitting.
hard margin = soft margin com C = 0
Como encontramos C? R: validação cruzada.
Thiago Marzagão (UnB)
MINERAÇÃO DE DADOS
19 / 27
e se as classes REALMENTE não são separáveis?
4
2
−4
−2
0
X2
−4
−2
0
X2
2
4
9.3 Support Vector
−4
−2
0
2
4
−4
−2
X1
(ISL, p. 349)
Thiago Marzagão
FIGURE 9.8. Left: The observations fall into two classes,
boundary between them. Right: The support vector classifier see
performs
very poorly.
(UnB)ary, and consequently
MINERAÇÃO DE
DADOS
20 / 27
e se as classes REALMENTE não são separáveis?
349
−4
−2
0
X2
2
4
9.3 Support Vector Machines
0
X1
2
4
−4
−2
0
2
4
X1
The(ISL,
observations
p. 349) fall into two classes, with a non-linear
. Right:
The support vector classifier
seeks a linear boundThiago Marzagão (UnB)
MINERAÇÃO DE DADOS
21 / 27
"You’re just not thinking fourth-dimensionally"
Thiago Marzagão (UnB)
MINERAÇÃO DE DADOS
22 / 27
solução: adicionar dimensões
eric-kim.net/eric-kim-net/posts/1/kernel_trick.html
Thiago Marzagão (UnB)
MINERAÇÃO DE DADOS
23 / 27
solução: adicionar dimensões
eric-kim.net/eric-kim-net/posts/1/kernel_trick.html
Thiago Marzagão (UnB)
MINERAÇÃO DE DADOS
24 / 27
custo computacional
Problema: adicionar dimensões aumenta o custo computacional.
Dependendo de quantas dimensões forem necessárias o custo
computacional pode ser inviável.
Thiago Marzagão (UnB)
MINERAÇÃO DE DADOS
25 / 27
custo computacional
O que fazer? R: Pegar um "atalho".
Encontrar o hiperplano é um problema de otimização convexa.
Mas a solução depende apenas dos produtos escalares entre cada par
de amostras.
Existem funções capazes de computar esses produtos escalares
implicitamente, i.e., sem usar diretamente x1 , x2 , x3 , etc.
Essas funções são chamadas de kernels (daí o nome kernel trick).
Usando kernels podemos encontrar o hiperplano sem custo
computacional extra mesmo que existam infinitas dimensões.
Exitem vários kernels. Como escolher? R: validação cruzada.
Detalhes sobre os kernels estão além do escopo desta aula.
Thiago Marzagão (UnB)
MINERAÇÃO DE DADOS
26 / 27
soft margin ou kernel trick?
R: ambos.
Risco de usar kernel trick sem soft margin: overfitting (dimensões
extras criadas p/ acomodar esse ou aquele outlier; modelo não
generaliza).
Thiago Marzagão (UnB)
MINERAÇÃO DE DADOS
27 / 27
Download