aprendizagem de mÁquina - thiago marzagãothiagomarzagao.com/assets/teaching/ipea/slides6.pdf ·...

27
APRENDIZAGEM DE MÁQUINA Thiago Marzagão MÁQUINAS DE SUPORTE VETORIAL Thiago Marzagão APRENDIZAGEM DE MÁQUINA 1 / 27

Upload: lenhan

Post on 25-Jan-2019

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: APRENDIZAGEM DE MÁQUINA - Thiago Marzagãothiagomarzagao.com/assets/teaching/ipea/slides6.pdf · Thiago Marzagão APRENDIZAGEM DE MÁQUINA 17 / 27. softmargin Comofunciona? Penalizamoscadaamostraclassificadaerroneamente:

APRENDIZAGEM DE MÁQUINA

Thiago Marzagão

MÁQUINAS DE SUPORTE VETORIAL

Thiago Marzagão APRENDIZAGEM DE MÁQUINA 1 / 27

Page 2: APRENDIZAGEM DE MÁQUINA - Thiago Marzagãothiagomarzagao.com/assets/teaching/ipea/slides6.pdf · Thiago Marzagão APRENDIZAGEM DE MÁQUINA 17 / 27. softmargin Comofunciona? Penalizamoscadaamostraclassificadaerroneamente:

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 APRENDIZAGEM DE MÁQUINA 2 / 27

Page 3: APRENDIZAGEM DE MÁQUINA - Thiago Marzagãothiagomarzagao.com/assets/teaching/ipea/slides6.pdf · Thiago Marzagão APRENDIZAGEM DE MÁQUINA 17 / 27. softmargin Comofunciona? Penalizamoscadaamostraclassificadaerroneamente:

idéa básica: separar as classes linearmente

(ISL, p. 345)Thiago Marzagão APRENDIZAGEM DE MÁQUINA 3 / 27

Page 4: APRENDIZAGEM DE MÁQUINA - Thiago Marzagãothiagomarzagao.com/assets/teaching/ipea/slides6.pdf · Thiago Marzagão APRENDIZAGEM DE MÁQUINA 17 / 27. softmargin Comofunciona? Penalizamoscadaamostraclassificadaerroneamente:

β0 + β1x1 + β2x2 = 0

(ISL, p. 345)Thiago Marzagão APRENDIZAGEM DE MÁQUINA 4 / 27

Page 5: APRENDIZAGEM DE MÁQUINA - Thiago Marzagãothiagomarzagao.com/assets/teaching/ipea/slides6.pdf · Thiago Marzagão APRENDIZAGEM DE MÁQUINA 17 / 27. softmargin Comofunciona? Penalizamoscadaamostraclassificadaerroneamente:

ponto azuis: β0 + β1x1 + β2x2 > 0

(ISL, p. 345)Thiago Marzagão APRENDIZAGEM DE MÁQUINA 5 / 27

Page 6: APRENDIZAGEM DE MÁQUINA - Thiago Marzagãothiagomarzagao.com/assets/teaching/ipea/slides6.pdf · Thiago Marzagão APRENDIZAGEM DE MÁQUINA 17 / 27. softmargin Comofunciona? Penalizamoscadaamostraclassificadaerroneamente:

ponto roxos: β0 + β1x1 + β2x2 < 0

(ISL, p. 345)Thiago Marzagão APRENDIZAGEM DE MÁQUINA 6 / 27

Page 7: APRENDIZAGEM DE MÁQUINA - Thiago Marzagãothiagomarzagao.com/assets/teaching/ipea/slides6.pdf · Thiago Marzagão APRENDIZAGEM DE MÁQUINA 17 / 27. softmargin Comofunciona? Penalizamoscadaamostraclassificadaerroneamente:

infinitos hiperplanos são possíveis; como escolher?

(ISL, p. 340)Thiago Marzagão APRENDIZAGEM DE MÁQUINA 7 / 27

Page 8: APRENDIZAGEM DE MÁQUINA - Thiago Marzagãothiagomarzagao.com/assets/teaching/ipea/slides6.pdf · Thiago Marzagão APRENDIZAGEM DE MÁQUINA 17 / 27. softmargin Comofunciona? Penalizamoscadaamostraclassificadaerroneamente:

infinitos hiperplanos são possíveis; como escolher?

R: escolhemos o hiperplano que fica o mais distante possível dospontos mais próximos. Ou seja, escolhemos o hiperplano de máximamargem.

Thiago Marzagão APRENDIZAGEM DE MÁQUINA 8 / 27

Page 9: APRENDIZAGEM DE MÁQUINA - Thiago Marzagãothiagomarzagao.com/assets/teaching/ipea/slides6.pdf · Thiago Marzagão APRENDIZAGEM DE MÁQUINA 17 / 27. softmargin Comofunciona? Penalizamoscadaamostraclassificadaerroneamente:

hiperplano de máxima margem

(ISL, p. 342)Thiago Marzagão APRENDIZAGEM DE MÁQUINA 9 / 27

Page 10: APRENDIZAGEM DE MÁQUINA - Thiago Marzagãothiagomarzagao.com/assets/teaching/ipea/slides6.pdf · Thiago Marzagão APRENDIZAGEM DE MÁQUINA 17 / 27. softmargin Comofunciona? Penalizamoscadaamostraclassificadaerroneamente:

as margens são os vetores de suporte

(ISL, p. 342)Thiago Marzagão APRENDIZAGEM DE MÁQUINA 10 / 27

Page 11: APRENDIZAGEM DE MÁQUINA - Thiago Marzagãothiagomarzagao.com/assets/teaching/ipea/slides6.pdf · Thiago Marzagão APRENDIZAGEM DE MÁQUINA 17 / 27. softmargin Comofunciona? Penalizamoscadaamostraclassificadaerroneamente:

o hiperplano só depende dos pontos sobre as margens

(ISL, p. 342)Thiago Marzagão APRENDIZAGEM DE MÁQUINA 11 / 27

Page 12: APRENDIZAGEM DE MÁQUINA - Thiago Marzagãothiagomarzagao.com/assets/teaching/ipea/slides6.pdf · Thiago Marzagão APRENDIZAGEM DE MÁQUINA 17 / 27. softmargin Comofunciona? Penalizamoscadaamostraclassificadaerroneamente:

como encontrar o hiperplano de máxima margem?

Além do escopo da aula. É um problema de otimização convexa. Asolução envolve dualidade (Lagrange, Wolfe), condições deKarush-Kuhn-Tucker.

Thiago Marzagão APRENDIZAGEM DE MÁQUINA 12 / 27

Page 13: APRENDIZAGEM DE MÁQUINA - Thiago Marzagãothiagomarzagao.com/assets/teaching/ipea/slides6.pdf · Thiago Marzagão APRENDIZAGEM DE MÁQUINA 17 / 27. softmargin Comofunciona? Penalizamoscadaamostraclassificadaerroneamente:

como encontrar o hiperplano de máxima margem?

Thiago Marzagão APRENDIZAGEM DE MÁQUINA 13 / 27

Page 14: APRENDIZAGEM DE MÁQUINA - Thiago Marzagãothiagomarzagao.com/assets/teaching/ipea/slides6.pdf · Thiago Marzagão APRENDIZAGEM DE MÁQUINA 17 / 27. softmargin Comofunciona? Penalizamoscadaamostraclassificadaerroneamente:

e c/ mais de 2 dimensões?

β0 + β1x1 + β2x2 + β3x3 + ...+ βkxk = 0

Hiperplano deixa de ser uma reta.Mais difícil de representar graficamente.De resto, tudo igual.

Thiago Marzagão APRENDIZAGEM DE MÁQUINA 14 / 27

Page 15: APRENDIZAGEM DE MÁQUINA - Thiago Marzagãothiagomarzagao.com/assets/teaching/ipea/slides6.pdf · Thiago Marzagão APRENDIZAGEM DE MÁQUINA 17 / 27. softmargin Comofunciona? Penalizamoscadaamostraclassificadaerroneamente:

dúvidas?

Até aqui nós vimos o cenário mais simples: duas classes linearmenteseparáveis.É importante entendermos o que foi visto até aqui antes deprosseguirmos.

Thiago Marzagão APRENDIZAGEM DE MÁQUINA 15 / 27

Page 16: APRENDIZAGEM DE MÁQUINA - Thiago Marzagãothiagomarzagao.com/assets/teaching/ipea/slides6.pdf · Thiago Marzagão APRENDIZAGEM DE MÁQUINA 17 / 27. softmargin Comofunciona? Penalizamoscadaamostraclassificadaerroneamente:

e se as classes não são separáveis?

(ISL, p. 342)Thiago Marzagão APRENDIZAGEM DE MÁQUINA 16 / 27

Page 17: APRENDIZAGEM DE MÁQUINA - Thiago Marzagãothiagomarzagao.com/assets/teaching/ipea/slides6.pdf · Thiago Marzagão APRENDIZAGEM DE MÁQUINA 17 / 27. softmargin Comofunciona? Penalizamoscadaamostraclassificadaerroneamente:

solução: soft margin

348 9. Support Vector Machines

−1 0 1 2

−3−2

−10

12

3

−1 0 1 2

−3−2

−10

12

3

−1 0 1 2

−3−2

−10

12

3

−1 0 1 2

−3−2

−10

12

3

X1X1

X1X1

X2

X2

X2

X2

FIGURE 9.7. A support vector classifier was fit using four different values of thetuning parameter C in (9.12)–(9.15). The largest value of C was used in the topleft panel, and smaller values were used in the top right, bottom left, and bottomright panels. When C is large, then there is a high tolerance for observations beingon the wrong side of the margin, and so the margin will be large. As C decreases,the tolerance for observations being on the wrong side of the margin decreases,and the margin narrows.

but potentially high bias. In contrast, if C is small, then there will be fewersupport vectors and hence the resulting classifier will have low bias buthigh variance. The bottom right panel in Figure 9.7 illustrates this setting,with only eight support vectors.

The fact that the support vector classifier’s decision rule is based onlyon a potentially small subset of the training observations (the support vec-tors) means that it is quite robust to the behavior of observations thatare far away from the hyperplane. This property is distinct from some ofthe other classification methods that we have seen in preceding chapters,such as linear discriminant analysis. Recall that the LDA classification rule

(ISL, p. 348)Thiago Marzagão APRENDIZAGEM DE MÁQUINA 17 / 27

Page 18: APRENDIZAGEM DE MÁQUINA - Thiago Marzagãothiagomarzagao.com/assets/teaching/ipea/slides6.pdf · Thiago Marzagão APRENDIZAGEM DE MÁQUINA 17 / 27. softmargin Comofunciona? Penalizamoscadaamostraclassificadaerroneamente:

soft margin

Como funciona?Penalizamos cada amostra classificada erroneamente: eii-é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 detodos os ei não pode ser superior a C. Quanto maior o C, maior atolerância a violações das margens.Encontramos o hiperplano de máxima margem obedecida a restriçãode que

∑ni=1 ei ≤ C

Thiago Marzagão APRENDIZAGEM DE MÁQUINA 18 / 27

Page 19: APRENDIZAGEM DE MÁQUINA - Thiago Marzagãothiagomarzagao.com/assets/teaching/ipea/slides6.pdf · Thiago Marzagão APRENDIZAGEM DE MÁQUINA 17 / 27. softmargin Comofunciona? Penalizamoscadaamostraclassificadaerroneamente:

soft margin

Na prática é bom usar soft margin mesmo quando as classes sãolinearmente separáveis.Assim evitamos overfitting.hard margin = soft margin com C = 0

Como encontramos C? R: validação cruzada.

Thiago Marzagão APRENDIZAGEM DE MÁQUINA 19 / 27

Page 20: APRENDIZAGEM DE MÁQUINA - Thiago Marzagãothiagomarzagao.com/assets/teaching/ipea/slides6.pdf · Thiago Marzagão APRENDIZAGEM DE MÁQUINA 17 / 27. softmargin Comofunciona? Penalizamoscadaamostraclassificadaerroneamente:

e se as classes REALMENTE não são separáveis?9.3 Support Vector Machines 349

−4 −2 0 2 4

−4−2

02

4

−4 −2 0 2 4

−4−2

02

4

X1X1

X2

X2

FIGURE 9.8. Left: The observations fall into two classes, with a non-linearboundary between them. Right: The support vector classifier seeks a linear bound-ary, and consequently performs very poorly.

depends on the mean of all of the observations within each class, as well asthe within-class covariance matrix computed using all of the observations.In contrast, logistic regression, unlike LDA, has very low sensitivity to ob-servations far from the decision boundary. In fact we will see in Section 9.5that the support vector classifier and logistic regression are closely related.

9.3 Support Vector Machines

We first discuss a general mechanism for converting a linear classifier intoone that produces non-linear decision boundaries. We then introduce thesupport vector machine, which does this in an automatic way.

9.3.1 Classification with Non-linear Decision Boundaries

The support vector classifier is a natural approach for classification in thetwo-class setting, if the boundary between the two classes is linear. How-ever, in practice we are sometimes faced with non-linear class boundaries.For instance, consider the data in the left-hand panel of Figure 9.8. It isclear that a support vector classifier or any linear classifier will performpoorly here. Indeed, the support vector classifier shown in the right-handpanel of Figure 9.8 is useless here.

In Chapter 7, we are faced with an analogous situation. We see therethat the performance of linear regression can suffer when there is a non-linear relationship between the predictors and the outcome. In that case,we consider enlarging the feature space using functions of the predictors,

(ISL, p. 349)Thiago Marzagão APRENDIZAGEM DE MÁQUINA 20 / 27

Page 21: APRENDIZAGEM DE MÁQUINA - Thiago Marzagãothiagomarzagao.com/assets/teaching/ipea/slides6.pdf · Thiago Marzagão APRENDIZAGEM DE MÁQUINA 17 / 27. softmargin Comofunciona? Penalizamoscadaamostraclassificadaerroneamente:

e se as classes REALMENTE não são separáveis?9.3 Support Vector Machines 349

−4 −2 0 2 4

−4−2

02

4

−4 −2 0 2 4

−4−2

02

4

X1X1

X2

X2

FIGURE 9.8. Left: The observations fall into two classes, with a non-linearboundary between them. Right: The support vector classifier seeks a linear bound-ary, and consequently performs very poorly.

depends on the mean of all of the observations within each class, as well asthe within-class covariance matrix computed using all of the observations.In contrast, logistic regression, unlike LDA, has very low sensitivity to ob-servations far from the decision boundary. In fact we will see in Section 9.5that the support vector classifier and logistic regression are closely related.

9.3 Support Vector Machines

We first discuss a general mechanism for converting a linear classifier intoone that produces non-linear decision boundaries. We then introduce thesupport vector machine, which does this in an automatic way.

9.3.1 Classification with Non-linear Decision Boundaries

The support vector classifier is a natural approach for classification in thetwo-class setting, if the boundary between the two classes is linear. How-ever, in practice we are sometimes faced with non-linear class boundaries.For instance, consider the data in the left-hand panel of Figure 9.8. It isclear that a support vector classifier or any linear classifier will performpoorly here. Indeed, the support vector classifier shown in the right-handpanel of Figure 9.8 is useless here.

In Chapter 7, we are faced with an analogous situation. We see therethat the performance of linear regression can suffer when there is a non-linear relationship between the predictors and the outcome. In that case,we consider enlarging the feature space using functions of the predictors,

(ISL, p. 349)Thiago Marzagão APRENDIZAGEM DE MÁQUINA 21 / 27

Page 22: APRENDIZAGEM DE MÁQUINA - Thiago Marzagãothiagomarzagao.com/assets/teaching/ipea/slides6.pdf · Thiago Marzagão APRENDIZAGEM DE MÁQUINA 17 / 27. softmargin Comofunciona? Penalizamoscadaamostraclassificadaerroneamente:

"You’re just not thinking fourth-dimensionally"

Thiago Marzagão APRENDIZAGEM DE MÁQUINA 22 / 27

Page 23: APRENDIZAGEM DE MÁQUINA - Thiago Marzagãothiagomarzagao.com/assets/teaching/ipea/slides6.pdf · Thiago Marzagão APRENDIZAGEM DE MÁQUINA 17 / 27. softmargin Comofunciona? Penalizamoscadaamostraclassificadaerroneamente:

solução: adicionar dimensões

eric-kim.net/eric-kim-net/posts/1/kernel_trick.html

Thiago Marzagão APRENDIZAGEM DE MÁQUINA 23 / 27

Page 24: APRENDIZAGEM DE MÁQUINA - Thiago Marzagãothiagomarzagao.com/assets/teaching/ipea/slides6.pdf · Thiago Marzagão APRENDIZAGEM DE MÁQUINA 17 / 27. softmargin Comofunciona? Penalizamoscadaamostraclassificadaerroneamente:

solução: adicionar dimensões

eric-kim.net/eric-kim-net/posts/1/kernel_trick.html

Thiago Marzagão APRENDIZAGEM DE MÁQUINA 24 / 27

Page 25: APRENDIZAGEM DE MÁQUINA - Thiago Marzagãothiagomarzagao.com/assets/teaching/ipea/slides6.pdf · Thiago Marzagão APRENDIZAGEM DE MÁQUINA 17 / 27. softmargin Comofunciona? Penalizamoscadaamostraclassificadaerroneamente:

custo computacional

Problema: adicionar dimensões aumenta o custo computacional.Dependendo de quantas dimensões forem necessárias o custocomputacional pode ser inviável.

Thiago Marzagão APRENDIZAGEM DE MÁQUINA 25 / 27

Page 26: APRENDIZAGEM DE MÁQUINA - Thiago Marzagãothiagomarzagao.com/assets/teaching/ipea/slides6.pdf · Thiago Marzagão APRENDIZAGEM DE MÁQUINA 17 / 27. softmargin Comofunciona? Penalizamoscadaamostraclassificadaerroneamente:

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 parde amostras.Existem funções capazes de computar esses produtos escalaresimplicitamente, 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 custocomputacional 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 APRENDIZAGEM DE MÁQUINA 26 / 27

Page 27: APRENDIZAGEM DE MÁQUINA - Thiago Marzagãothiagomarzagao.com/assets/teaching/ipea/slides6.pdf · Thiago Marzagão APRENDIZAGEM DE MÁQUINA 17 / 27. softmargin Comofunciona? Penalizamoscadaamostraclassificadaerroneamente:

soft margin ou kernel trick?

R: ambos.Risco de usar kernel trick sem soft margin: overfitting (dimensõesextras criadas p/ acomodar esse ou aquele outlier; modelo nãogeneraliza).

Thiago Marzagão APRENDIZAGEM DE MÁQUINA 27 / 27