• Nenhum resultado encontrado

aula 13 - Support Vector Machines

N/A
N/A
Protected

Academic year: 2021

Share "aula 13 - Support Vector Machines"

Copied!
9
0
0

Texto

(1)

Support Vector Machines

Support Vector Machines (SVM) é um algoritmo de aprendizagem supervisionado para classificação de dados, semelhante à regressão logística e às redes neurais. Esse algoritmo apresenta algumas vantagens sobre os outros métodos, entretanto, a complexidade matemática de sua formulação torna a codificação de tais sistemas uma tarefa mais trabalhosa.

Serão apresentadas as formalizações matemáticas desse método e suas consequências em problemas de classificação. Posteriormente, alguns exemplos ilustrativos de sua aplicação.

Começamos com a definição da hipótese para esse tipo de algoritmo. Em regressão logística, e de certa forma em redes neurais, a hipótese é formulada pela função sigmoid:

hθ(x )=g(θ T

x)= 1

1+e−θTx

Analisando conjuntamente a equação acima e seu gráfico, quando temos amostras de um conjunto de dados de treinamento, onde o sistema deve classificar tal amostra como positivo (y = 1), isso requer que hθ(x) ≈ 1, que significa que θTx deve ser muito maior que zero. De forma análoga, dados

que devem ser classificados com y = 0, devem ter θTx muito menor que zero.

A função custo que representa essa idéia para a regressão logística, penalisando valores de θTx

muito diferentes do desejado, é dada por:

J (θ)=

[

1 m

i =1

m

y(i)⋅(−log(h θ(x

(i))))+(1− y(i))⋅(−log(1−h θ(x (i ) )))

]

+ λ 2 m

j=1 n θ2j

(2)

A idéia citada, implementada pela função-custo acima, pode ser melhor compreendida se analisarmos a expressão dentro do colchete.

y(i)⋅log

(

1 1+e−θTx

)

−(1− y (i) )⋅log

(

1−

(

1 1+e−θTx

)

)

para y = 1 para y = 0

No caso das SVMs, as funções acima sofrem uma ligeira alteração. Ao invéz de uma única curva logarítmica, ela será uma composição de duas retas, mas com similar comportamento. A figura abaixo ilustra tal função em vermelho, comparando com a função anterior em azul.

para y = 1 para y = 0

As funções em vermelho continuam com comportamento semelhante, atribuindo alto custo para valores de z que se distanciam da classe alvo do dado de treinamento. Sem nos preocuparmos com a formalização da equação da reta da função em vermelho, podemos reescrever a função-custo anterior na forma:

(3)

J (θ)=

[

1 m

i =1

m

y(i)⋅cost1(θ T

x(i))+(1− y(i))⋅cost0(θ T

x(i ))

]

+ λ 2 m

j=1

n

θ2j

Onde cost1( ) é a função em vermelho para y = 1 e cost0( ) é a função em vermelho para y = 0.

A equação da função-custo acima pode ser obervada como a soma de dois termos independentes, ou seja, J = A + λB. Considerando que λ é constante, podemos reescrever a equação anterior na forma J = CA + B. Se for desejável que ambas as formas representem numericamente o mesmo valor, basta fazer C = 1/λ. Logo:

J (θ)=C

i=1 m

[

y(i )⋅cost1Tx(i))+(1− y(i))⋅cost0Tx(i))

]

+1 2

j=1

n

θ2j

Repare que em ambos os termos, 1/m foi removido. A razão principal disso é por convenção, visto que as definições matemáticas formais de SVM foram desenvolvidas sem esse multiplicador. Adicionalmente, o fator 1/m é constante, e não interfere nos valores de θ ótimos achados durante a minimização de J.

Outra importante diferença entre a regressão logística e SVM, é a interpretação da hipótese. Em regressão logística, o valor da hipótese representa a probabilidade de um certo dado de entrada pertencer a classe alvo, enquanto que em SVM, não há essa probabilidade, somente:

hθ(x )=

{

1 se θ T

x⩾0 0 caso contrário

Formalização Matemática

O treinamento de uma SVM consiste, assim como nos demais algoritmos, em determinar o conjunto de parâmetros θ que minimizam a função-custo J. Analisando a função J acima, vemos que devemos minimizar dois termos.

O termo de regularização é sempre positivo, assim, minimizar tal termo consiste somente em atribuir valores pequenos para θ. O primeiro termo da função, por outro lado, pode ser minimizado, se as funções cost1( ) e cost0( ) forem mínimas. Observando os gráficos dessas funções (retas

(4)

θTx⩾1 para y = 1 θTx⩽−1 para y = 0

Note que os limiares de decisão (classificação) são -1 e 1, e não mais o valor 0. Dessa forma, é desejável ter sempre as duas condições acima atendidas, minimizando ao máximo o valor de J. Uma forma de garantir tais condições durante o processo de treinamento, é fazer o valor de C bastante elevado.

Portanto, o treinamento de uma SVM consiste em achar os valores de θ que minimizem J:

min θ =C

i=1

m

[

y(i )⋅cost1Tx(i ))+(1− y(i ))⋅cost0Tx(i))

]

+1 2

j=1

n

θ2j

Uma vez satisfeitas as condições acima para θTx, o treinamento do algoritmo (minimização da

função-custo) se resume em:

min θ = 1 2

j=1 n θ2j

Produto Interno (Produto Escalar)

Para formalizar a matemática da SVM, devemos deixar claro e explícito a definição algébrica de produto interno entre dois vetores. Considere os vetores bidimensionais u e v. Algebricamente, eles são definidos por:

u=

[

u1

u2

]

e v =

[

v1

v2

]

O produto interno é, portanto, representado por u ∙ v. Graficamente, sabemos que o produto interno é o produto da projeção do vetor v sobre o eixo de u e o comprimento do vetor u, resultando em um valor escalar. O mesmo resultado pode ser obtido fazendo a projeção do vetor u sobre o eixo de v, multiplicando pelo comprimento de v. Algebricamente:

(5)

onde p é o comprimento da projeção de v sobre o eixo de u, e ||u|| é o comprimento do vetor u, formalmente chamado de norma de u:

‖u‖=

u12+u 2 2

A expressão acima nos permite escrever o termo de regularização da função-custo como:

1 2

j =1 n θ2j=1 2(θ1 2 +θ22+⋯)=1 2(

θ1 2 +θ22+⋯)2=1 2‖θ‖ 2

É importante lembrar que a operação do produto interno resulta em um número Real, ou seja, podendo ser negativo ou positivo. O produto interno será negativo quando a projeção de um vetor sobre o eixo do outro estiver em uma direção oposta, ou seja, quando o ângulo entre os vetores for maior que 90º.

É possível provar algebricamente que:

u⋅v= p⋅‖u‖=u1v1+u2v2

Logo, temos que o produto interno será:

u⋅v=uTv= p⋅‖u‖

Se considerarmos, agora, a multiplicação vetorial θTx, temos:

θTx= p⋅‖θ‖

onde p é a projeção do vetor x sobre o eixo do vetor θ. Limiar de Decisão

Considerando um conjunto de dados de treinamento, cujas variáveis de entrada são representadas por vetores x(i), com i = 1, 2, … , m, devemos calcular θTx(i), que minimize a função custo para todas

as amostras x(i)., onde cada amostra é representada por um vetor x = [x

(6)

Considere, por exemplo, um problema de classificação com 2 variáveis (x1 e x2), como ilustrado na

figura abaixo. Logo, teremos θ = [θ0 θ1 θ2], podendo fazer θ0 = 0 como simplificação.

Uma opção de classificação é usar uma fronteira de decisão linear como mostrada abaixo. É intuitivo pensar que tal fronteira não é a melhor opção, apesar de separar as duas possíveis classes.

É possível provar algebricamente, que o vetor θ que resulta em tal fronteira é ortogonal a ela. A simplificação adota de θ0 = 0 faz com que a reta da fronteira de decisão cruze o eixo ortogonal na

origem, bem como a origem do vetor θ será na origem dos eixos.

Podemos então calcular o produto interno de cada vetor de amostra e o vetor de parâmetros. Considerando, por exemplo, a amostra x(1) indicada abaixo, a projeção dela no eixo de θ será o

(7)

Fazendo o mesmo para uma segunda amostra x(2), sua projeção será p(2).

Repare que as projeções p para essas amostras são relativamente pequenas. Assim, as funções cost1( ) (para y = 1) e cost0( ) (para y = 0) somente serão nulas, o que corresponde ao mínimo da

função-custo, se ||θ|| for grande, pois temos que as funções citadas serão zero caso θTx= p⋅‖θ‖⩾1 para y = 1 e θTx= p⋅‖θ‖⩽−1 para y = 0.

Para minizarmos a função-custo, anulando as funções cost(), sem aumentar desnecessariamente ||θ||, o que causaria um aumento de J devido ao termo de regularização, devemos aumentar o máximo possível o valor de p para cada amostra. No exemplo acima, isso pode ser obtido se considerarmos a fronteira de decisão ilustrada abaixo.

(8)

Limiar de Decisão com Margem Larga

A principal consequência da abordagem acima para determinação da fronteira de decisão, e a criaçao de uma margem larga em torno da fronteira.

A margem é uma linha paralela à fronteira, que a separa das amostras de uma determinada classe. Considere a figura abaixo, com amostras linearmente separáveis em duas classes.

A fronteira de decisão H1 claramente não separa as duas classes, e portanto não é uma solução

aceitável. Ambas fronteiras H2 e H3, e por isso podem ser consideradas soluções para a

classificação. Ao analisar as margens de cada fronteira, vemos que as distâncias entre as fronteiras e as amostras mais próximas, vemos claramente que as margens de H3 são maiores que H2.

Por isso, SVM é conhecida como uma ferramenta de classificação de alta margem, ou margem larga, geralmente convergindo para soluções mais otimizadas que algorimos de regressão logística. Essa vantagem, contudo, é garantida quando é minimizada a função-custo J com um alto valor de C. Uma desvantagem do uso de um alto valor de C, é o aumento da sensibilidade do sistema com relação a amostras de treinamento discrepantes. Suponha o problema de classificação abaixo. Uma fronteira com alta margem é ilustrada em preto.

(9)

Caso o conjunto de treinamento tenha uma amostra de valor discrepante, como o mostrada abaixo, a SVM pode ter comportamentos diferentes a depender do valor de C.

Intuitivamente, podemos ver que a fronteira de decisão deve ser mantida, ou pouco alterada, visto que o valor discrepante não representa todo o conjunto de amostras, ou a maioria delas. Entretanto, caso um alto valor de C seja usado, a fronteira de decisão será fortemente alterada, representada em rosa na figura abaixo. A partir disso, deve-se achar um valor de C que resulte numa fronteira de decisão ótima, sem ser afetada excessivamente por valores extremos.

Referências

Documentos relacionados

SINF0037 Gestão da Informação SINF0071 Sistemas Operacionais SINF0018 Sistemas Operacionais SINF0053 Banco de Dados I SINF0027 Banco de Dados SINF0054 Banco de Dados II

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

Nas últimas décadas, os estudos sobre a fortificação alimentar com ferro no país têm sido conduzidos na tentativa de encontrar uma maneira viável para controle da anemia

O enfermeiro, como integrante da equipe multidisciplinar em saúde, possui respaldo ético legal e técnico cientifico para atuar junto ao paciente portador de feridas, da avaliação

Apothéloz (2003) também aponta concepção semelhante ao afirmar que a anáfora associativa é constituída, em geral, por sintagmas nominais definidos dotados de certa

a) apresentar declaração de próprio punho, com firma reconhecida em Cartório, datada e assinada, na qual informará que não mantém vínculo estatutário com o

[r]

Ali diz que, ao voltar, Jesus permanecerá nos ares enquanto somos levados ao Seu encontro: “Porquanto o Senhor mesmo, dada a Sua palavra de ordem, ouvida a voz do arcanjo, e ressoada