Escolar Documentos
Profissional Documentos
Cultura Documentos
Abstract
Esse trabalho consiste em uma introduc
ao a Support Vector Machines (SVM) na sua aplicacao em classificac
ao bin
aria de dados. Uma descric
ao das ideias fundamentais do C-SVM e feita. A formulacao dual e
R
apresentada, assim como o uso de kernels. Em seguida e mostrada uma implementacao feita no MatLab
do C-SVM, utilizando um conjunto de dados forjados para a demonstracao do seu funcionamento.
Keywords: SVM
1. Introdu
c
ao
Na
area de aprendizado de m
aquinas, Support
Vector Machines (SVM) e, atualmente, um dos
mais populares metodos para aprendizado supervisionado. Sua vers
ao original, para classificao
bin
aria de dados, foi desenvolvida por Vapnik e
Cortes [1] e e baseada na teoria do aprendizado
estatstico (TAE) criada pelo mesmo autor. Apos
isso, diversas outras vers
oes de SVM tem sido elaboradas com vista a suportar dados organizados de
maneira n
ao linear e uma maior quantidade de classes. Com isso, podemos destacar dois tipos principais de SVMs: SVM para classificac
ao, quando
as classes existentes no conjunto s
ao discretizaveis;
SMV para regress
ao, quando as classes apresentamse de forma contnua, h
a poucas caractersticas distinguveis entre os dados e as classes n
ao sao discretiz
aveis [2]. Este artigo aborda somente as SVM
para classificac
ao, mais especificamente para a classificac
ao bin
aria com o uso do C-SVM.
O SVM consiste basicamente na formulacao e
soluc
ao de um problema de minimizac
ao quadratica
para se encontrar os par
ametros de uma funcao
classificadora que melhor separe os dados de um
conjunto. Apesar de j
a existirem algoritmos eficientes para programac
ao quadr
atica, o chamado
Sequential Minimal Optimization (SMO) foi desen-
volvido por Platt [3] para SVM e possui melhor desempenho para essa tecnica. A implementacao mais
utilizada e a LIBSVM, desenvolvida por Chang e
Lin [4]. Os livros de Bishop [5] e de Hastie [2]
fornecem uma abordagem compreenssiva sobre o
tema. Uma introducao pode ser encontrada nas
notas de aula de Andrew Ng [6] e um sumario das
nesses trabalhos que
formulacoes basicas em [7]. E
este se baseia.
2. Classifica
c
ao Bin
aria
O problema de classificacao binaria consiste treinar uma maquina para que ela possa classificar dados em duas classes. Sejam esses dados denotados
por xi Rn , i = 1, ..., l e suas respectivas classes
por yi {1, 1}. Entao o objetivo e achar uma
funcao f (x) = y tal que y = y.
2.1. Dados Linearmente Separ
aveis
Considere-se o caso com n = 2 em que os dados sao linearmente separaveis, como na Figura 1.
Nela ve-se dois grupos de pontos (azuis y = 1
e vermelhos y = 1) que podem ser separados por
varias retas diferentes. Sabe-se que a equacao de
uma reta e dada por r(x) = hw, xi + b = 0, onde
w Rn e um vetor de coeficientes. Tem-se que para
xi:y=1 , r(x) > 0 e para xi:y=1 , r(x) < 0. Ent
ao
f (x) = sign(r(x)) e um classificador binario. A
questao torna-se escolher entao a melhor reta separatoria, ou seja, o melhor (w, b). Para o caso geral
onde n > 2, tem-se no lugar da reta um hiperplano,
sendo a equacao a mesma.
29 de agosto de 2013
Intui-se facilmente que o melhor hyperplano separador e aquele cuja margem (dist
ancia mnima
entre o hiperplano e os dados) e a maior, como na
Figura 2. Tem-se ent
ao a seguinte formulacao do
problema:
max = min i
,w,b
w L = 0 w =
i=1,...,l
(1)
(5)
X
L
=0
i yi = 0
b
i=1
Esse n
ao e um problema convexo, o que implica em
dificuldades para a soluc
ao numerica. Entretanto,
pode-se mostrar que a formulac
ao:
L = 0 C = i + ri , i = 1..., l
(6)
(7)
(2)
min
1 XX
yi yj i j hxi , xi i
2 i=1 j=1
sujeito a 0 i C, i = 1, ..., l
l
X
(8)
i yi = 0
j=1
2.2. Dados N
ao Linearmente Separ
aveis
No caso mais geral e realista, o conjunto de
dados pode n
ao ser linearmente separ
avel, como
na Figura 3. Usando-se a Regularizac
ao L1, ou
seja, adimitindo-se que alguns pontos sejam erroneamente (erro i ) classificados e impondo-se uma penalizac
ao (Ci ) quando isso acontecer, o problema
pode ser reformulado para:
X
1
min
kwk2 + C
i
w,b, 2
i=1
i yi xi
i=1
kwk = 1
1
min kwk2
w,b 2
sujeito a yi (hw, xi i + b) 1, i = 1, ..., l
l
X
(3)
(9)
3. Formula
c
ao Dual
Dessa forma, sendo s = |S|, o hiperplano e dado
por:
w=
1
kwk2 +
2
l
X
{Ci i [yi (hw, xi i + b) 1] ri i }
b=
(4)
s
X
m ym xm
m=0
s
X
s
X
1
(yn
m ym hxm , xn i)
s n=0
m=0
(10)
(11)
i=1
1 Soft-Margin
4. O Truque do Kernel
5. Utiliza
c
ao
min
1 >
H e>
2
sujeito a > y = 0
min
0 i C, i = 1, ..., l
onde H e uma matriz de elementos Hi,j = yi yj ki,j
e e e um vetor de uns.
b=
1 XX
yi yj i j ki,j
2 i=1 j=1
sujeito a 0 i C, i = 1, ..., l
l
X
(13)
s
s
X
1X
(yn
m ym km,n )
s n=0
m=0
(14)
i yi = 0
s
X
n yn kn,new + b)
(15)
n=0
j=1
5.1. Procedimento B
asico
Ora, a func
ao K pode ser calculada sem quer seja
necess
ario realizar explicitamente o mapeamento, o
que representa grande vantagem. Com efeito, se
p >> n, realiz
a-lo explicitamente seria computacionalmente custoso, impossvel no caso de p = .
Note-se que agora que S pertence ao espaco de dimens
ao aumentada, assim como w. Assim, em geral, w n
ao e c
alculado explicitamente. Para o uso
da func
ao classificadora, guarda-se apenas os elementos de S e n
ao de todos os dados de treinamento.
Pode-se sobrecarregar a definic
ao de K para corresponder `
a matriz formada pelos ki,j . Chama-se
K de (matriz/func
ao de) kernel. O criterio para
que K seja um kernel v
alido e dado pelo Teorema
de Mercer: K e um kernel v
alido sse K > 0.
As func
oes de kernel mais b
asicas s
ao:
todos os par
ametros geram um kernel v
alido.
de escolha de par
ametros, pode-se usar apenas um
subconjunto do conjunto de teste. Uma das metodologias para isso e o cross-validation.
Ap
os algumas tentativas e escolha dos melhores par
ametros, o SVM e treinado com o conjunto
de treinamento inteiro e depois avaliado no conjunto de teste. Note-se que o fator do mapeamento
dos dados para o intevalo [1, 1] e determinado
pelo conjunto de treinamento, devendo o mesmo
ser utilizado para o redimensionamento dos dados
de teste.
5.2. Demonstrac
ao do Funcionamento
Para uma demonstrac
ao do funcionamento do CR
SVM, foi elaborado um problema no Matlab
.
O conjunto de dados utilizado foi construdo
usando-se duas distribuic
oes normais de dados, uma
para cada classe: uma classe centrada num raio
r = 2 e a outra em r = 4, e com desvios padroes
iguais, de forma que idealmente, a separac
ao ocorreria no raio intermedi
ario r = 3.
Os dados foram redimensionados e um C-SVM
com kernel RBF foi treinado. A Figura 4 mostra
o conjunto de treinamento j
a redimensionado e a
superfcie de separac
ao obtida. Note-se que de fato
ela aproxima-se do raio intermeri
ario (considerado
o redimensionamento).
O conjunto de treinamento e composto por 2000
pontos. O SVM obtido tem 144 vetores de suporte,
ou seja, apenas 144 pontos contribuem com um alfa
diferente de zero3 para a definic
ao da superfcie de
separac
ao, como esperado.
O conjunto de teste possui 500 pontos. Com o
SVM treinado foi obtido uma taxa de acerto de 98A
Figura 5 mostra o conjunto de teste com a classificac
ao dada pelo SVM treinado. Os pontos cuja
classificac
ao foi errada est
ao destacados em verde.
7. Exemplos de Aplica
c
ao
Desde que comecou a ser desenvolvida, a tecnica
de aprendizado de maquina Support Vector Machine tem sido utilizada em diversas areas que necessitam de operacoes de classificacao e regress
ao
sobre um determinado conjunto de dados. As areas
de medicina e biologia ate ciencias economicas e sociais sao algumas das principais em que se recorre
a essa ferramenta para obtencao de resultados.
Nesta secao sao citados alguns trabalhos envolvendo SVM, bem como suas estrategias de utilizacao para a solucao de problemas complexos envolvendo separacao de dados.
7.1. Areas
Econ
omicas
Apos recentes crises financeiras envolvendo
principalmente problemas com financiamento de
credito, essa area de pesquisa tem ganhado a
atencao dos principais especialistas em economia.
A utilizacao de ferramentas de classificacao tem
sido muito apropriada para a resolucao de problemas nessa area.
Pode-se destacar, por exemplo, o trabalho de
Want et. al. [13] em que, atraves de metodos
de classificacao de SVM sobre bases de dados
bancarios, determina-se se um cliente e bom pagador ou nao. Nesse caso e interessante notar que
o metodo utilizado para a classificacao e uma variacao do SVM classico, chamado Fuzzy SMV, em
6. State-of-the-Art
V
arias quest
oes s
ao alvo de pesquisas atualmente.
A maior parte foca em novas maneiras de formular o SVM para atender a diversos tipos de situac
oes. Por exemplo, o ASVM e uma variacao do
C-SVM onde os pesos dos erros s
ao diferentes para
cada classe. Para problemas multi-classe ainda ha
quest
oes abertas e [8] apresenta uma comparacao
dos principais metodos estudados.
3 No contexto de computa
c
ao num
erica aqui subentendido, diferente de zero quer dizer menor que um pequeno.
tas incorretamente, alem de fazer uma breve comparacao com outros tipos de SVM e kernels para a
resolucao do mesmo problema.
Em Wang et. al. [17] o Support Vector Machine e
utilizado para ensinarum robo bpede a se deslocar de maneira mais precisa, otimizando o consumo
de energia. Para atingir tal objetivo, os autores utilizam SVM de regressao assistida, onde formas de
caminhar tem custos calculados e a partir desses
custos se constroi uma funcao de aprendizado capaz de determinar a maneira menos custosa para
se realizar um movimento. O artigo destaca ainda
comparacoes entre o metodo SVM e metodos de
controle classico como PID e controle Fuzzy para
resolver o mesmo problema.
No geral, ha atualmente, diversas outras areas
que utilizam algoritmos baseados em SVM para
resolucao de problemas envolvendo classificacao e
agrupamento de dados. As vantagens do SVM sobre outras tecnicas sao relativas principalmente `
a
natureza dos dados, que em alguns casos se comportam melhor sob a otica de outros metodos de
aprendizado. Mas e evidente que, no geral, o Support Vector Machine se comporta, em termos de
desempenho, de maneira mais eficiente que a maioria dos outros metodos.
7.2. Areas
Biol
ogicas e Medicas
Assim como em diversas outras
areas, a necessidade de agrupamento de dados para se determinar
certas caractersticas levou profissionais das areas
medicas e biol
ogicas a desenvolver diversas pesquisas na
area de aprendizado de m
aquina, que muitas
vezes culminaram com a utilizac
ao de SVM para a
classificac
ao dos dados.
o caso do trabalho desenvolvido por KaratsoiE
olis et. al. [15], onde atraves da an
alise de dados
sobre a incidencia de diabetes em ndios da etnia
Pima, nos EUA, deveria-se definir as caractersticas
determinantes para a formac
ao da doenca nos indivduos dessa etnia. O autor procura realizar uma
serie de comparac
oes entre os metodos de classificac
ao convencionais (RN, Redes RBF) e o SVM,
demonstrando o porque da utilizac
ao desse metodo
em relac
ao aos demais.
8. Conclus
oes
Diversos trabalhos envolvendo princpios de classificacao e regressao no processo de aprendizado
de maquina tem abordado estrategias que utilizam
Maquinas de Vetores de Suporte (SVM). Esses trabalhos enfatizam principalmente fatores acerca da
nao linearidade dos dados, muito comuns nos problemas de classificacao n-aria. De fato, a utilizac
ao
de estrategias puramente probabilsticas para a resolucao de problemas complexos tem resultados
bem interessantes, principalmente quando comparadas com metodos classicos de aprendizado de
maquina, como RN. Embora, em parte, soluc
oes
puramente estatsticas sejam, teoricamente, mais
robustas, por apresentarem condicoes de resoluc
ao
mais esclarecidasdo ponto de vista computacional, existem certas situacoes, muito comuns em ambientes reais, onde as complexidades de calculo envolvendo princpios antes computacionalmente simples tornam-se extremamente densas, pois geralmente o grau de nao linearidade dos dados e tal
que os processos de transformacao dimensional realizado por ferramentas de separacao (no caso,
os kernels) acabam trabalhando com milhares de
dimens
oes, chegando a um ponto computacionalmente insol
uvel, tamanha a complexidade dos dados.
Por outro lado, a utilizac
ao de SVM e Kernels
mais precisos, permite uma boa resposta para os
processos classificat
orios mais complexos, embora
isso ainda dependa muito da natureza organizacional dos dados. Desta forma, e possvel afirmar
que algoritmos classificat
orios n
ao-determinsticos
como o C-SVM, se comportam de forma mais eficiente do que metodos tradicionais de classificacao
probabilstica e l
ogica. RN, por exemplo, se comportam muitas vezes como SVM, porem sua complexidade e diretamente proporcional a densidade e
a forma como os dados est
ao organizados em seu estado natural, o que as torna muito suscetveis a instabilidades operacionais. Os mesmos problemas podem tambem ser encontrados em sistemas SVM, no
entanto, com a utilizac
ao de kernels que permitam
uma n
ao linearidade maior nos dados, e possvel facilmente contornar o problema. Isso torna as Support Vector Machines ideais para a resolucao de
problemas envolvendo dados emaranhados de difcil
resoluc
ao do ponto de vista classificat
orio, como reconhecimento de voz, imagem tridimensional, entre
outras.
[8]
[9]
[10]
[11]
[12]
[13]
[14]
Refer
encias
[1] C. Cortes, V. Vapnik, Support-vector networks, Machine Learning 20 (1995) 273297.
URL http://link.springer.com/article/10.1023%
2FA%3A1022627411411
[2] T. Hastie, R. Tibshirani, J. Friedman, The Elements
of Statistical Learning: Data Mining, Inference, and
Prediction, Springer series in statistics, Springer-Verlag
New York, 2009.
URL
http://books.google.com.br/books?id=
tVIjmNS3Ob8C
[3] J. Platt, Sequential minimal optimization: A fast
algorithm for training support vector machines, Tech.
rep., Microsoft Research (1998).
URL
http://research.microsoft.com/en-us/um/
people/jplatt/smoTR.pdf
[4] C.-C. Chang, C.-J. Lin, LIBSVM: A library for support
vector machines, ACM Transactions on Intelligent Systems and Technology 2 (2011) 27:127:27.
URL http://www.csie.ntu.edu.tw/~{}cjlin/libsvm
[5] C. Bishop, Pattern Recognition and Machine Learning,
Information Science and Statistics, Springer, 2006.
URL
http://books.google.com.br/books?id=
kTNoQgAACAAJ
[6] A. Ng, CS229 Lecture Notes: Part V - Support Vector
Machines (2009).
URL
http://cs229.stanford.edu/notes/
cs229-notes3.pdf
[7] T. Fletcher, Support Vector Machines Explained
(2009).
[15]
[16]
[17]
URL
http://www.tristanfletcher.co.uk/SVM%
20Explained.pdf
C.-W. Hsu, C.-J. Lin, A comparison of methods for
multi-class support vector machines (2002).
URL
http://citeseerx.ist.psu.edu/viewdoc/
summary?doi=10.1.1.19.4258
M. Chi, L. Bruzzone, A novel transductive svm for
semisupervised classification of remote sensing images
(2005).
URL http://dx.doi.org/10.1117/12.628862
T.-N. Do, V.-H. Nguyen, F. Poulet, Speed up svm
algorithm for massive classification tasks, in: C. Tang,
C. Ling, X. Zhou, N. Cercone, X. Li (Eds.), Advanced
Data Mining and Applications, Vol. 5139 of Lecture
Notes in Computer Science, Springer Berlin Heidelberg,
2008, pp. 147157.
URL
http://dx.doi.org/10.1007/
978-3-540-88192-6_15
O. L. Mangasarian, D. R. Musicant, Successive overrelaxation for support vector machines, IEEE Transactions
on Neural Networks 10 (1998) 10321037.
S.-H. Wu, K.-P. Lin, H.-H. Chien, C.-M. Chen, M.-S.
Chen, On generalizable low false-positive learning using
asymmetric support vector machines, IEEE Trans. on
Knowl. and Data Eng. 25 (5) (2013) 10831096.
URL http://dx.doi.org/10.1109/TKDE.2012.46
Y. Wang, S. Wang, K. K. Lai, A new fuzzy support vector machine to evaluate credit risk, IEEE Transactions
on Fuzzy Systems 13 (6).
URL http://ieeexplore.ieee.org/stamp/stamp.jsp?
arnumber=1556587
V. G. Gevert, A. C. L. da Silva, F. Gevert, V. T.
Ales, Logistic regression models, neural networks and
support vector machine in the credit analysis corporate
entities, Revista Ci
encias Exatas e Naturais 12 (2).
URL
http://revistas.unicentro.br/index.php/
RECEN/article/view/1089/1309
S. Karatsiolis, C. N. Schizas, Region based support vector machine algorithm for medical diagnosis on pima
indian diabetes dataset, IEEE 12th International Conference on Bioinformatics & Bioengineering.
URL http://ieeexplore.ieee.org/stamp/stamp.jsp?
arnumber=6399663
Y. Zhu, Y. Zhang, Application research on condition
monitoring of power-shift steering transmission with hypersphere support vector machine, 8th World Congress
on Intelligent Control and Automation.
URL http://ieeexplore.ieee.org/stamp/stamp.jsp?
arnumber=5554322
L. Wang, Z. Liu, C. L. P. Chen, Y. Zhang, S. Lee,
X. Chen, Energy-Efficient SVM Learning Control System for Biped Walking Robots, IEEE Transactions on
Neural Networks and Learning Systems 24 (5).
URL http://ieeexplore.ieee.org/stamp/stamp.jsp?
arnumber=6461130
y = 1
0.8
r(x) = 0
0.6
0.4
x2
0.2
0.2
0.4
0.6
y=1
0.8
1
1
0.5
0
x1
0.5
0.8
hw, xi + b = 0
0.6
0.4
x2
0.2
0.2
0.4
0.6
2
0.8
1
1
0.5
0.5
x1
0.8
0.6
0.4
x2
0.2
0.2
0.4
0.6
0.8
1
1
0.5
0
x1
0.5
0.8
0.6
0.4
x2
0.2
0.2
0.4
0.6
0.8
1
1
0.5
0
x
0.5
0.8
0.6
0.4
x2
0.2
0.2
0.4
0.6
0.8
1
0.5
0.5
Figura 5: Avaliac
ao de um conjunto de teste. Os pontos marcados em verde foram err
oneamente classificados.