SlideShare uma empresa Scribd logo
1 de 72
Baixar para ler offline
Inteligência Artificial – ACH2016
Aula21 – Support Vector Machines
Norton Trevisan Roman
(norton@usp.br)
27 de maio de 2019
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 1 / 35
Support Vector Machine – SVM
Margem Máxima
Considere o conjunto
linearmente separável ao lado
Fonte: AIMA. R&N
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 2 / 35
Support Vector Machine – SVM
Margem Máxima
Considere o conjunto
linearmente separável ao lado
Temos várias possibilidades de
separação
Fonte: AIMA. R&N
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 2 / 35
Support Vector Machine – SVM
Margem Máxima
Considere o conjunto
linearmente separável ao lado
Temos várias possibilidades de
separação
Qual seria a melhor?
Fonte: AIMA. R&N
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 2 / 35
Support Vector Machine – SVM
Margem Máxima
Considere o conjunto
linearmente separável ao lado
Temos várias possibilidades de
separação
Qual seria a melhor?
Cada linha que separa os dados
é um hiperplano de separação
Fonte: AIMA. R&N
Será nosso limite de decisão → tudo de um lado pertence a
uma classe, e tudo do outro pertence a outra
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 2 / 35
Support Vector Machine – SVM
Margem Máxima
Gostarı́amos de escolher o
separador que estivesse o mais
longe possı́vel dos exemplos
Acomodando, assim, possı́veis erros
de classificação
Fonte: AIMA. R&N
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 3 / 35
Support Vector Machine – SVM
Margem Máxima
Gostarı́amos de escolher o
separador que estivesse o mais
longe possı́vel dos exemplos
Acomodando, assim, possı́veis erros
de classificação
Esse seria então um separador de
margem máxima
margem
Fonte: AIMA. R&N
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 3 / 35
Support Vector Machine – SVM
Margem Máxima
Gostarı́amos de escolher o
separador que estivesse o mais
longe possı́vel dos exemplos
Acomodando, assim, possı́veis erros
de classificação
Esse seria então um separador de
margem máxima
margem
vetores de
suporte
Fonte: AIMA. R&N
Os pontos mais próximos do separador são seus
vetores de suporte
Queremos então maximizar a distância entre esse hiperplano
e seus vetores de suporte
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 3 / 35
Support Vector Machine – SVM
Classificador SVM
Baseia-se na ideia principal do
separador de margem máxima
Quanto mais longe um ponto está
do limite de decisão, mais confiantes
estamos sobre a predição feita
Fonte: AIMA. R&N
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 4 / 35
Support Vector Machine – SVM
Classificador SVM
Baseia-se na ideia principal do
separador de margem máxima
Quanto mais longe um ponto está
do limite de decisão, mais confiantes
estamos sobre a predição feita
Difere dos demais classificadores
em que retorna +1 ou −1 em
sua versão binária
Fonte: AIMA. R&N
Isso acaba facilitando os cálculos...
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 4 / 35
Support Vector Machine – SVM
SVM linear com margens rı́gidas
Define fronteiras lineares a
partir de dados linearmente
separáveis
Não permite pontos nessa fronteira
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 5 / 35
Support Vector Machine – SVM
SVM linear com margens rı́gidas
Define fronteiras lineares a
partir de dados linearmente
separáveis
Não permite pontos nessa fronteira
Fonte: AIMA. R&N
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 5 / 35
Support Vector Machine – SVM
SVM linear com margens rı́gidas
Define fronteiras lineares a
partir de dados linearmente
separáveis
Não permite pontos nessa fronteira
Um classificador linear é aquele
que separa os dados com um
hiperplano do tipo
f (~
x) = ~
ω · ~
x + b
Fonte: AIMA. R&N
A equação separa o espaço de dados X em duas regiões,
~
ω · ~
x + b ≥ 0 e ~
ω · ~
x + b < 0
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 5 / 35
SVM Linear com Margens Rı́gidas
Hiperplano Canônico
Usamos então uma função sinal g(~
x) = sgn(f (~
x))
para classificar um ponto ~
x:
g(~
x) = sgn(f (~
x)) =
(
+1, se ~
ω · ~
x + b ≥ 0
−1, se ~
ω · ~
x + b < 0
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 6 / 35
SVM Linear com Margens Rı́gidas
Hiperplano Canônico
Usamos então uma função sinal g(~
x) = sgn(f (~
x))
para classificar um ponto ~
x:
g(~
x) = sgn(f (~
x)) =
(
+1, se ~
ω · ~
x + b ≥ 0
−1, se ~
ω · ~
x + b < 0
Hiperplano canônico:
Aquele em que ~
ω e b são escolhidos de forma que os
exemplos mais próximos do hiperplano satisfaçam a equação
|~
ω · ~
x + b| = 1
Define a margem
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 6 / 35
SVM Linear com Margens Rı́gidas
Hiperplano Canônico
Então, temos 2 hiperplanos nas bordas da margem:
(
~
ω · ~
x + b ≥ +1, se yi = +1
~
ω · ~
x + b ≤ −1, se yi = −1
onde yi ∈ Y , Y = {−1, +1} é o rótulo de xi
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 7 / 35
SVM Linear com Margens Rı́gidas
Hiperplano Canônico
Então, temos 2 hiperplanos nas bordas da margem:
(
~
ω · ~
x + b ≥ +1, se yi = +1
~
ω · ~
x + b ≤ −1, se yi = −1
onde yi ∈ Y , Y = {−1, +1} é o rótulo de xi
E aqui vemos a vantagem de se definir as classes
como Y = {−1, +1}
Podemos resumir a expressão acima em uma única equação:
yi (~
ω · ~
x + b) − 1 ≥ 0, ∀(~
xi , yi ) ∈ T
(onde T é o conjunto de treino)
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 7 / 35
SVM Linear com Margens Rı́gidas
Distância entre os Hiperplanos
Queremos, no entanto,
maximizar a margem
Maximizar a distância d
entre os hiperplanos H1 e
H2
Fonte: [3]
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 8 / 35
SVM Linear com Margens Rı́gidas
Distância entre os Hiperplanos
Queremos, no entanto,
maximizar a margem
Maximizar a distância d
entre os hiperplanos H1 e
H2
Projetamos então o
vetor ~
x1 − ~
x2 na direção
de ~
ω
Onde ~
x1 ∈ H1 e ~
x2 ∈ H2, Fonte: [3]
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 8 / 35
SVM Linear com Margens Rı́gidas
Distância entre os Hiperplanos
E
~
d = (~
x1 −~
x2)

~
ω
k~
ωk
·
(~
x1 − ~
x2)
k~
x1 − ~
x2k

Fonte: [3]
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 9 / 35
SVM Linear com Margens Rı́gidas
Distância entre os Hiperplanos
E
~
d = (~
x1 −~
x2)

~
ω
k~
ωk
·
(~
x1 − ~
x2)
k~
x1 − ~
x2k

Uma vez que
~
ω · ~
x1 + b = +1 e ~
ω · ~
x2 + b = −1
Então
~
ω · (~
x1 − ~
x2) = ~
ω · ~
x1 − ~
ω · ~
x2
Fonte: [3]
= (1 − b) − (−1 − b) = 2
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 9 / 35
SVM Linear com Margens Rı́gidas
Distância entre os Hiperplanos
E ~
d =
2(~
x1 − ~
x2)
k~
ωkk~
x1 − ~
x2k
Fonte: [3]
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 10 / 35
SVM Linear com Margens Rı́gidas
Distância entre os Hiperplanos
E ~
d =
2(~
x1 − ~
x2)
k~
ωkk~
x1 − ~
x2k
Assim, d = k~
dk =
2
k~
ωk
d0
= 1
k~
ωk
é então a distância
mı́nima entre o hiperplano
separador e os dados de
treinamento
Fonte: [3]
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 10 / 35
SVM Linear com Margens Rı́gidas
Distância entre os Hiperplanos
E ~
d =
2(~
x1 − ~
x2)
k~
ωkk~
x1 − ~
x2k
Assim, d = k~
dk =
2
k~
ωk
d0
= 1
k~
ωk
é então a distância
mı́nima entre o hiperplano
separador e os dados de
treinamento
Fonte: [3]
Queremos maximizar d0
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 10 / 35
SVM Linear com Margens Rı́gidas
Maximizando a distância entre os hiperplanos
Maximizar d0
= 1/k~
ωk
corresponde ao problema de
otimização:
f (~
x) = min
~
ω,b

1
2
k~
ωk2

Restrição: yi (~
ω · ~
xi + b) − 1 ≥ 0
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 11 / 35
SVM Linear com Margens Rı́gidas
Maximizando a distância entre os hiperplanos
Maximizar d0
= 1/k~
ωk
corresponde ao problema de
otimização:
f (~
x) = min
~
ω,b

1
2
k~
ωk2

Restrição: yi (~
ω · ~
xi + b) − 1 ≥ 0
A restrição garante que
não haja dados de treino
entre as margens de
separação das classes
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 11 / 35
SVM Linear com Margens Rı́gidas
Maximizando a distância entre os hiperplanos
Maximizar d0
= 1/k~
ωk
corresponde ao problema de
otimização:
f (~
x) = min
~
ω,b

1
2
k~
ωk2

Restrição: yi (~
ω · ~
xi + b) − 1 ≥ 0
Por que isso?
Porque os mesmos ~
ω e b que resolvem um problema
também resolve o outro
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 11 / 35
SVM Linear com Margens Rı́gidas
Maximizando a distância entre os hiperplanos
Maximizar d0
= 1/k~
ωk
corresponde ao problema de
otimização:
f (~
x) = min
~
ω,b

1
2
k~
ωk2

Restrição: yi (~
ω · ~
xi + b) − 1 ≥ 0
Por que isso? Fonte: https://brainsnorts.files.
wordpress.com/2014/05/calvin376_2.jpg
Porque os mesmos ~
ω e b que resolvem um problema
também resolve o outro
E alguém já quebrou a cabeça resolvendo um deles
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 11 / 35
SVM Linear com Margens Rı́gidas
Maximizando a distância entre os hiperplanos
A solução desse problema de otimização passa pela
introdução de uma Lagrangiana
L(~
ω, b, ~
α) =
1
2
k~
ωk2
−
n
X
i=1
αi (yi (~
ω · ~
xi + b) − 1)
Onde αi são os chamados multiplicadores de Lagrange
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 12 / 35
SVM Linear com Margens Rı́gidas
Maximizando a distância entre os hiperplanos
A solução desse problema de otimização passa pela
introdução de uma Lagrangiana
L(~
ω, b, ~
α) =
1
2
k~
ωk2
−
n
X
i=1
αi (yi (~
ω · ~
xi + b) − 1)
Onde αi são os chamados multiplicadores de Lagrange
L(~
ω, b, ~
α) deve então ser minimizada
Para isso, maximizamos αi e minimizamos ~
ω e b
Para ~
ω e b, fazemos
∂L
∂b
= 0 e
∂L
∂~
ω
= 0
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 12 / 35
SVM Linear com Margens Rı́gidas
Maximizando a distância entre os hiperplanos
O que nos leva ao resultado
n
X
i=1
αi yi = 0 e ~
ω =
n
X
i=1
αi yi~
xi
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 13 / 35
SVM Linear com Margens Rı́gidas
Maximizando a distância entre os hiperplanos
O que nos leva ao resultado
n
X
i=1
αi yi = 0 e ~
ω =
n
X
i=1
αi yi~
xi
Para αi, substituı́mos esse resultado na Lagrangeana
e maximizamos
Queremos então max
~
α
n
X
i=1
αi −
1
2
n
X
i,j=1
αi αj yi yj (~
xi · ~
xj )
Com as restrições





αi ≥ 0, i = 1, . . . , n
n
X
i=1
αi yi = 0
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 13 / 35
SVM Linear com Margens Rı́gidas
Maximizando a distância entre os hiperplanos
Formulação conhe-
cida como forma
dual do problema
O que nos leva ao resultado
n
X
i=1
αi yi = 0 e ~
ω =
n
X
i=1
αi yi~
xi
Para αi, substituı́mos esse resultado na Lagrangeana
e maximizamos
Queremos então max
~
α
n
X
i=1
αi −
1
2
n
X
i,j=1
αi αj yi yj (~
xi · ~
xj )
Com as restrições





αi ≥ 0, i = 1, . . . , n
n
X
i=1
αi yi = 0
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 13 / 35
SVM Linear com Margens Rı́gidas
Maximizando a distância entre os hiperplanos
Assim, encontrada a solução ~
α da forma dual,
usamos ~
ω =
n
X
i=1
αiyi~
xi para achar a solução ~
ω
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 14 / 35
SVM Linear com Margens Rı́gidas
Maximizando a distância entre os hiperplanos
Assim, encontrada a solução ~
α da forma dual,
usamos ~
ω =
n
X
i=1
αiyi~
xi para achar a solução ~
ω
E b?
Obtido de α e das condições de Kühn-Tucker (teoria de
otimização com restrições)
Para esse problema, temos as restrições
αi (yi (~
ω · ~
xi + b) − 1) = 0, i = 1, . . . , n
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 14 / 35
SVM Linear com Margens Rı́gidas
Maximizando a distância entre os hiperplanos
Vejamos a restrição αi(yi(~
ω · ~
xi + b) − 1) = 0
Temos que αi 6= 0 apenas para pontos sobre H1 e
H2
Os exemplos mais próximos do hiperplano separador
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 15 / 35
SVM Linear com Margens Rı́gidas
Maximizando a distância entre os hiperplanos
Vejamos a restrição αi(yi(~
ω · ~
xi + b) − 1) = 0
Temos que αi 6= 0 apenas para pontos sobre H1 e
H2
Os exemplos mais próximos do hiperplano separador
Para os demais deve ser 0. Por que?
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 15 / 35
SVM Linear com Margens Rı́gidas
Maximizando a distância entre os hiperplanos
Vejamos a restrição αi(yi(~
ω · ~
xi + b) − 1) = 0
Temos que αi 6= 0 apenas para pontos sobre H1 e
H2
Os exemplos mais próximos do hiperplano separador
Para os demais deve ser 0. Por que?
Se ~
x /
∈ H1 ou H2, então yi (~
ω · ~
x + b) − 1  0
Não está nem na margem, nem no plano
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 15 / 35
SVM Linear com Margens Rı́gidas
Maximizando a distância entre os hiperplanos
Vejamos a restrição αi(yi(~
ω · ~
xi + b) − 1) = 0
Temos que αi 6= 0 apenas para pontos sobre H1 e
H2
Os exemplos mais próximos do hiperplano separador
Para os demais deve ser 0. Por que?
Se ~
x /
∈ H1 ou H2, então yi (~
ω · ~
x + b) − 1  0
Não está nem na margem, nem no plano
A única forma de αi (yi (~
ω · ~
xi + b) − 1) ser 0 é se αi = 0
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 15 / 35
SVM Linear com Margens Rı́gidas
Maximizando a distância entre os hiperplanos
Os exemplos em que αi  0 são os vetores de
suporte V para o hiperplano separador
Apenas eles participarão da determinação da equação desse
hiperplano
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 16 / 35
SVM Linear com Margens Rı́gidas
Maximizando a distância entre os hiperplanos
Os exemplos em que αi  0 são os vetores de
suporte V para o hiperplano separador
Apenas eles participarão da determinação da equação desse
hiperplano
Mas e b? Calculado de αi(yi(~
ω · ~
xi + b) − 1) = 0
yi (~
ω · ~
xi + b) − 1 = 0
~
ω · ~
xi + b = 1/yi
b = 1/yi − ~
ω · ~
xi
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 16 / 35
SVM Linear com Margens Rı́gidas
Maximizando a distância entre os hiperplanos
Os exemplos em que αi  0 são os vetores de
suporte V para o hiperplano separador
Apenas eles participarão da determinação da equação desse
hiperplano
Mas e b? Calculado de αi(yi(~
ω · ~
xi + b) − 1) = 0
yi (~
ω · ~
xi + b) − 1 = 0
~
ω · ~
xi + b = 1/yi
b = 1/yi − ~
ω · ~
xi
Isso, contudo considerando apenas um vetor de suporte
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 16 / 35
SVM Linear com Margens Rı́gidas
Maximizando a distância entre os hiperplanos
Como temos nV vetores de suporte, b será a média
dentre eles
b =
1
nV
X
xj ∈V
1
yj
− ~
ω · ~
xj
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 17 / 35
SVM Linear com Margens Rı́gidas
Maximizando a distância entre os hiperplanos
Como temos nV vetores de suporte, b será a média
dentre eles
b =
1
nV
X
xj ∈V
1
yj
− ~
ω · ~
xj
E como ~
ω =
n
X
i=1
αiyi~
xi, então
b =
1
nV
X
xj ∈V
1
yj
−
n
X
xi ∈V
αi yi~
xi · ~
xj
!
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 17 / 35
SVM Linear com Margens Rı́gidas
RESUME ISSO POR FAVOR!!!!
Fonte: https://i.imgflip.com/pqcjo.jpg?a432792
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 18 / 35
SVM Linear com Margens Rı́gidas
O classificador SVM
Dado um ponto ~
x, sua classificação será dada por
g(~
x) = sgn(f (~
x)) = sgn(~
ω ·~
x + b) = sgn
X
x
~i ∈V
yi αi~
xi · ~
x + b
!
(com α, ~
ω e b calculados como mostrado)
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 19 / 35
SVM Linear com Margens Rı́gidas
O classificador SVM
Dado um ponto ~
x, sua classificação será dada por
g(~
x) = sgn(f (~
x)) = sgn(~
ω ·~
x + b) = sgn
X
x
~i ∈V
yi αi~
xi · ~
x + b
!
(com α, ~
ω e b calculados como mostrado)
Esse é o classificador SVM
Representando o hiperplano que separa os dados com maior
margem
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 19 / 35
SVM Linear com Margens Suaves
Dados com ruı́do
Em algumas situações,
mesmo sendo linearmente
separáveis, os dados
apresentam ruı́dos
Fonte: [3]
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 20 / 35
SVM Linear com Margens Suaves
Dados com ruı́do
Em algumas situações,
mesmo sendo linearmente
separáveis, os dados
apresentam ruı́dos
Para esses casos,
relaxamos as restrições do
SVM Fonte: [3]
yi (~
ω · ~
xi + b) ≥ 1 − ξi
onde ξi ≥ 0 é uma variável de folga
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 20 / 35
SVM Linear com Margens Suaves
Dados com ruı́do
O classificador permite
que alguns exemplos
caiam no lado errado do
limite de decisão
Associa, contudo, uma
penalidade proporcional à
distância necessária para
movê-los de volta ao lado
certo Fonte: [3]
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 21 / 35
SVM Linear com Margens Suaves
Dados com ruı́do
O resultado é a mesma
expressão para o
classificador com margens
rı́gidas
Mas com uma expressão
diferente para αi (e
consequentes ω e b)
Não veremos detalhes aqui Fonte: [3]
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 22 / 35
SVM Não Linear
Espaço de Caracterı́sticas
E se os dados não forem
linearmente separáveis?
Muito embora, nesse
exemplo, talvez bastasse o
uso de coordenadas polares
Fonte: AIMA. RN
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 23 / 35
SVM Não Linear
Espaço de Caracterı́sticas
E se os dados não forem
linearmente separáveis?
Muito embora, nesse
exemplo, talvez bastasse o
uso de coordenadas polares
SVMs lidam com isso
mapeando cada exemplo
para um novo espaço, Fonte: AIMA. RN
de maior dimensão
O espaço de caracterı́sticas (feature space)
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 23 / 35
SVM Não Linear
Espaço de Caracterı́sticas
Por exemplo, vamos
mapear cada vetor de
entrada ~
x = (x1, x2) em
um novo vetor
F(~
x) = (f1, f2, f3), onde:
f1 = x2
1
f2 = x2
2
f3 =
√
2x1x2 Fonte: AIMA. RN
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 24 / 35
SVM Não Linear
Espaço de Caracterı́sticas
Graficando os dados nesse
novo espaço obtemos
Fonte: AIMA. RN
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 25 / 35
SVM Não Linear
Espaço de Caracterı́sticas
Graficando os dados nesse
novo espaço obtemos
E eles são linearmente
separáveis
A escolha apropriada do
mapeamento faz com que os
dados possam ser separados
por uma SVM linear
Fonte: AIMA. RN
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 25 / 35
SVM Não Linear
Espaço de Caracterı́sticas
Se os dados forem
mapeados em um espaço
de dimensões
suficientemente grande,
eles quase sempre serão
linearmente separáveis
Se olharmos a um conjunto
de pontos a partir de direções
suficientes, encontraremos
um modo de alinhá-los
Fonte: AIMA. RN
Com algumas exceções, conjuntos de n pontos serão sempre
separáveis em espaços de n − 1 dimensões ou mais
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 26 / 35
SVM Não Linear
Separador linear
Para encontrar um separador linear no novo espaço
F(~
x), substituı́mos ~
xi · ~
xj por F(~
xi) · F(~
xj) em
max
~
α
n
X
i=1
αi −
1
2
n
X
i,j=1
αi αj yi yj (~
xi · ~
xj )
Obtendo
max
~
α
n
X
i=1
αi −
1
2
n
X
i,j=1
αi αj yi yj (F(~
xi ) · F(~
xj ))
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 27 / 35
SVM Não Linear
Funções de Kernel
Contudo, podemos calcular F(~
xi) · F(~
xj) sem ter de
calcular F para cada ponto
No exemplo dado,
F(~
xi ) · F(~
xj ) = (x2
1i ,
√
2x1i x2i , x2
2i ) · (x2
1j ,
√
2x1j x2j , x2
2j )
= (~
xi · ~
xj )2
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 28 / 35
SVM Não Linear
Funções de Kernel
Contudo, podemos calcular F(~
xi) · F(~
xj) sem ter de
calcular F para cada ponto
No exemplo dado,
F(~
xi ) · F(~
xj ) = (x2
1i ,
√
2x1i x2i , x2
2i ) · (x2
1j ,
√
2x1j x2j , x2
2j )
= (~
xi · ~
xj )2
K(~
xi, ~
xj) = (~
xi · ~
xj)2
é uma Função de Kernel
Uma função K(~
xi , ~
xj ) = F(~
xi ) · F(~
xj ) que recebe 2 pontos ~
xi
e ~
xj do espaço de entradas e calcula seu produto escalar no
espaço de caracterı́sticas
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 28 / 35
SVM Não Linear
Funções de Kernel
Podemos então encontrar separadores lineares em
F(~
x) simplesmente trocando ~
xi · ~
xj pela função de
kernel K(~
xi, ~
xj)
Para aprender em dimensões maiores, calculamos apenas as
funções de kernel, em vez da lista de caracterı́sticas inteira
para cada ponto
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 29 / 35
SVM Não Linear
Funções de Kernel
Podemos então encontrar separadores lineares em
F(~
x) simplesmente trocando ~
xi · ~
xj pela função de
kernel K(~
xi, ~
xj)
Para aprender em dimensões maiores, calculamos apenas as
funções de kernel, em vez da lista de caracterı́sticas inteira
para cada ponto
Assim, simplificamos o cálculo
Empregamos a função de Kernel sem conhecer o
mapeamento F, pois esse é usado implicitamente
Podemos encontrar separadores lineares eficientemente em
espaços de bilhões de dimensões
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 29 / 35
SVM Não Linear
Funções de Kernel
E podemos usar qualquer função como Kernel?
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 30 / 35
SVM Não Linear
Funções de Kernel
E podemos usar qualquer função como Kernel?
Não. Apenas funções que satisfaçam as condições
estabelecidas pelo teorema de Mercer
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 30 / 35
SVM Não Linear
Funções de Kernel
E podemos usar qualquer função como Kernel?
Não. Apenas funções que satisfaçam as condições
estabelecidas pelo teorema de Mercer
Um Kernel que satisfaz as condições de Mercer dá
origem a matrizes positivas semi-definidas [K]
Em que cada elemento Kij é definido como Kij = K(~
xi , ~
xj ),
para i, j = 1, . . . , n
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 30 / 35
SVM Não Linear
Funções de Kernel
Na prática, os Kernels mais usados são
Tipo K(~
xi , ~
xj ) Parâmetros
Linear δ(~
xi · ~
xj ) + κ δ e κ
Polinomial (δ(~
xi · ~
xj ) + κ)d
δ, κ e d
Gaussiano e−σk~
xi −~
xj k2
σ
Sigmoidal tanh(δ(~
xi · ~
xj ) + κ) δ e κ
Note que cada um deles apresenta hiper-parâmetros que
precisam ser determinados na prática
No caso do sigmoidal, as condições de Mercer são satisfeitas
somente para alguns valores de δ
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 31 / 35
Support Vector Machines
Vantagens
Constroem um separador de margem máxima
Um limite de decisão com a maior distância possı́vel dos
exemplos de treino, o que ajuda a generalizar o modelo
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 32 / 35
Support Vector Machines
Vantagens
Constroem um separador de margem máxima
Um limite de decisão com a maior distância possı́vel dos
exemplos de treino, o que ajuda a generalizar o modelo
Criam um plano de separação linear
Tornam isso possı́vel embutindo os dados em um espaços de
mais dimensões (via o uso de Kernels)
Frequentemente, dados não linearmente separáveis no
espaço original se tornam separáveis nesse espaço maior
O separador linear de alta dimensão não é linear no espaço
original → podemos representar hipóteses não lineares
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 32 / 35
Support Vector Machines
Vantagens
São não-paramétricos
Retêm exemplos e potencialmente precisam armazená-los
todos
Na prática, contudo, apenas retêm uma fração pequena
destes
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 33 / 35
Support Vector Machines
Vantagens
São não-paramétricos
Retêm exemplos e potencialmente precisam armazená-los
todos
Na prática, contudo, apenas retêm uma fração pequena
destes
Combinam assim as vantagens dos modelos
não-paramétricos e paramétricos
Possuem a flexibilidade para representar funções complexas
E ainda assim são resistentes a overfitting
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 33 / 35
Support Vector Machines
Desvantagens
Sensı́veis à escolha dos parâmetros
Sensı́veis à escolha do Kernel
Nativamente só tratam de classificação binária
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 34 / 35
Referências
1 Russell, S.; Norvig P. (2010): Artificial Intelligence: A Modern Approach.
Prentice Hall. 2a e 3a ed.
2 Harrington, P. (2012): Machine Learning in Action. Manning.
3 Lorena, A.C.; Carvalho A.C.P.L.F. (2007): Uma Introdução às Support
Vector Machines. RITA, 14(2).
4 Haykin, S. (2009): Neural Networks and Learning Machines. Pearson. 3
ed.
5 https://www.analyticsvidhya.com/blog/2017/09/
understaing-support-vector-machine-example-code/
Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 35 / 35

Mais conteúdo relacionado

Mais procurados

(ACH2044) Inteligência Artificial - Aula 05
(ACH2044) Inteligência Artificial - Aula 05(ACH2044) Inteligência Artificial - Aula 05
(ACH2044) Inteligência Artificial - Aula 05Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 03
(ACH2044) Inteligência Artificial - Aula 03(ACH2044) Inteligência Artificial - Aula 03
(ACH2044) Inteligência Artificial - Aula 03Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 17
(ACH2044) Inteligência Artificial - Aula 17(ACH2044) Inteligência Artificial - Aula 17
(ACH2044) Inteligência Artificial - Aula 17Norton Trevisan Roman
 
Razaoproporcao
RazaoproporcaoRazaoproporcao
Razaoproporcaotetsu
 
(ACH2044) Inteligência Artificial - Aula 20
(ACH2044) Inteligência Artificial - Aula 20(ACH2044) Inteligência Artificial - Aula 20
(ACH2044) Inteligência Artificial - Aula 20Norton Trevisan Roman
 
(ACH2055) Arquitetura de Computadores - Aula 04
(ACH2055) Arquitetura de Computadores - Aula 04(ACH2055) Arquitetura de Computadores - Aula 04
(ACH2055) Arquitetura de Computadores - Aula 04Norton Trevisan Roman
 

Mais procurados (7)

(ACH2044) Inteligência Artificial - Aula 05
(ACH2044) Inteligência Artificial - Aula 05(ACH2044) Inteligência Artificial - Aula 05
(ACH2044) Inteligência Artificial - Aula 05
 
(ACH2044) Inteligência Artificial - Aula 03
(ACH2044) Inteligência Artificial - Aula 03(ACH2044) Inteligência Artificial - Aula 03
(ACH2044) Inteligência Artificial - Aula 03
 
(ACH2044) Inteligência Artificial - Aula 17
(ACH2044) Inteligência Artificial - Aula 17(ACH2044) Inteligência Artificial - Aula 17
(ACH2044) Inteligência Artificial - Aula 17
 
Razaoproporcao
RazaoproporcaoRazaoproporcao
Razaoproporcao
 
Redes petri (tutorial cpn tools)
Redes petri (tutorial cpn tools)Redes petri (tutorial cpn tools)
Redes petri (tutorial cpn tools)
 
(ACH2044) Inteligência Artificial - Aula 20
(ACH2044) Inteligência Artificial - Aula 20(ACH2044) Inteligência Artificial - Aula 20
(ACH2044) Inteligência Artificial - Aula 20
 
(ACH2055) Arquitetura de Computadores - Aula 04
(ACH2055) Arquitetura de Computadores - Aula 04(ACH2055) Arquitetura de Computadores - Aula 04
(ACH2055) Arquitetura de Computadores - Aula 04
 

Semelhante a SVM Aula sobre margem máxima

[José Ahirton Lopes] Support Vector Machines
[José Ahirton Lopes] Support Vector Machines[José Ahirton Lopes] Support Vector Machines
[José Ahirton Lopes] Support Vector MachinesAhirton Lopes
 
Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)
Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)
Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)Ben Hur Bahia do Nascimento
 
Support Vector Machines
Support Vector MachinesSupport Vector Machines
Support Vector MachinesLeandro Farias
 
(ACH2055) Arquitetura de Computadores - Aula 08
(ACH2055) Arquitetura de Computadores - Aula 08(ACH2055) Arquitetura de Computadores - Aula 08
(ACH2055) Arquitetura de Computadores - Aula 08Norton Trevisan Roman
 

Semelhante a SVM Aula sobre margem máxima (6)

Math
MathMath
Math
 
[José Ahirton Lopes] Support Vector Machines
[José Ahirton Lopes] Support Vector Machines[José Ahirton Lopes] Support Vector Machines
[José Ahirton Lopes] Support Vector Machines
 
Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)
Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)
Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)
 
Support Vector Machines
Support Vector MachinesSupport Vector Machines
Support Vector Machines
 
(ACH2055) Arquitetura de Computadores - Aula 08
(ACH2055) Arquitetura de Computadores - Aula 08(ACH2055) Arquitetura de Computadores - Aula 08
(ACH2055) Arquitetura de Computadores - Aula 08
 
4 groebner danton4 dissertacao
4 groebner danton4 dissertacao4 groebner danton4 dissertacao
4 groebner danton4 dissertacao
 

Mais de Norton Trevisan Roman

(ACH2044) Inteligência Artificial - Aula 24
(ACH2044) Inteligência Artificial - Aula 24(ACH2044) Inteligência Artificial - Aula 24
(ACH2044) Inteligência Artificial - Aula 24Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 19
(ACH2044) Inteligência Artificial - Aula 19(ACH2044) Inteligência Artificial - Aula 19
(ACH2044) Inteligência Artificial - Aula 19Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 18
(ACH2044) Inteligência Artificial - Aula 18(ACH2044) Inteligência Artificial - Aula 18
(ACH2044) Inteligência Artificial - Aula 18Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 15
(ACH2044) Inteligência Artificial - Aula 15(ACH2044) Inteligência Artificial - Aula 15
(ACH2044) Inteligência Artificial - Aula 15Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 14
(ACH2044) Inteligência Artificial - Aula 14(ACH2044) Inteligência Artificial - Aula 14
(ACH2044) Inteligência Artificial - Aula 14Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 13
(ACH2044) Inteligência Artificial - Aula 13(ACH2044) Inteligência Artificial - Aula 13
(ACH2044) Inteligência Artificial - Aula 13Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 12
(ACH2044) Inteligência Artificial - Aula 12(ACH2044) Inteligência Artificial - Aula 12
(ACH2044) Inteligência Artificial - Aula 12Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 11
(ACH2044) Inteligência Artificial - Aula 11(ACH2044) Inteligência Artificial - Aula 11
(ACH2044) Inteligência Artificial - Aula 11Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 10
(ACH2044) Inteligência Artificial - Aula 10(ACH2044) Inteligência Artificial - Aula 10
(ACH2044) Inteligência Artificial - Aula 10Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 08
(ACH2044) Inteligência Artificial - Aula 08(ACH2044) Inteligência Artificial - Aula 08
(ACH2044) Inteligência Artificial - Aula 08Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 04
(ACH2044) Inteligência Artificial - Aula 04(ACH2044) Inteligência Artificial - Aula 04
(ACH2044) Inteligência Artificial - Aula 04Norton Trevisan Roman
 
(ACH2001) Introdução à Programação - Aula 23
(ACH2001) Introdução à Programação - Aula 23(ACH2001) Introdução à Programação - Aula 23
(ACH2001) Introdução à Programação - Aula 23Norton Trevisan Roman
 
(ACH2001) Introdução à Programação - Aula 22
(ACH2001) Introdução à Programação - Aula 22(ACH2001) Introdução à Programação - Aula 22
(ACH2001) Introdução à Programação - Aula 22Norton Trevisan Roman
 
(ACH2001) Introdução à Programação - Aula 21
(ACH2001) Introdução à Programação - Aula 21(ACH2001) Introdução à Programação - Aula 21
(ACH2001) Introdução à Programação - Aula 21Norton Trevisan Roman
 
(ACH2001) Introdução à Programação - Aula 20
(ACH2001) Introdução à Programação - Aula 20(ACH2001) Introdução à Programação - Aula 20
(ACH2001) Introdução à Programação - Aula 20Norton Trevisan Roman
 
(ACH2001) Introdução à Programação - Aula 19
(ACH2001) Introdução à Programação - Aula 19(ACH2001) Introdução à Programação - Aula 19
(ACH2001) Introdução à Programação - Aula 19Norton Trevisan Roman
 
(ACH2001) Introdução à Programação - Aula 18
(ACH2001) Introdução à Programação - Aula 18(ACH2001) Introdução à Programação - Aula 18
(ACH2001) Introdução à Programação - Aula 18Norton Trevisan Roman
 
(ACH2001) Introdução à Programação - Aula 17
(ACH2001) Introdução à Programação - Aula 17(ACH2001) Introdução à Programação - Aula 17
(ACH2001) Introdução à Programação - Aula 17Norton Trevisan Roman
 
(ACH2001) Introdução à Programação - Aula 16
(ACH2001) Introdução à Programação - Aula 16(ACH2001) Introdução à Programação - Aula 16
(ACH2001) Introdução à Programação - Aula 16Norton Trevisan Roman
 

Mais de Norton Trevisan Roman (19)

(ACH2044) Inteligência Artificial - Aula 24
(ACH2044) Inteligência Artificial - Aula 24(ACH2044) Inteligência Artificial - Aula 24
(ACH2044) Inteligência Artificial - Aula 24
 
(ACH2044) Inteligência Artificial - Aula 19
(ACH2044) Inteligência Artificial - Aula 19(ACH2044) Inteligência Artificial - Aula 19
(ACH2044) Inteligência Artificial - Aula 19
 
(ACH2044) Inteligência Artificial - Aula 18
(ACH2044) Inteligência Artificial - Aula 18(ACH2044) Inteligência Artificial - Aula 18
(ACH2044) Inteligência Artificial - Aula 18
 
(ACH2044) Inteligência Artificial - Aula 15
(ACH2044) Inteligência Artificial - Aula 15(ACH2044) Inteligência Artificial - Aula 15
(ACH2044) Inteligência Artificial - Aula 15
 
(ACH2044) Inteligência Artificial - Aula 14
(ACH2044) Inteligência Artificial - Aula 14(ACH2044) Inteligência Artificial - Aula 14
(ACH2044) Inteligência Artificial - Aula 14
 
(ACH2044) Inteligência Artificial - Aula 13
(ACH2044) Inteligência Artificial - Aula 13(ACH2044) Inteligência Artificial - Aula 13
(ACH2044) Inteligência Artificial - Aula 13
 
(ACH2044) Inteligência Artificial - Aula 12
(ACH2044) Inteligência Artificial - Aula 12(ACH2044) Inteligência Artificial - Aula 12
(ACH2044) Inteligência Artificial - Aula 12
 
(ACH2044) Inteligência Artificial - Aula 11
(ACH2044) Inteligência Artificial - Aula 11(ACH2044) Inteligência Artificial - Aula 11
(ACH2044) Inteligência Artificial - Aula 11
 
(ACH2044) Inteligência Artificial - Aula 10
(ACH2044) Inteligência Artificial - Aula 10(ACH2044) Inteligência Artificial - Aula 10
(ACH2044) Inteligência Artificial - Aula 10
 
(ACH2044) Inteligência Artificial - Aula 08
(ACH2044) Inteligência Artificial - Aula 08(ACH2044) Inteligência Artificial - Aula 08
(ACH2044) Inteligência Artificial - Aula 08
 
(ACH2044) Inteligência Artificial - Aula 04
(ACH2044) Inteligência Artificial - Aula 04(ACH2044) Inteligência Artificial - Aula 04
(ACH2044) Inteligência Artificial - Aula 04
 
(ACH2001) Introdução à Programação - Aula 23
(ACH2001) Introdução à Programação - Aula 23(ACH2001) Introdução à Programação - Aula 23
(ACH2001) Introdução à Programação - Aula 23
 
(ACH2001) Introdução à Programação - Aula 22
(ACH2001) Introdução à Programação - Aula 22(ACH2001) Introdução à Programação - Aula 22
(ACH2001) Introdução à Programação - Aula 22
 
(ACH2001) Introdução à Programação - Aula 21
(ACH2001) Introdução à Programação - Aula 21(ACH2001) Introdução à Programação - Aula 21
(ACH2001) Introdução à Programação - Aula 21
 
(ACH2001) Introdução à Programação - Aula 20
(ACH2001) Introdução à Programação - Aula 20(ACH2001) Introdução à Programação - Aula 20
(ACH2001) Introdução à Programação - Aula 20
 
(ACH2001) Introdução à Programação - Aula 19
(ACH2001) Introdução à Programação - Aula 19(ACH2001) Introdução à Programação - Aula 19
(ACH2001) Introdução à Programação - Aula 19
 
(ACH2001) Introdução à Programação - Aula 18
(ACH2001) Introdução à Programação - Aula 18(ACH2001) Introdução à Programação - Aula 18
(ACH2001) Introdução à Programação - Aula 18
 
(ACH2001) Introdução à Programação - Aula 17
(ACH2001) Introdução à Programação - Aula 17(ACH2001) Introdução à Programação - Aula 17
(ACH2001) Introdução à Programação - Aula 17
 
(ACH2001) Introdução à Programação - Aula 16
(ACH2001) Introdução à Programação - Aula 16(ACH2001) Introdução à Programação - Aula 16
(ACH2001) Introdução à Programação - Aula 16
 

Último

GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumGÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumAugusto Costa
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividadeMary Alvarenga
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Mary Alvarenga
 
Literatura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptLiteratura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptMaiteFerreira4
 
E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?Rosalina Simão Nunes
 
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...licinioBorges
 
A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.silves15
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManuais Formação
 
A poesia - Definições e Característicass
A poesia - Definições e CaracterísticassA poesia - Definições e Característicass
A poesia - Definições e CaracterísticassAugusto Costa
 
Mapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxMapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxBeatrizLittig1
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números Mary Alvarenga
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresLilianPiola
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelGilber Rubim Rangel
 
SEMINÁRIO QUIMICA AMBIENTAL - PPGEEA - FINAL.pptx
SEMINÁRIO QUIMICA AMBIENTAL -  PPGEEA - FINAL.pptxSEMINÁRIO QUIMICA AMBIENTAL -  PPGEEA - FINAL.pptx
SEMINÁRIO QUIMICA AMBIENTAL - PPGEEA - FINAL.pptxCompartilhadoFACSUFA
 
RedacoesComentadasModeloAnalisarFazer.pdf
RedacoesComentadasModeloAnalisarFazer.pdfRedacoesComentadasModeloAnalisarFazer.pdf
RedacoesComentadasModeloAnalisarFazer.pdfAlissonMiranda22
 
tabela desenhos projetivos REVISADA.pdf1
tabela desenhos projetivos REVISADA.pdf1tabela desenhos projetivos REVISADA.pdf1
tabela desenhos projetivos REVISADA.pdf1Michycau1
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxLuizHenriquedeAlmeid6
 
CLASSE DE PALAVRAS completo para b .pptx
CLASSE DE PALAVRAS completo para b .pptxCLASSE DE PALAVRAS completo para b .pptx
CLASSE DE PALAVRAS completo para b .pptxFranciely Carvalho
 

Último (20)

GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumGÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividade
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
 
Literatura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptLiteratura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.ppt
 
E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?
 
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
 
A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envio
 
CINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULACINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULA
 
A poesia - Definições e Característicass
A poesia - Definições e CaracterísticassA poesia - Definições e Característicass
A poesia - Definições e Característicass
 
Mapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxMapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docx
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
 
Em tempo de Quaresma .
Em tempo de Quaresma                            .Em tempo de Quaresma                            .
Em tempo de Quaresma .
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim Rangel
 
SEMINÁRIO QUIMICA AMBIENTAL - PPGEEA - FINAL.pptx
SEMINÁRIO QUIMICA AMBIENTAL -  PPGEEA - FINAL.pptxSEMINÁRIO QUIMICA AMBIENTAL -  PPGEEA - FINAL.pptx
SEMINÁRIO QUIMICA AMBIENTAL - PPGEEA - FINAL.pptx
 
RedacoesComentadasModeloAnalisarFazer.pdf
RedacoesComentadasModeloAnalisarFazer.pdfRedacoesComentadasModeloAnalisarFazer.pdf
RedacoesComentadasModeloAnalisarFazer.pdf
 
tabela desenhos projetivos REVISADA.pdf1
tabela desenhos projetivos REVISADA.pdf1tabela desenhos projetivos REVISADA.pdf1
tabela desenhos projetivos REVISADA.pdf1
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
 
CLASSE DE PALAVRAS completo para b .pptx
CLASSE DE PALAVRAS completo para b .pptxCLASSE DE PALAVRAS completo para b .pptx
CLASSE DE PALAVRAS completo para b .pptx
 

SVM Aula sobre margem máxima

  • 1. Inteligência Artificial – ACH2016 Aula21 – Support Vector Machines Norton Trevisan Roman (norton@usp.br) 27 de maio de 2019 Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 1 / 35
  • 2. Support Vector Machine – SVM Margem Máxima Considere o conjunto linearmente separável ao lado Fonte: AIMA. R&N Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 2 / 35
  • 3. Support Vector Machine – SVM Margem Máxima Considere o conjunto linearmente separável ao lado Temos várias possibilidades de separação Fonte: AIMA. R&N Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 2 / 35
  • 4. Support Vector Machine – SVM Margem Máxima Considere o conjunto linearmente separável ao lado Temos várias possibilidades de separação Qual seria a melhor? Fonte: AIMA. R&N Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 2 / 35
  • 5. Support Vector Machine – SVM Margem Máxima Considere o conjunto linearmente separável ao lado Temos várias possibilidades de separação Qual seria a melhor? Cada linha que separa os dados é um hiperplano de separação Fonte: AIMA. R&N Será nosso limite de decisão → tudo de um lado pertence a uma classe, e tudo do outro pertence a outra Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 2 / 35
  • 6. Support Vector Machine – SVM Margem Máxima Gostarı́amos de escolher o separador que estivesse o mais longe possı́vel dos exemplos Acomodando, assim, possı́veis erros de classificação Fonte: AIMA. R&N Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 3 / 35
  • 7. Support Vector Machine – SVM Margem Máxima Gostarı́amos de escolher o separador que estivesse o mais longe possı́vel dos exemplos Acomodando, assim, possı́veis erros de classificação Esse seria então um separador de margem máxima margem Fonte: AIMA. R&N Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 3 / 35
  • 8. Support Vector Machine – SVM Margem Máxima Gostarı́amos de escolher o separador que estivesse o mais longe possı́vel dos exemplos Acomodando, assim, possı́veis erros de classificação Esse seria então um separador de margem máxima margem vetores de suporte Fonte: AIMA. R&N Os pontos mais próximos do separador são seus vetores de suporte Queremos então maximizar a distância entre esse hiperplano e seus vetores de suporte Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 3 / 35
  • 9. Support Vector Machine – SVM Classificador SVM Baseia-se na ideia principal do separador de margem máxima Quanto mais longe um ponto está do limite de decisão, mais confiantes estamos sobre a predição feita Fonte: AIMA. R&N Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 4 / 35
  • 10. Support Vector Machine – SVM Classificador SVM Baseia-se na ideia principal do separador de margem máxima Quanto mais longe um ponto está do limite de decisão, mais confiantes estamos sobre a predição feita Difere dos demais classificadores em que retorna +1 ou −1 em sua versão binária Fonte: AIMA. R&N Isso acaba facilitando os cálculos... Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 4 / 35
  • 11. Support Vector Machine – SVM SVM linear com margens rı́gidas Define fronteiras lineares a partir de dados linearmente separáveis Não permite pontos nessa fronteira Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 5 / 35
  • 12. Support Vector Machine – SVM SVM linear com margens rı́gidas Define fronteiras lineares a partir de dados linearmente separáveis Não permite pontos nessa fronteira Fonte: AIMA. R&N Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 5 / 35
  • 13. Support Vector Machine – SVM SVM linear com margens rı́gidas Define fronteiras lineares a partir de dados linearmente separáveis Não permite pontos nessa fronteira Um classificador linear é aquele que separa os dados com um hiperplano do tipo f (~ x) = ~ ω · ~ x + b Fonte: AIMA. R&N A equação separa o espaço de dados X em duas regiões, ~ ω · ~ x + b ≥ 0 e ~ ω · ~ x + b < 0 Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 5 / 35
  • 14. SVM Linear com Margens Rı́gidas Hiperplano Canônico Usamos então uma função sinal g(~ x) = sgn(f (~ x)) para classificar um ponto ~ x: g(~ x) = sgn(f (~ x)) = ( +1, se ~ ω · ~ x + b ≥ 0 −1, se ~ ω · ~ x + b < 0 Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 6 / 35
  • 15. SVM Linear com Margens Rı́gidas Hiperplano Canônico Usamos então uma função sinal g(~ x) = sgn(f (~ x)) para classificar um ponto ~ x: g(~ x) = sgn(f (~ x)) = ( +1, se ~ ω · ~ x + b ≥ 0 −1, se ~ ω · ~ x + b < 0 Hiperplano canônico: Aquele em que ~ ω e b são escolhidos de forma que os exemplos mais próximos do hiperplano satisfaçam a equação |~ ω · ~ x + b| = 1 Define a margem Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 6 / 35
  • 16. SVM Linear com Margens Rı́gidas Hiperplano Canônico Então, temos 2 hiperplanos nas bordas da margem: ( ~ ω · ~ x + b ≥ +1, se yi = +1 ~ ω · ~ x + b ≤ −1, se yi = −1 onde yi ∈ Y , Y = {−1, +1} é o rótulo de xi Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 7 / 35
  • 17. SVM Linear com Margens Rı́gidas Hiperplano Canônico Então, temos 2 hiperplanos nas bordas da margem: ( ~ ω · ~ x + b ≥ +1, se yi = +1 ~ ω · ~ x + b ≤ −1, se yi = −1 onde yi ∈ Y , Y = {−1, +1} é o rótulo de xi E aqui vemos a vantagem de se definir as classes como Y = {−1, +1} Podemos resumir a expressão acima em uma única equação: yi (~ ω · ~ x + b) − 1 ≥ 0, ∀(~ xi , yi ) ∈ T (onde T é o conjunto de treino) Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 7 / 35
  • 18. SVM Linear com Margens Rı́gidas Distância entre os Hiperplanos Queremos, no entanto, maximizar a margem Maximizar a distância d entre os hiperplanos H1 e H2 Fonte: [3] Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 8 / 35
  • 19. SVM Linear com Margens Rı́gidas Distância entre os Hiperplanos Queremos, no entanto, maximizar a margem Maximizar a distância d entre os hiperplanos H1 e H2 Projetamos então o vetor ~ x1 − ~ x2 na direção de ~ ω Onde ~ x1 ∈ H1 e ~ x2 ∈ H2, Fonte: [3] Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 8 / 35
  • 20. SVM Linear com Margens Rı́gidas Distância entre os Hiperplanos E ~ d = (~ x1 −~ x2) ~ ω k~ ωk · (~ x1 − ~ x2) k~ x1 − ~ x2k Fonte: [3] Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 9 / 35
  • 21. SVM Linear com Margens Rı́gidas Distância entre os Hiperplanos E ~ d = (~ x1 −~ x2) ~ ω k~ ωk · (~ x1 − ~ x2) k~ x1 − ~ x2k Uma vez que ~ ω · ~ x1 + b = +1 e ~ ω · ~ x2 + b = −1 Então ~ ω · (~ x1 − ~ x2) = ~ ω · ~ x1 − ~ ω · ~ x2 Fonte: [3] = (1 − b) − (−1 − b) = 2 Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 9 / 35
  • 22. SVM Linear com Margens Rı́gidas Distância entre os Hiperplanos E ~ d = 2(~ x1 − ~ x2) k~ ωkk~ x1 − ~ x2k Fonte: [3] Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 10 / 35
  • 23. SVM Linear com Margens Rı́gidas Distância entre os Hiperplanos E ~ d = 2(~ x1 − ~ x2) k~ ωkk~ x1 − ~ x2k Assim, d = k~ dk = 2 k~ ωk d0 = 1 k~ ωk é então a distância mı́nima entre o hiperplano separador e os dados de treinamento Fonte: [3] Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 10 / 35
  • 24. SVM Linear com Margens Rı́gidas Distância entre os Hiperplanos E ~ d = 2(~ x1 − ~ x2) k~ ωkk~ x1 − ~ x2k Assim, d = k~ dk = 2 k~ ωk d0 = 1 k~ ωk é então a distância mı́nima entre o hiperplano separador e os dados de treinamento Fonte: [3] Queremos maximizar d0 Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 10 / 35
  • 25. SVM Linear com Margens Rı́gidas Maximizando a distância entre os hiperplanos Maximizar d0 = 1/k~ ωk corresponde ao problema de otimização: f (~ x) = min ~ ω,b 1 2 k~ ωk2 Restrição: yi (~ ω · ~ xi + b) − 1 ≥ 0 Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 11 / 35
  • 26. SVM Linear com Margens Rı́gidas Maximizando a distância entre os hiperplanos Maximizar d0 = 1/k~ ωk corresponde ao problema de otimização: f (~ x) = min ~ ω,b 1 2 k~ ωk2 Restrição: yi (~ ω · ~ xi + b) − 1 ≥ 0 A restrição garante que não haja dados de treino entre as margens de separação das classes Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 11 / 35
  • 27. SVM Linear com Margens Rı́gidas Maximizando a distância entre os hiperplanos Maximizar d0 = 1/k~ ωk corresponde ao problema de otimização: f (~ x) = min ~ ω,b 1 2 k~ ωk2 Restrição: yi (~ ω · ~ xi + b) − 1 ≥ 0 Por que isso? Porque os mesmos ~ ω e b que resolvem um problema também resolve o outro Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 11 / 35
  • 28. SVM Linear com Margens Rı́gidas Maximizando a distância entre os hiperplanos Maximizar d0 = 1/k~ ωk corresponde ao problema de otimização: f (~ x) = min ~ ω,b 1 2 k~ ωk2 Restrição: yi (~ ω · ~ xi + b) − 1 ≥ 0 Por que isso? Fonte: https://brainsnorts.files. wordpress.com/2014/05/calvin376_2.jpg Porque os mesmos ~ ω e b que resolvem um problema também resolve o outro E alguém já quebrou a cabeça resolvendo um deles Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 11 / 35
  • 29. SVM Linear com Margens Rı́gidas Maximizando a distância entre os hiperplanos A solução desse problema de otimização passa pela introdução de uma Lagrangiana L(~ ω, b, ~ α) = 1 2 k~ ωk2 − n X i=1 αi (yi (~ ω · ~ xi + b) − 1) Onde αi são os chamados multiplicadores de Lagrange Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 12 / 35
  • 30. SVM Linear com Margens Rı́gidas Maximizando a distância entre os hiperplanos A solução desse problema de otimização passa pela introdução de uma Lagrangiana L(~ ω, b, ~ α) = 1 2 k~ ωk2 − n X i=1 αi (yi (~ ω · ~ xi + b) − 1) Onde αi são os chamados multiplicadores de Lagrange L(~ ω, b, ~ α) deve então ser minimizada Para isso, maximizamos αi e minimizamos ~ ω e b Para ~ ω e b, fazemos ∂L ∂b = 0 e ∂L ∂~ ω = 0 Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 12 / 35
  • 31. SVM Linear com Margens Rı́gidas Maximizando a distância entre os hiperplanos O que nos leva ao resultado n X i=1 αi yi = 0 e ~ ω = n X i=1 αi yi~ xi Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 13 / 35
  • 32. SVM Linear com Margens Rı́gidas Maximizando a distância entre os hiperplanos O que nos leva ao resultado n X i=1 αi yi = 0 e ~ ω = n X i=1 αi yi~ xi Para αi, substituı́mos esse resultado na Lagrangeana e maximizamos Queremos então max ~ α n X i=1 αi − 1 2 n X i,j=1 αi αj yi yj (~ xi · ~ xj ) Com as restrições      αi ≥ 0, i = 1, . . . , n n X i=1 αi yi = 0 Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 13 / 35
  • 33. SVM Linear com Margens Rı́gidas Maximizando a distância entre os hiperplanos Formulação conhe- cida como forma dual do problema O que nos leva ao resultado n X i=1 αi yi = 0 e ~ ω = n X i=1 αi yi~ xi Para αi, substituı́mos esse resultado na Lagrangeana e maximizamos Queremos então max ~ α n X i=1 αi − 1 2 n X i,j=1 αi αj yi yj (~ xi · ~ xj ) Com as restrições      αi ≥ 0, i = 1, . . . , n n X i=1 αi yi = 0 Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 13 / 35
  • 34. SVM Linear com Margens Rı́gidas Maximizando a distância entre os hiperplanos Assim, encontrada a solução ~ α da forma dual, usamos ~ ω = n X i=1 αiyi~ xi para achar a solução ~ ω Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 14 / 35
  • 35. SVM Linear com Margens Rı́gidas Maximizando a distância entre os hiperplanos Assim, encontrada a solução ~ α da forma dual, usamos ~ ω = n X i=1 αiyi~ xi para achar a solução ~ ω E b? Obtido de α e das condições de Kühn-Tucker (teoria de otimização com restrições) Para esse problema, temos as restrições αi (yi (~ ω · ~ xi + b) − 1) = 0, i = 1, . . . , n Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 14 / 35
  • 36. SVM Linear com Margens Rı́gidas Maximizando a distância entre os hiperplanos Vejamos a restrição αi(yi(~ ω · ~ xi + b) − 1) = 0 Temos que αi 6= 0 apenas para pontos sobre H1 e H2 Os exemplos mais próximos do hiperplano separador Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 15 / 35
  • 37. SVM Linear com Margens Rı́gidas Maximizando a distância entre os hiperplanos Vejamos a restrição αi(yi(~ ω · ~ xi + b) − 1) = 0 Temos que αi 6= 0 apenas para pontos sobre H1 e H2 Os exemplos mais próximos do hiperplano separador Para os demais deve ser 0. Por que? Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 15 / 35
  • 38. SVM Linear com Margens Rı́gidas Maximizando a distância entre os hiperplanos Vejamos a restrição αi(yi(~ ω · ~ xi + b) − 1) = 0 Temos que αi 6= 0 apenas para pontos sobre H1 e H2 Os exemplos mais próximos do hiperplano separador Para os demais deve ser 0. Por que? Se ~ x / ∈ H1 ou H2, então yi (~ ω · ~ x + b) − 1 0 Não está nem na margem, nem no plano Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 15 / 35
  • 39. SVM Linear com Margens Rı́gidas Maximizando a distância entre os hiperplanos Vejamos a restrição αi(yi(~ ω · ~ xi + b) − 1) = 0 Temos que αi 6= 0 apenas para pontos sobre H1 e H2 Os exemplos mais próximos do hiperplano separador Para os demais deve ser 0. Por que? Se ~ x / ∈ H1 ou H2, então yi (~ ω · ~ x + b) − 1 0 Não está nem na margem, nem no plano A única forma de αi (yi (~ ω · ~ xi + b) − 1) ser 0 é se αi = 0 Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 15 / 35
  • 40. SVM Linear com Margens Rı́gidas Maximizando a distância entre os hiperplanos Os exemplos em que αi 0 são os vetores de suporte V para o hiperplano separador Apenas eles participarão da determinação da equação desse hiperplano Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 16 / 35
  • 41. SVM Linear com Margens Rı́gidas Maximizando a distância entre os hiperplanos Os exemplos em que αi 0 são os vetores de suporte V para o hiperplano separador Apenas eles participarão da determinação da equação desse hiperplano Mas e b? Calculado de αi(yi(~ ω · ~ xi + b) − 1) = 0 yi (~ ω · ~ xi + b) − 1 = 0 ~ ω · ~ xi + b = 1/yi b = 1/yi − ~ ω · ~ xi Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 16 / 35
  • 42. SVM Linear com Margens Rı́gidas Maximizando a distância entre os hiperplanos Os exemplos em que αi 0 são os vetores de suporte V para o hiperplano separador Apenas eles participarão da determinação da equação desse hiperplano Mas e b? Calculado de αi(yi(~ ω · ~ xi + b) − 1) = 0 yi (~ ω · ~ xi + b) − 1 = 0 ~ ω · ~ xi + b = 1/yi b = 1/yi − ~ ω · ~ xi Isso, contudo considerando apenas um vetor de suporte Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 16 / 35
  • 43. SVM Linear com Margens Rı́gidas Maximizando a distância entre os hiperplanos Como temos nV vetores de suporte, b será a média dentre eles b = 1 nV X xj ∈V 1 yj − ~ ω · ~ xj Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 17 / 35
  • 44. SVM Linear com Margens Rı́gidas Maximizando a distância entre os hiperplanos Como temos nV vetores de suporte, b será a média dentre eles b = 1 nV X xj ∈V 1 yj − ~ ω · ~ xj E como ~ ω = n X i=1 αiyi~ xi, então b = 1 nV X xj ∈V 1 yj − n X xi ∈V αi yi~ xi · ~ xj ! Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 17 / 35
  • 45. SVM Linear com Margens Rı́gidas RESUME ISSO POR FAVOR!!!! Fonte: https://i.imgflip.com/pqcjo.jpg?a432792 Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 18 / 35
  • 46. SVM Linear com Margens Rı́gidas O classificador SVM Dado um ponto ~ x, sua classificação será dada por g(~ x) = sgn(f (~ x)) = sgn(~ ω ·~ x + b) = sgn X x ~i ∈V yi αi~ xi · ~ x + b ! (com α, ~ ω e b calculados como mostrado) Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 19 / 35
  • 47. SVM Linear com Margens Rı́gidas O classificador SVM Dado um ponto ~ x, sua classificação será dada por g(~ x) = sgn(f (~ x)) = sgn(~ ω ·~ x + b) = sgn X x ~i ∈V yi αi~ xi · ~ x + b ! (com α, ~ ω e b calculados como mostrado) Esse é o classificador SVM Representando o hiperplano que separa os dados com maior margem Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 19 / 35
  • 48. SVM Linear com Margens Suaves Dados com ruı́do Em algumas situações, mesmo sendo linearmente separáveis, os dados apresentam ruı́dos Fonte: [3] Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 20 / 35
  • 49. SVM Linear com Margens Suaves Dados com ruı́do Em algumas situações, mesmo sendo linearmente separáveis, os dados apresentam ruı́dos Para esses casos, relaxamos as restrições do SVM Fonte: [3] yi (~ ω · ~ xi + b) ≥ 1 − ξi onde ξi ≥ 0 é uma variável de folga Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 20 / 35
  • 50. SVM Linear com Margens Suaves Dados com ruı́do O classificador permite que alguns exemplos caiam no lado errado do limite de decisão Associa, contudo, uma penalidade proporcional à distância necessária para movê-los de volta ao lado certo Fonte: [3] Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 21 / 35
  • 51. SVM Linear com Margens Suaves Dados com ruı́do O resultado é a mesma expressão para o classificador com margens rı́gidas Mas com uma expressão diferente para αi (e consequentes ω e b) Não veremos detalhes aqui Fonte: [3] Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 22 / 35
  • 52. SVM Não Linear Espaço de Caracterı́sticas E se os dados não forem linearmente separáveis? Muito embora, nesse exemplo, talvez bastasse o uso de coordenadas polares Fonte: AIMA. RN Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 23 / 35
  • 53. SVM Não Linear Espaço de Caracterı́sticas E se os dados não forem linearmente separáveis? Muito embora, nesse exemplo, talvez bastasse o uso de coordenadas polares SVMs lidam com isso mapeando cada exemplo para um novo espaço, Fonte: AIMA. RN de maior dimensão O espaço de caracterı́sticas (feature space) Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 23 / 35
  • 54. SVM Não Linear Espaço de Caracterı́sticas Por exemplo, vamos mapear cada vetor de entrada ~ x = (x1, x2) em um novo vetor F(~ x) = (f1, f2, f3), onde: f1 = x2 1 f2 = x2 2 f3 = √ 2x1x2 Fonte: AIMA. RN Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 24 / 35
  • 55. SVM Não Linear Espaço de Caracterı́sticas Graficando os dados nesse novo espaço obtemos Fonte: AIMA. RN Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 25 / 35
  • 56. SVM Não Linear Espaço de Caracterı́sticas Graficando os dados nesse novo espaço obtemos E eles são linearmente separáveis A escolha apropriada do mapeamento faz com que os dados possam ser separados por uma SVM linear Fonte: AIMA. RN Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 25 / 35
  • 57. SVM Não Linear Espaço de Caracterı́sticas Se os dados forem mapeados em um espaço de dimensões suficientemente grande, eles quase sempre serão linearmente separáveis Se olharmos a um conjunto de pontos a partir de direções suficientes, encontraremos um modo de alinhá-los Fonte: AIMA. RN Com algumas exceções, conjuntos de n pontos serão sempre separáveis em espaços de n − 1 dimensões ou mais Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 26 / 35
  • 58. SVM Não Linear Separador linear Para encontrar um separador linear no novo espaço F(~ x), substituı́mos ~ xi · ~ xj por F(~ xi) · F(~ xj) em max ~ α n X i=1 αi − 1 2 n X i,j=1 αi αj yi yj (~ xi · ~ xj ) Obtendo max ~ α n X i=1 αi − 1 2 n X i,j=1 αi αj yi yj (F(~ xi ) · F(~ xj )) Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 27 / 35
  • 59. SVM Não Linear Funções de Kernel Contudo, podemos calcular F(~ xi) · F(~ xj) sem ter de calcular F para cada ponto No exemplo dado, F(~ xi ) · F(~ xj ) = (x2 1i , √ 2x1i x2i , x2 2i ) · (x2 1j , √ 2x1j x2j , x2 2j ) = (~ xi · ~ xj )2 Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 28 / 35
  • 60. SVM Não Linear Funções de Kernel Contudo, podemos calcular F(~ xi) · F(~ xj) sem ter de calcular F para cada ponto No exemplo dado, F(~ xi ) · F(~ xj ) = (x2 1i , √ 2x1i x2i , x2 2i ) · (x2 1j , √ 2x1j x2j , x2 2j ) = (~ xi · ~ xj )2 K(~ xi, ~ xj) = (~ xi · ~ xj)2 é uma Função de Kernel Uma função K(~ xi , ~ xj ) = F(~ xi ) · F(~ xj ) que recebe 2 pontos ~ xi e ~ xj do espaço de entradas e calcula seu produto escalar no espaço de caracterı́sticas Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 28 / 35
  • 61. SVM Não Linear Funções de Kernel Podemos então encontrar separadores lineares em F(~ x) simplesmente trocando ~ xi · ~ xj pela função de kernel K(~ xi, ~ xj) Para aprender em dimensões maiores, calculamos apenas as funções de kernel, em vez da lista de caracterı́sticas inteira para cada ponto Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 29 / 35
  • 62. SVM Não Linear Funções de Kernel Podemos então encontrar separadores lineares em F(~ x) simplesmente trocando ~ xi · ~ xj pela função de kernel K(~ xi, ~ xj) Para aprender em dimensões maiores, calculamos apenas as funções de kernel, em vez da lista de caracterı́sticas inteira para cada ponto Assim, simplificamos o cálculo Empregamos a função de Kernel sem conhecer o mapeamento F, pois esse é usado implicitamente Podemos encontrar separadores lineares eficientemente em espaços de bilhões de dimensões Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 29 / 35
  • 63. SVM Não Linear Funções de Kernel E podemos usar qualquer função como Kernel? Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 30 / 35
  • 64. SVM Não Linear Funções de Kernel E podemos usar qualquer função como Kernel? Não. Apenas funções que satisfaçam as condições estabelecidas pelo teorema de Mercer Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 30 / 35
  • 65. SVM Não Linear Funções de Kernel E podemos usar qualquer função como Kernel? Não. Apenas funções que satisfaçam as condições estabelecidas pelo teorema de Mercer Um Kernel que satisfaz as condições de Mercer dá origem a matrizes positivas semi-definidas [K] Em que cada elemento Kij é definido como Kij = K(~ xi , ~ xj ), para i, j = 1, . . . , n Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 30 / 35
  • 66. SVM Não Linear Funções de Kernel Na prática, os Kernels mais usados são Tipo K(~ xi , ~ xj ) Parâmetros Linear δ(~ xi · ~ xj ) + κ δ e κ Polinomial (δ(~ xi · ~ xj ) + κ)d δ, κ e d Gaussiano e−σk~ xi −~ xj k2 σ Sigmoidal tanh(δ(~ xi · ~ xj ) + κ) δ e κ Note que cada um deles apresenta hiper-parâmetros que precisam ser determinados na prática No caso do sigmoidal, as condições de Mercer são satisfeitas somente para alguns valores de δ Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 31 / 35
  • 67. Support Vector Machines Vantagens Constroem um separador de margem máxima Um limite de decisão com a maior distância possı́vel dos exemplos de treino, o que ajuda a generalizar o modelo Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 32 / 35
  • 68. Support Vector Machines Vantagens Constroem um separador de margem máxima Um limite de decisão com a maior distância possı́vel dos exemplos de treino, o que ajuda a generalizar o modelo Criam um plano de separação linear Tornam isso possı́vel embutindo os dados em um espaços de mais dimensões (via o uso de Kernels) Frequentemente, dados não linearmente separáveis no espaço original se tornam separáveis nesse espaço maior O separador linear de alta dimensão não é linear no espaço original → podemos representar hipóteses não lineares Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 32 / 35
  • 69. Support Vector Machines Vantagens São não-paramétricos Retêm exemplos e potencialmente precisam armazená-los todos Na prática, contudo, apenas retêm uma fração pequena destes Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 33 / 35
  • 70. Support Vector Machines Vantagens São não-paramétricos Retêm exemplos e potencialmente precisam armazená-los todos Na prática, contudo, apenas retêm uma fração pequena destes Combinam assim as vantagens dos modelos não-paramétricos e paramétricos Possuem a flexibilidade para representar funções complexas E ainda assim são resistentes a overfitting Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 33 / 35
  • 71. Support Vector Machines Desvantagens Sensı́veis à escolha dos parâmetros Sensı́veis à escolha do Kernel Nativamente só tratam de classificação binária Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 34 / 35
  • 72. Referências 1 Russell, S.; Norvig P. (2010): Artificial Intelligence: A Modern Approach. Prentice Hall. 2a e 3a ed. 2 Harrington, P. (2012): Machine Learning in Action. Manning. 3 Lorena, A.C.; Carvalho A.C.P.L.F. (2007): Uma Introdução às Support Vector Machines. RITA, 14(2). 4 Haykin, S. (2009): Neural Networks and Learning Machines. Pearson. 3 ed. 5 https://www.analyticsvidhya.com/blog/2017/09/ understaing-support-vector-machine-example-code/ Norton Trevisan Roman(norton@usp.br) 27 de maio de 2019 35 / 35