Introduo
As Mquinas de Vetores de Suporte (SVMs, do Ingls Support Vector Machines) constituem uma tcnica de aprendizado que vem recebendo crescente ateno da comunidade de
Aprendizado de Mquina (AM) [27]. Os resultados da aplicao dessa tcnica so comparveis e muitas vezes superiores aos obtidos por outros algoritmos de aprendizado, como
as Redes Neurais Artificiais (RNAs) [4, 14]. Exemplos de aplicaes de sucesso podem ser
encontrados em diversos domnios, como na categorizao de textos [19], na anlise de imagens [20, 33] e em Bioinformtica [30, 34].
As SVMs so embasadas pela teoria de aprendizado estatstico, desenvolvida por Vapnik [41] a partir de estudos iniciados em [43]. Essa teoria estabelece uma srie de princpios
que devem ser seguidos na obteno de classificadores com boa generalizao, definida como
a sua capacidade de prever corretamente a classe de novos dados do mesmo domnio em que
o aprendizado ocorreu.
1 Centro
de Matemtica, Computao e Cognio, Universidade Federal do ABC, Rua Catequese, 242, CEP 09090400, Santo Andr, SP
ana.lorena@ufabc.edu.br
2 Departamento de Cincias de Computao, Instituto de Cincias Matemticas e de Computao, Universidade de
So Paulo, Caixa Postal 668, CEP 13560-970, So Carlos, SP
andre@icmc.usp.br
44
45
46
Na imagem da Figura 2a, tem-se uma hiptese que classifica corretamente todos os
exemplos do conjunto de treinamento, incluindo dois possveis rudos. Por ser muito especfica para o conjunto de treinamento, essa funo apresenta elevada sucetibilidade a cometer
erros quando confrontada com novos dados. Esse caso representa a ocorrncia de um superajustamento do modelo aos dados de treinamento.
Um outro classificador poderia desconsiderar pontos pertencentes a classes opostas
que estejam muito prximos entre si. A ilustrao da Figura 2c representa essa alternativa.
A nova hiptese considerada, porm, comete muitos erros, mesmo para casos que podem ser
considerados simples. Tem-se assim a ocorrncia de um sub-ajustamento, pois o classificador
no capaz de se ajustar mesmo aos exemplos de treinamento.
Um meio termo entre as duas funes descritas representado na Figura 2b. Esse
preditor tem complexidade intermediria e classifica corretamente grande parte dos dados,
sem se fixar demasiadamente em qualquer ponto individual.
A Teoria de Aprendizado Estatstico (TAE) estabelece condies matemticas que
auxiliam na escolha de um classificador particular f a partir de um conjunto de dados de
treinamento. Essas condies levam em conta o desempenho do classificador no conjunto
de treinamento e a sua complexidade, com o objetivo de obter um bom desempenho tambm
para novos dados do mesmo domnio.
3.1
47
nimize o erro sobre esses dados e espera-se que esse procedimento leve tambm a um menor
erro sobre os dados de teste [38]. O risco emprico de f , fornecido pela Equao 2, mede
o desempenho do classificador nos dados de treinamento, por meio da taxa de classificaes
incorretas obtidas em T [28].
n
Remp (f ) =
1X
c(f (xi ) , yi )
n i=1
(2)
Esse processo de induo com base nos dados de treinamento conhecidos constitui o
princpio de minimizao do risco emprico [38]. Assintoticamente, com n , possvel estabelecer condies para o algoritmo de aprendizado que garantam a obteno de
classificadores cujos valores de risco emprico convergem para o risco esperado [28]. Para
conjuntos de dados menores, porm, geralmente no possvel determinar esse tipo de garantia. Embora a minimizao do risco emprico possa levar a um menor risco esperado, nem
sempre isso ocorre. Considere, por exemplo, um classificador que memoriza todos os dados
de treinamento e gera classificaes aleatrias para outros exemplos [37]. Embora seu risco
emprico seja nulo, seu risco esperado 0,5.
A noo expressa nesses argumentos a de que, permitindo que f seja escolhida a
partir de um conjunto de funes amplo F , sempre possvel encontrar uma f com pequeno
risco emprico. Porm, nesse caso os exemplos de treinamento podem se tornar pouco informativos para a tarefa de aprendizado, pois o classificador induzido pode se super-ajustar
a eles. Deve-se ento restringir a classe de funes da qual f extrada. Existem diversas
abordagens para tal. A TAE lida com essa questo considerando a complexidade (tambm
referenciada por capacidade) da classe de funes que o algoritmo de aprendizado capaz de
obter [38]. Nessa direo, a TAE prov diversos limites no risco esperado de uma funo de
classificao, os quais podem ser empregados na escolha do classificador. A prxima seo
relaciona alguns dos principais limites sobre os quais as SVMs se baseiam.
3.2
Um limite importante fornecido pela TAE relaciona o risco esperado de uma funo
ao seu risco emprico e a um termo de capacidade. Esse limite, apresentado na Equao 3,
garantido com probabilidade 1 , em que [0, 1] [5].
R (f ) 6 Remp (f ) +
v
u
u h ln 2n/ + 1 ln /
t
h
4
n
(3)
48
funes F qual f pertence, n representa a quantidade de exemplos no conjunto de treinamento T e a parcela de raiz na soma referenciada como termo de capacidade.
A dimenso VC h mede a capacidade do conjunto de funes F [5]. Quanto maior o
seu valor, mais complexas so as funes de classificao que podem ser induzidas a partir
de F . Dado um problema de classificao binrio, essa dimenso definida como o nmero
mximo de exemplos que podem ser particionados em duas classes pelas funes contidas
em F , para todas as possveis combinaes binrias desses dados.
Para ilustrar esse conceito, considere os trs dados apresentados na Figura 3 [38].
Pode-se verificar que, para qualquer conformao arbitrria dos rtulos crculo e tringulo que esses dados possam assumir, possvel determinar retas capazes de separ-los.
Porm, para os quatro pontos em <2 ilustrados na Figura 4, existem rtulos para os dados
que podem ser separados por uma reta (Figura 4a), mas tambm possvel definir rtulos
tal que uma s reta seja incapaz de realizar a separao em classes (Figura 4b) [14]. Para
uma diviso binria arbitrria desses quatro pontos em <2 , deve-se ento recorrer a funes
de complexidade superior das retas. Essa observao se aplica a quaisquer quatro pontos
no espao bidimensional. Portanto, a dimenso VC do conjunto de funes lineares no espao bidimensional 3, uma vez que existe (pelo menos) uma configurao de trs pontos
nesse espao que pode ser particionada por retas em todas as 23 = 8 combinaes binrias
de rtulos.
49
A medida que k cresce, o risco emprico de f k diminui, uma vez que a complexidade do
conjunto de classificadores maior. Porm, o termo de capacidade aumenta com k. Como
resultado, deve haver um valor timo k em que se obtm uma soma mnima do risco emprico
e do termo de capacidade, minimizando assim o limite sobre o risco esperado. A escolha da
_
50
(4)
51
R (f ) =
1X
I (yi f (xi ) < )
n i=1
(5)
c
n
R2
log2
2
n
1
+ log
(6)
SVMs Lineares
As SVMs surgiram pelo emprego direto dos resultados fornecidos pela TAE. Nesta
seo apresentado o uso de SVMs na obteno de fronteiras lineares para a separao de
dados pertencentes a duas classes. A primeira formulao, mais simples, lida com problemas
linearmente separveis, definidos adiante [3]. Essa formulao foi posteriormente estendida
52
para definir fronteiras lineares sobre conjuntos de dados mais gerais [10]. A partir desses
conceitos iniciais, na Seo 5 descreve-se a obteno de fronteiras no lineares com SVMs,
por meio de uma extenso das SVMs lineares.
4.1
As SVMs lineares com margens rgidas definem fronteiras lineares a partir de dados
linearmente separveis. Seja T um conjunto de treinamento com n dados xi X e seus
respectivos rtulos yi Y, em que X constitui o espao dos dados e Y = {1, +1}. T
linearmente separvel se possvel separar os dados das classes +1 e 1 por um hiperplano
[38].
Classificadores que separam os dados por meio de um hiperplano so denominados
lineares [6]. A equao de um hiperplano apresentada na Equao 7, em que w x o
b
produto escalar entre os vetores w e x, w X o vetor normal ao hiperplano descrito e kwk
corresponde distncia do hiperplano em relao origem, com b <.
f (x) = w x + b = 0
(7)
+1 se w x + b > 0
1 se w x + b < 0
(8)
(9)
w xi + b > +1 se yi = +1
w xi + b 6 1 se yi = 1
(10)
yi (w xi + b) 1 > 0, (xi , yi ) T
(11)
53
(x1 x2 )
w
kwk kx1 x2 k
(12)
(13)
(14)
54
1
a distncia mnima entre o hiperplano separador e os dados de treinamento. Essa
e H2 , kwk
distncia definida como a margem geomtrica do classificador linear [6].
1
2
kwk
2
(15)
(16)
L (w, b, ) =
n
X
1
2
i (yi (w xi + b) 1)
kwk
2
i=1
(17)
L
=0
w
(18)
i yi = 0
(19)
i=1
w=
n
X
i yi xi
(20)
i=1
55
Maximizar
n
X
i=1
Com as restries:
n
1 X
i j yi yj (xi xj )
2 i,j=1
i > 0, i = 1, . . . , n
n
P
i yi = 0
(21)
(22)
i=1
Essa formulao denominada forma dual, enquanto o problema original referenciado como forma primal. A forma dual possui os atrativos de apresentar restries mais
simples e permitir a representao do problema de otimizao em termos de produtos internos
entre dados, o que ser til na posterior no-linearizao das SVMs (Seo 5). interessante
observar tambm que o problema dual formulado utilizando apenas os dados de treinamento
e os seus rtulos.
Seja a soluo do problema dual e w e b as solues da forma primal. Obtido o
valor de , w pode ser determinado pela Equao 20. O parmetro b definido por
e por condies de Khn-Tucker, provenientes da teoria de otimizao com restries e que
devem ser satisfeitas no ponto timo. Para o problema dual formulado, tem-se [33]:
i (yi (w xi + b ) 1) = 0, i = 1, . . . , n
(23)
Observa-se nessa equao que i pode ser diferente de 0 somente para os dados que se
encontram sobre os hiperplanos H1 e H2 . Estes so os exemplos que se situam mais prximos
ao hiperplano separador, exatamente sobre as margens. Para os outros casos, a condio
apresentada na Equao 23 obedecida apenas com i = 0. Esses pontos no participam
ento do clculo de w (Equao 20). Os dados que possuem i > 0 so denominados
vetores de suporte (SVs, do Ingls Support Vectors) e podem ser considerados os dados mais
informativos do conjunto de treinamento, pois somente eles participam na determinao da
equao do hiperplano separador (Equao 26) [5].
O valor de b calculado a partir dos SVs e das condies representadas na Equao
23 [38]. Computa-se a mdia apresentada na Equao 24 sobre todos xj tal que j > 0, ou
seja, todos os SVs. Nessa equao, nSV denota o nmero de SVs e SV representa o conjunto
dos SVs.
b =
1 X 1
w xj
nSV
yj
(24)
xj SV
56
xj SV
X
1
i yi xi xj
yj
!
(25)
xi SV
Como resultado final, tem-se o classificador g(x) apresentado na Equao 26, em que
sgn representa a funo sinal, w fornecido pela Equao 20 e b pela Equao 25.
!
g (x) = sgn (f (x)) = sgn
yi i xi
x+b
(26)
xi SV
Esta funo linear representa o hiperplano que separa os dados com maior margem,
considerado aquele com melhor capacidade de generalizao de acordo com a TAE. Essa
caracterstica difere as SVMs lineares de margens rgidas das Redes Neurais Perceptron, em
que o hiperplano obtido na separao dos dados pode no corresponder ao de maior margem
de separao.
4.2
Em situaes reais, difcil encontrar aplicaes cujos dados sejam linearmente separveis. Isso se deve a diversos fatores, entre eles a presena de rudos e outliers nos dados
ou prpria natureza do problema, que pode ser no linear. Nesta seo as SVMs lineares
de margens rgidas so estendidas para lidar com conjuntos de treinamento mais gerais. Para
realizar essa tarefa, permite-se que alguns dados possam violar a restrio da Equao 16.
Isso feito com a introduo de variveis de folga i , para todo i = 1, . . . , n [37]. Essas
variveis relaxam as restries impostas ao problema de otimizao primal, que se tornam
[38]:
yi (w xi + b) > 1 i , i > 0, i = 1, . . . , n
(27)
57
considerao esse termo, minimizando assim o erro sobre os dados de treinamento, a funo
objetivo da Equao 15 reformulada como [5]:
1
2
kwk + C
Minimizar
2
w,b,
n
X
!
i
(28)
i=1
uma minimizao de erros marginais, pois um valor de i (0, 1] indica um dado entre as
margens. Tem-se ento uma formulao de acordo com os princpios da TAE discutidos na
Seo 3.
Novamente o problema de otimizao gerado quadrtico, com as restries lineares
apresentadas na Equao 27. A sua soluo envolve passos matemticos semelhantes aos
apresentados anteriormente, com a introduo de uma funo Lagrangiana e tornando suas
derivadas parciais nulas. Tem-se como resultado o seguinte problema dual:
Maximizar
n
X
i=1
Com as restries:
n
1 X
i j yi yj (xi xj )
2 i,j=1
0 6 i 6 C, i = 1, . . . , n
n
P
i yi = 0
(29)
(30)
i=1
Pode-se observar que essa formulao igual apresentada para as SVMs de margens
rgidas, a no ser pela restrio nos i , que agora so limitados pelo valor de C.
Seja a soluo do problema dual, enquanto w , b e denotam as solues da
forma primal. O vetor w continua sendo determinado pela Equao 20. As variveis i
podem ser calculadas pela Equao 31 [11].
X
i = max 0, 1 yi
yj j xj xi + b
(31)
j=1
58
i (yi (w xi + b ) 1 + i ) = 0
(32)
(C i ) i = 0
(33)
Como nas SVMs de margens rgidas, os pontos xi para os quais i > 0 so denominados vetores de suporte (SVs), sendo os dados que participam da formao do hiperplano
separador. Porm, neste caso, pode-se distinguir tipos distintos de SVs [33]. Se i < C,
pela Equao 33, i = 0 e ento, da Equao 32, estes SVs encontram-se sobre as margens
e tambm so denominados livres. Os SVs para os quais i = C podem representar trs
casos [33]: erros, se i > 1; pontos corretamente classificados, porm entre as margens, se
0 < i 6 1; ou pontos sobre as margens, se i = 0. O ltimo caso ocorre raramente e os SVs
anteriores so denominados limitados. Na Figura 7 so ilustrados os possveis tipos de SVs.
Pontos na cor cinza representam SVs livres. SVs limitados so ilustrados em preto. Pontos
pretos com bordas extras correspondem a SVs limitados que so erros de treinamento. Todos
os outros dados, em branco, so corretamente classificados e encontram-se fora das margens,
possuindo i = 0 e i = 0.
Figura 7. Tipos de SVs: livres (cor cinza) e limitados (cor preta) [31]
Para calcular b , computa-se a mdia da Equao 24 sobre todos SVs xj entre as
margens, ou seja, com i < C [38].
Tem-se como resultado final a mesma funo de classificao representada na Equao
26, porm neste caso as variveis i so determinadas pela soluo da Expresso 29 com as
restries da Equao 30.
59
SVMs No Lineares
As SVMs lineares so eficazes na classificao de conjuntos de dados linearmente separveis ou que possuam uma distribuio aproximadamente linear, sendo que a verso de
margens suaves tolera a presena de alguns rudos e outliers. Porm, h muitos casos em
que no possvel dividir satisfatoriamente os dados de treinamento por um hiperplano. Um
exemplo apresentado na Figura 8a, em que o uso de uma fronteira curva seria mais adequada
na separao das classes.
Figura 8. (a) Conjunto de dados no linear; (b) Fronteira no linear no espao de entradas; (c)
Fronteira linear no espao de caractersticas [28]
60
(34)
(35)
Maximizar
n
X
i=1
n
1 X
i j yi yj ((xi ) (xj ))
2 i,j=1
(36)
i yi (xi ) (x) + b
(37)
xi SV
b =
1
nSV: <C
X
xj SV :
j <C
!
X
1
i yi (xi ) (xj )
yj
(38)
xi SV
Como = pode ter dimenso muito alta (at mesmo infinita), a computao de pode
ser extremamente custosa ou invivel. Porm, percebe-se pelas equaes 36, 37 e 38 que a
nica informao necessria sobre o mapeamento de como realizar o clculo de produtos
61
escalares entre os dados no espao de caractersticas, pois tem-se sempre (xi ) (xj ), para
dois dados xi e xj , em conjunto. Isso obtido com o uso de funes denominadas Kernels.
Um Kernel K uma funo que recebe dois pontos xi e xj do espao de entradas e
computa o produto escalar desses dados no espao de caractersticas [16]. Tem-se ento:
(39)
2
K (xi , xj ) = x21i , 2 x1i x2i , x22i x21j , 2 x1j x2j , x22j = (xi xj )
(40)
Funo K(xi , xj )
( (xi xj ) + )d
exp kxi xj k2
tanh ( (xi xj ) + )
Parmetros
, e d
62
Consideraes Finais
Neste texto foram descritos os conceitos bsicos a respeito das SVMs para problemas
de classificao, os quais tambm podem ser consultados em [21, 22]. Com princpios embasados na teoria de aprendizado estatstico, essa tcnica de AM se caracteriza por apresentar
uma boa capacidade de generalizao.
As SVMs tambm so robustas diante de dados de grande dimenso, sobre os quais
outras tcnicas de aprendizado comumente obtm classificadores super ou sub ajustados.
Outra caracterstica atrativa a convexidade do problema de otimizao formulado em seu
treinamento, que implica na existncia de um nico mnimo global. Essa uma vantagem das
SVMs sobre, por exemplo, as Redes Neurais Artificiais (RNAs) Perceptron Multicamadas
(Multilayer Perceptron) [4, 14], em que h mnimos locais na funo objetivo minimizada. Alm disso, o uso de funes Kernel na no-linearizao das SVMs torna o algoritmo
eficiente, pois permite a construo de simples hiperplanos em um espao de alta dimenso
de forma tratvel do ponto de vista computacional [5].
Entre as principais limitaes das SVMs encontram-se a sua sensibilidade a escolhas
de valores de parmetros e a dificuldade de interpretao do modelo gerado por essa tcnica,
problemas que tm sido abordados em diversos trabalhos recentes, como [9, 12, 32, 18, 24,
40] e [13, 7, 44], respectivamente.
Observou-se no decorrer deste tutorial que o raciocnio empregado pelas SVMs na
obteno do classificador final leva a um problema de otimizao dual em termos dos dados
de treinamento. Porm, a forma de soluo desse problema no foi apresentada. Existem
diversos pacotes matemticos capazes de solucionar problemas quadrticos com restries.
Contudo, eles geralmente no so adequados a aplicaes de AM, que em geral se caracterizam pela necessidade de lidar com um grande volume de dados. Diversas tcnicas e estratgias foram ento propostas para adaptar a soluo do problema de otimizao das SVMs a
aplicaes de larga escala. Em geral, recorre-se a alguma estratgia decomposicional, em
que subproblemas menores so otimizados a cada passo do algoritmo. Uma discusso mais
detalhada a respeito dos mtodos e algoritmos comumente empregados nesse processo pode
ser encontrada em [11].
O presente artigo tambm se limitou a apresentar a formulao original das SVMs,
a qual capaz de lidar apenas com problemas de classificao binrios. Existe uma srie
de tcnicas que podem ser empregadas na generalizao das SVMs para a soluo de problemas multiclasses. Pode-se recorrer decomposio do problema multiclasses em vrios
subproblemas binrios ou reformular o algoritmo de treinamento das SVMs em verses multiclasses. Em geral, esse ltimo procedimento leva a algoritmos computacionalmente custosos [17]. Por esse motivo, a estratgia decomposicional empregada mais frequentemente.
Revises a respeito da obteno de previses multiclasses com SVMs podem ser consultadas
63
Agradecimentos
FAPESP e ao CNPq pelo apoio financeiro.
Referncias
[1] J. A. Baranauskas and M. C. Monard. Reviewing some machine learning concepts and
methods. Technical Report 102, Instituto de Cincias Matemticas e de Computao,
Universidade de So Paulo, So Carlos. Disponvel em: ftp://ftp.icmc.usp.
br/pub/BIBLIOTECA/rel_tec/RT_102.ps.zip, Fevereiro 2000.
[2] A. Ben-Hur, D. Horn, H. T. Siegelmann, and V. N. Vapnik. A support vector clustering method. In Proceedings of the International Conference on Pattern Recognition
(ICPR00), volume 2, pages 724727, 2000.
[3] B. E. Boser, I. L. Guyon, and V. N. Vapnik. A training algorithm for optimal margin
classifiers. In Proceedings of the 5th Annual Workshop on Computational Learning
Theory, pages 144152, Pittsburg, Pennsylvania, US, 1992.
[4] A. Braga, A. C. P. L. F. Carvalho, and T. B. Ludermir. Redes Neurais Artificiais: Teoria
e Aplicaes. Editora LTC, 2000.
[5] C. J. C. Burges. A tutorial on support vector machines for pattern recognition. Knowledge Discovery and Data Mining, 2(2):143, 1998.
[6] C. Campbell. An introduction to kernel methods. In R. J. Howlett and L. C. Jain,
editors, Radial Basis Function Networks: Design and Applications, pages 155192,
Berlin, 2000. Springer Verlag.
[7] J. L. Castro, L. D. Flores-Hidalgo, C. J. Mantas, and J. M. Puche. Extraction of fuzzy
rules from support vector machines. Fuzzy Sets and Systems archive, 158(18):2057
2077, 2007.
[8] C.-C. Chang and C.-J. Lin. LIBSVM: a library for support vector machines.
Disponvel em: http://www.csie.ntu.edu.tw/~cjlin/libsvm/. Acessado em: 09/2003, 2004.
64
65
66
67