anais do xx congresso brasileiro de automática belo ... · projeção de dois pontos a um...

8
ANÁLISE DE ALGORITMOS DE MAXIMIZAÇÃO DE MARGEM BASEADOS EM GRAFOS DE GABRIEL E FECHO AFIM. PAULO V.C SOUZA, LUIZ C.B. TORRES, ANTÔNIO P. BRAGA, FREDERICO G. F. COELHO PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA - UNIVERSIDADE FEDERAL DE MINAS GERAIS AV. ANTÔNIO CARLOS 6627, 31270-901, BELO HORIZONTE, MG, BRASIL E-MAILS: GOLDENPAUL@INFORMATICA.ESP.UFMG.BR, LUIZLITC@GMAIL.COM, APBRAGA@UFMG.BR, FREDGFC@GMAIL.COM Abstract The present work has the objective to evaluate two methods of pattern classification based on maximum margin of computational geometry, also comparing them with the Support Vector Machine, which is now considered state of the art for it. A way to reduce cyclomatic complexity based on the Gabriel graph algorithm to improve its performance is also presented. The results will show that the methods evaluated had statistically similar accuracy to the results of SVMs, and that reducing the cy- clomatic complexity of the algorithm based on Gabriel Graph reduced computational cost. Keywords Margin maximization, Support Vector Machine, Affine Hulls, Gabriel graph, Computational Geometry, Cyclomat- ic Complexity. Resumo O presente trabalho possui o objetivo de avaliar dois métodos de classificação de padrões de margem máxima basea- dos em geometria computacional, comparando-os também com o Support Vector Machine, que é hoje considerado o estado da arte para o assunto. Também é apresentada uma maneira de diminuir a complexidade ciclomática do algoritmo baseado em gra- fo de Gabriel para melhorar seu desempenho. Os resultados vão mostrar que os métodos avaliados apresentam precisão estatisti- camente similares aos resultados das SVMs, e que a redução da complexidade ciclomática do algoritmo baseado no Grafo de Gabriel reduziu seu custo computacional. Palavras-chave Maximização de margem, Support Vector Machine, Fecho afim, Grafo de Gabriel, Geometria Computacio- nal, Complexidade Ciclomática. 1 Introdução Em um problema de classificação de padrões os modelos são treinados para encontrar a superfície de separação ótima entre as classes do conjunto de da- dos. O paradigma mais conhecido para a solução de problemas de classificação de padrões é o supervisi- onado, onde as instâncias do conjunto de treinamento são rotuladas. Dentre os métodos existentes, os que se baseiam em princípios geométricos tem um apelo mais forte quanto à interpretação visual, o que facilita uma maior compreensão do problema e de sua solu- ção. No entanto eles podem ter um custo computaci- onal elevado em relação a outros. A superfície de separação ótima é aquela que maximiza a margem entre o hiperplano de separação e as classes de dados. As Support Vector Machines (SVM) (Vapnik, 1999) são por natureza modelos de classificadores de margem máxima e são considera- das hoje o estado da arte neste tipo de classificador. No entanto a compreensão de como é maximizada a margem nas SVMs não é tão intuitiva e natural como é nos métodos geométricos que tentam encontrar a superfície de separação geometricamente e muitas vezes diretamente no espaço de entrada. O método classificador geométrico baseado no grafo de Gabriel (Torres, Castro & Braga, 2011) e o método classifi- cador geométrico baseado em fechos afim (Cevikalp et al., 2010) são métodos de máxima margem que podem ser tão precisos quanto o algoritmo das SVMs, no entanto, sua complexidade computacional pode impor perda de eficiência, sobretudo com rela- ção ao tempo de execução. Neste trabalho é feita uma comparação estatísti- ca na análise dos resultados obtidos por estes três métodos, onde os resultados das SVMs são conside- rados como benchmark. Também é proposta uma alteração no algoritmo do classificador baseado no grafo de Gabriel de forma a reduzir sua complexida- de ciclomática e diminuir seu custo computacional. O restante do artigo encontra-se organizado da seguinte forma. A Seção 2 apresenta os conceitos teóricos envolvidos nos algoritmos estudados. Na Seção 3 são descritos a metodologia utilizada para avaliação de funcionamento nos testes realizados, bem como os experimentos utilizados para as avalia- ções e seus respectivos resultados. Na Seção 4, é descrita a modificação proposta para o algoritmo baseado no grafo de Gabriel, a metodologia e concei- tos utilizados para propor as melhorias necessárias, além de experimentos que confirmam a eficiência da mudança. Finalmente, na Seção 5 são apresentadas as conclusões. 2 Revisão Bibliográfica Nesta seção são apresentadas as definições de margem, dos algoritmos e de outros conceitos relaci- onados aos objetivos deste trabalho. 2.1 Margem Seja f: n um valor real de hipótese usado para classificação. Então (Smola et al., 2000): ) ( ) , ( x yf y x f (1) Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014 1246

Upload: dangnga

Post on 17-Nov-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

ANÁLISE DE ALGORITMOS DE MAXIMIZAÇÃO DE MARGEM BASEADOS EM GRAFOS DE GABRIEL E FECHO

AFIM. PAULO V.C SOUZA, LUIZ C.B. TORRES, ANTÔNIO P. BRAGA, FREDERICO G. F. COELHO

PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA - UNIVERSIDADE FEDERAL DE MINAS GERAIS

AV. ANTÔNIO CARLOS 6627, 31270-901, BELO HORIZONTE, MG, BRASIL

E-MAILS: [email protected], [email protected], [email protected], [email protected]

Abstract The present work has the objective to evaluate two methods of pattern classification based on maximum margin of

computational geometry, also comparing them with the Support Vector Machine, which is now considered state of the art for it.

A way to reduce cyclomatic complexity based on the Gabriel graph algorithm to improve its performance is also presented. The

results will show that the methods evaluated had statistically similar accuracy to the results of SVMs, and that reducing the cy-

clomatic complexity of the algorithm based on Gabriel Graph reduced computational cost.

Keywords Margin maximization, Support Vector Machine, Affine Hulls, Gabriel graph, Computational Geometry, Cyclomat-

ic Complexity.

Resumo O presente trabalho possui o objetivo de avaliar dois métodos de classificação de padrões de margem máxima basea-

dos em geometria computacional, comparando-os também com o Support Vector Machine, que é hoje considerado o estado da

arte para o assunto. Também é apresentada uma maneira de diminuir a complexidade ciclomática do algoritmo baseado em gra-

fo de Gabriel para melhorar seu desempenho. Os resultados vão mostrar que os métodos avaliados apresentam precisão estatisti-

camente similares aos resultados das SVMs, e que a redução da complexidade ciclomática do algoritmo baseado no Grafo de

Gabriel reduziu seu custo computacional.

Palavras-chave Maximização de margem, Support Vector Machine, Fecho afim, Grafo de Gabriel, Geometria Computacio-

nal, Complexidade Ciclomática.

1 Introdução

Em um problema de classificação de padrões os

modelos são treinados para encontrar a superfície de

separação ótima entre as classes do conjunto de da-

dos. O paradigma mais conhecido para a solução de

problemas de classificação de padrões é o supervisi-

onado, onde as instâncias do conjunto de treinamento

são rotuladas. Dentre os métodos existentes, os que

se baseiam em princípios geométricos tem um apelo

mais forte quanto à interpretação visual, o que facilita

uma maior compreensão do problema e de sua solu-

ção. No entanto eles podem ter um custo computaci-

onal elevado em relação a outros.

A superfície de separação ótima é aquela que

maximiza a margem entre o hiperplano de separação

e as classes de dados. As Support Vector Machines

(SVM) (Vapnik, 1999) são por natureza modelos de

classificadores de margem máxima e são considera-

das hoje o estado da arte neste tipo de classificador.

No entanto a compreensão de como é maximizada a

margem nas SVMs não é tão intuitiva e natural como

é nos métodos geométricos que tentam encontrar a

superfície de separação geometricamente e muitas

vezes diretamente no espaço de entrada. O método

classificador geométrico baseado no grafo de Gabriel

(Torres, Castro & Braga, 2011) e o método classifi-

cador geométrico baseado em fechos afim (Cevikalp

et al., 2010) são métodos de máxima margem que

podem ser tão precisos quanto o algoritmo das

SVMs, no entanto, sua complexidade computacional

pode impor perda de eficiência, sobretudo com rela-

ção ao tempo de execução.

Neste trabalho é feita uma comparação estatísti-

ca na análise dos resultados obtidos por estes três

métodos, onde os resultados das SVMs são conside-

rados como benchmark. Também é proposta uma

alteração no algoritmo do classificador baseado no

grafo de Gabriel de forma a reduzir sua complexida-

de ciclomática e diminuir seu custo computacional.

O restante do artigo encontra-se organizado da

seguinte forma. A Seção 2 apresenta os conceitos

teóricos envolvidos nos algoritmos estudados. Na

Seção 3 são descritos a metodologia utilizada para

avaliação de funcionamento nos testes realizados,

bem como os experimentos utilizados para as avalia-

ções e seus respectivos resultados. Na Seção 4, é

descrita a modificação proposta para o algoritmo

baseado no grafo de Gabriel, a metodologia e concei-

tos utilizados para propor as melhorias necessárias,

além de experimentos que confirmam a eficiência da

mudança. Finalmente, na Seção 5 são apresentadas as

conclusões.

2 Revisão Bibliográfica

Nesta seção são apresentadas as definições de

margem, dos algoritmos e de outros conceitos relaci-

onados aos objetivos deste trabalho.

2.1 Margem

Seja f: ℝn→ℝ

um valor real de hipótese usado

para classificação. Então (Smola et al., 2000):

)(),( xyfyxf (1)

Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014

1246

Onde X={xiℝ | i=1...N} representa o conjunto de

entrada e Y={yiℝ | i=1...N} descreve o conjunto de

saída e N é o tamanho do conjunto de dados. é a

margem através da qual o padrão x é classificado

corretamente (de modo que um valor negativo de ),( yxf corresponde a uma classificação incorre-

ta). Além disso, considere que:

),(min1

yxfni

f

(2)

é a margem mínima ao longo de toda a amostra, sen-

do determinada pela pior classificação em todo o

conjunto de treinamento (x,y) (Smola et al., 2000).

É desejável obter classificadores que sejam ca-

pazes de encontrar a máxima margem, uma vez que é

esperado que o classificador seja capaz de rotular

corretamente os dados que não foram apresentados a

ele na fase de treinamento (Smola et al, 2000).

2.2 Máquina de Vetor Suporte

A Máquina de Vetor Suporte (SVM) é uma má-

quina de aprendizado linear que se fundamenta nos

princípios da Minimização do Risco Estrutural. A

SVM busca minimizar o erro em relação a um con-

junto de treinamento e apresenta uma boa generaliza-

ção (Vapnik, 1999).

Suponha que exista um hiperplano que poderia

classificar corretamente um conjunto de dados line-

armente separável como mostrado na Figura 1. Isso

significa dizer que os pontos z que se encontram no

hiperplano satisfazem a equação (Zhang & King,

2002):

0bzwT (3)

Onde w é um vetor normal ao hiperplano e é a

norma euclidiana. w

b é a distância perpendicular do

hiperplano até a origem. A Figura 1 exemplifica o

funcionamento da projeção dos pontos no hiperplano.

Figura 1. Projeção de dois pontos a um hiperplano separados

(Lorena & Carvalho, 2007).

As SVMs encontram este hiperplano de separação

otimizando a forma dual da seguinte função objetivo:

ii

T

i

bw

bxwy

aS

w

01)(

.

min2

21

,

(4)

2.3 Grafo de Gabriel

O Grafo de Gabriel é definido como sendo um

subconjunto dos pontos do Diagrama de Voronoi e

um subgrafo de uma triangulação de Delaunay

(Zhang & King, 2002).

Um grafo de Gabriel pode ser definido da seguin-

te forma: para cada par de pontos (pi e pj) no conjun-

to de referência (X, θ), construa uma esfera diametral

indicada por S(pi,pj), isto é, de tal modo que a esfera

(pi,, pj) forma o diâmetro S(pi, pj). Dois pontos são

ditos vizinhos se S(pi, pj) é vazio, ou seja, se há ou-

tros pontos de (X, θ) diferentes de pi e pj na esfera

diametral formada entre pi e pj não existe ligação

entre os dois pontos. A Figura 2 ilustra bem a defini-

ção, pois cria uma aresta entre os pontos A e B e não

cria entre os pontos B e C devido a outro ponto den-

tro da esfera formada entre os pontos analisados

(Bhattacharya, Poulsen & Toussaint, 1981).

Figura 2. Exemplo de funcionamento do grafo de Gabriel. Disponível em

http://cgm.cs.mcgill.ca/~godfried/teaching/projects.pr.98/sergei/project.html.

No trabalho (Torres, Castro & Braga, 2011) foi

proposto um algoritmo de classificação de margem

larga para problemas de duas dimensões utilizando o

grafo de Gabriel. Essa solução é realizada em seis

passos listados a seguir:

1- É realizado um treinamento multiobjetivo da

rede Multilayer Perceptron a partir de um

conjunto de dados T={xi, yi| i = 1...N}, ob-

tendo-se um conjunto PO (Teixeira et al.,

2000).

2- Utilizando todos os padrões de entrada é ge-

rado um grafo de Gabriel, formando o con-

junto de vértices V e o conjunto de arestas

E.

3- Eliminação do ruído, que é quando certo va-

lor de xi possui vértices adjacentes com rótu-

los diferentes de yi, sendo eliminado de V. O

passo é repetido até que não existam mais

ruídos.

4- A borda B das classes é encontrada quando

a aresta (xi,xj), com j≠i são formadas por

vértices de classes diferentes.

Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014

1247

5- Neste passo são calculados os pontos mé-

dios. Que são os pontos medianos entre as

arestas dos pontos pertencentes a B.

6- Encontra a solução que maximiza a margem

de separação. O algoritmo escolhe a solução

wk que pertence ao conjunto de soluções do

conjunto PO (W) mais próximo dos pontos

médios encontrados no passo cinco.

A Figura 3 busca retratar a resolução do algorit-

mo de Gabriel para um grupo de dados, onde a pri-

meira etapa 3 (a) mostra a disposição dos dados, a

segunda, 3(b) evidencia a formação do grafo de Ga-

briel e a terceira 3(c) é o hiperplano de separação

entre as classes:

(a)

(b)

(c)

Figura 3. Resolução do algoritmo Grafo de Gabriel.

2.4 Fecho Convexo e Fecho Afim

Para resolver problemas com classes linearmente

separáveis, soluções baseadas em conceitos da geo-

metria computacional foram desenvolvidas para me-

lhorar o desempenho de algoritmos para encontrar a

máxima margem. Os algoritmos são baseados em

conceitos de fecho convexo e fecho afim (Cevikalp et

al., 2010).

Nesses métodos, cada classe é aproximada com

um fecho afim construído a partir de suas amostras de

treinamento e o rótulo de uma amostra de teste é de-

terminado com base na distância ao fecho afim mais

próximo (Cevikalp et al., 2010).

Um fecho convexo consiste em todos os pontos

que podem ser escritos com uma combinação conve-

xa dos pontos do conjunto original. Uma combinação

convexa de pontos é uma combinação linear de pon-

tos de dados onde todos os coeficientes são não nega-

tivos resumidos a um. Mais formalmente o fecho

convexo de (xi) i .... n pode ser escrito como (Cevikalp

et al., 2010):

.0|1|xx11

i

n

i

ii

n

i

i

convexH

(5)

Esse conceito é utilizado na obtenção da solução

de margem máxima pela SVM. Seguindo uma apro-

ximação encontrada pela Equação (5) em dois fechos

convexos o método SVM encontra os pontos mais

próximos dos dois fechos convexos, ligando-os por

um segmento de reta. O plano ortogonal em relação

ao segmento de reta que corta a linha é selecionado

para ser o hiperplano separador (Cevikalp et al.,

2010). Na Figura 4 encontramos um exemplo de fe-

cho convexo.

Figura 4. Exemplo de fecho convexo.

O conceito de fecho afim foi utilizado para for-

mular um novo algoritmo para encontrar a margem

máxima de dados linearmente separáveis (Cevikalp et

al., 2010).

O fecho afim de uma classe é o menor subespaço

afim que os contenham. Por ser um modelo extrema-

mente solto e sem limites, a modelagem por fecho

afim pode ser uma melhor escolha quando compara-

do com o fecho convexo para grandes dimensões de

dados. Formalmente o fecho afim é definido como

(Cevikalp et al., 2010):

.1|xx11

i

n

i

i

n

i

i

affH

(6)

Onde o fecho afim das amostras (xi)i...n que contém

todos os pontos na forma de

n

i ii x1 com

n

i i11 . Na Figura 5 exemplificamos o fecho

afim.

Figura 5. Exemplo de fecho afim.

Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014

1248

Para encontrar a máxima margem entre dados

linearmente separáveis, foi proposto um algoritmo

que utiliza o fecho afim para resolver o problema

(Cevikalp et al., 2010).

Deve notar-se que a separabilidade linear de pon-

tos de dados não garante necessariamente a separabi-

lidade dos fechos afins correspondentes das classes.

Para os caso linearmente separáveis, é mais conveni-

ente escrever um fecho afim como (Cevikalp et al.,

2010):

{x =Uv μ| v ℝl }. (7)

Onde µ é definido como a média das amostras de

teste e o U é uma base ortogonal para as direções

ocupadas pelo subespaço afim. Numericamente U

pode ser encontrada por uma matriz gerada por SVD

(Singular Value Decomposition) de [x1 − μ, ..., xn −

μ]. É indicado que foram retiradas somente as colu-

nas da Matriz U que são significativamente diferentes

de zero. Após provas e deduções, é confirmado que a

máxima margem é encontrada pela expressão (Ce-

vikalp et al., 2010):

f (x) = < w, x > + b (8)

))(P-I()xx(w 21

-21

(9)

Onde P é a projeção ortogonal sobre o espaço con-

junto da orientação contida nos dois subespaços e I-P

é a projeção correspondente para o complemento

ortogonal dessa amplitude (Cevikalp et al., 2010).

3 Testes realizados

Para verificar o funcionamento dos métodos fo-

ram feitos testes referentes à resolução e obtenção da

resposta de maximização de margem conforme os

três métodos descritos anteriormente. Para a SVM foi

utilizado nesse trabalho um algoritmo que trabalha

com a opção de validação cruzada para encontrar os

parâmetros. Para obtermos padrões consistentes de

verificação de resultados utilizaremos bases de dados

conhecidas em estudos de aprendizado de máquina

disponível no UCI machine learning repository (Ba-

che & Lichman, 2013). As bases escolhidas para a

realização dos testes foram a Iris, representando da-

dos de três tipos de plantas, a base de dados Ionos-

phere, que representa medições de elétrons livres na

ionosfera, a Pima Indian Diabetes (PID) que traz

informações coletadas referentes à presença de sinais

de diabetes em pacientes e por fim a base Wisconsin

Diagnostic Breast Cancer (WDBC), contendo infor-

mações sobre diagnósticos de câncer de mama (Ba-

che & Lichman, 2013). Com uma mesma base de

dados é possível comparar os resultados de cada um

dos três métodos na solução da maximização da mar-

gem, evitando problemas de informações aleatórias

para a obtenção das respostas. Como o objetivo desse

trabalho é avaliar o desempenho dos algoritmos para

a obtenção de máxima margem com dados linearmen-

te separáveis, utilizaremos bases de dados que possu-

em duas classes. Para o caso da base de dados Iris

que originalmente possui três classes, nesse teste foi

manipulada e feita a união entre as classes versicolor

e virginica para juntamente com a classe setosa for-

marem uma estrutura linearmente separável (Bache &

Lichman, 2013).

Nosso objeto de comparação entre os métodos

será a acurácia, que é uma medição entre a compara-

ção de um valor de resposta do algoritmo com um

valor referência de saída dos dados. Juntamente com

a acurácia serão calculados os desvios padrões para

cada um dos testes realizados. Antes das avaliações

do algoritmo, os dados de entrada foram normaliza-

dos com média = 0 e desvio padrão = 1 para execu-

ção dos testes para cada uma das bases avaliadas.

Cada um dos métodos tem uma forma de avaliar a

precisão de seus resultados após a obtenção da má-

xima margem. No método SVM encontramos a acu-

rácia através da comparação da resposta obtida pela

função de classificação dos dados com um vetor y

que possui valores booleanos, determinado pela

comparação dos filtros das classes (Cristianini &

Shawe-Taylor, 2000). Já no método do grafo de Ga-

briel são comparados os resultados do vetor y de

treinamento com um vetor obtido através da resposta

de uma função que recebe a rede formada e os dados

de entrada (Torres, Castro & Braga, 2011). No méto-

do de fecho afim a acurácia é determinada através da

comparação do vetor Y, formado por -1 e 1 que de-

terminam as posições dos dados no subespaço, com a

resposta da iteração entre o vetor X de treinamento. O

valor de w e b são obtidos na função que encontra o

fecho afim que separa a base de dados utilizada no

teste. A resposta deste vetor é uma lista de valores

positivos e negativos para os referidos dados, indi-

cando quantos dados estão em um fecho afim e quan-

tos estão no outro fecho afim calculado (Cevikalp et

al., 2010). Os dados da acurácia (AC) coletada e do

desvio padrão (DV) dos testes são mostrados a seguir

em um quadro onde indicam o seu valor em percen-

tual para cada uma das bases analisadas. A tabela 1

apresenta os resultados dos testes propostos e os va-

lores da acurácia para cada caso estudado.

Tabela 1. Resultado das Medições dos testes com os três algorit-

mos.

Na tabela 1 verificamos que os três algoritmos

avaliados expuseram resultados semelhantes de acu-

rácia e baixos valores de desvio padrão na avaliação

Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014

1249

de cada uma das classes de teste. Na busca de encon-

trar a margem de separação dos dados a Máquina de

Vetor Suporte apresentou melhores resultados de

acurácia na avaliação de duas classes. O algoritmo do

grafo de Gabriel apresentou melhor desempenho nos

testes da classe íris e o fecho afim na classe Ionos-

phere.

Após a coleta dos dados, verificamos que a acu-

rácia dos dois métodos estudados é muito parecida

com o estado da arte para encontrar a maximização

da margem. Para confirmarmos os resultados coleta-

dos aplicaremos testes estatísticos para confirmar

qual método tem melhor acurácia para as bases de

dados utilizadas. O atributo de interesse do estudo

será a acurácia dos métodos na obtenção de maximi-

zação de margem com dados linearmente separáveis

de cada um dos três métodos em cada uma das bases

de dados estudada.

As definições das hipóteses são fundamentais

para o desenvolvimento dos testes e condução das

conclusões corretas para resolvermos a questão alvo

(Montgomery, 1997). Para essa análise definiremos

nossa hipótese nula (H0) que os algoritmos possuem

valores médios de acurácias iguais e nossa hipótese

alternativa (H1) é que os algoritmos têm valores mé-

dios de acurácia diferentes na obtenção da maximiza-

ção de margem. Os estudos serão feitos com um

intervalo de confiança de α = 95%.

Com as informações dos algoritmos coletadas, foi

verificado como as medições das três soluções se

comportavam em um gráfico bloxplot, apresentando

diferenças visuais que nos auxiliam nas conclusões

em aceitar a hipótese nula. Porém para uma maior

confiança estatística foi proposto realizar um teste de

análise de variâncias com os dados disponíveis (teste

aov) (Montgomery, 1997). O resultado do teste trou-

xe a conclusão que devemos aceitar a hipótese nula

(p-value 0.991) de que os algoritmos possuem valo-

res médios de acurácias iguais na obtenção da maxi-

mização de margem para as bases de dados utiliza-

das. De posse do resultado do teste aov, devemos

verificar alguns fatores: se as premissas de testes são

verificadas, quanto às médias dos algoritmos diferem

do algoritmo de referência (SVM) e qual dos dois

algoritmos (grafo de Gabriel ou fecho afim) apresen-

tam melhor acurácia em maximizar a margem. A

Figura 6 apresenta o resultado referente à acurácia

dos algoritmos estudados.

Figura 6. Plot dos dados coletados no teste de acurácia dos algo-

ritmos.

Para verificar as premissas do resultado da análi-

se das variâncias, foram utilizados três testes para

confirmar respectivamente a normalidade, homosce-

dasticidade e independência dos dados (Montgomery,

1997). Para confirmar as condições normais dos da-

dos, utilizamos o teste de Shapiro-Wilk que resultou

na confirmação de normalidade das informações ana-

lisadas. Já no teste de homoscedasticidade que verifi-

ca a igualdade de variâncias dos resíduos (Montgo-

mery, 1997) foi verificada a aceitação da hipótese

nula para o teste de Fligner-Killeen, que nos informa

que as variâncias dos resíduos envolvidos na análise

são iguais. Por fim o teste Durbin-Watson confirmou

que os resíduos possuem independência. A figura 7

apresenta os resultados obtidos pelas validações pro-

postas.

Figura 7. Gráficos de confirmação das premissas dos dados.

Como não aconteceram problemas com os testes

de verificação de premissas, podemos concluir, com

um nível de 95% de confiança, que devemos aceitar a

hipótese nula de que os algoritmos possuem valores

médios de acurácias iguais na obtenção da maximiza-

ção de margem para as bases de dados utilizadas nos

testes.

Sabendo que os valores médios de acurácia são

bem parecidos entre os três algoritmos, vamos reali-

zar comparações das acurácias com o algoritmo de

referência através de comparações múltiplas Post-hoc

Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014

1250

usando o teste de Dunnett (Montgomery, 1997). O

resultado do referido teste segue abaixo conforme o

quadro 1 de informações:

Quadro 1. Comparações post-hoc dos algoritmos estudados.

Após a execução dos testes podemos concluir que

no geral os três algoritmos realmente apresentaram

resultados parecidos para as bases de dados testados

na obtenção de máxima margem e os dois algoritmos

baseados em geometria computacional são um pouco

inferiores ao estado de arte.

Quando comparamos as duas soluções geométri-

cas, os resultados são muito próximos para os casos

estudados, com leve vantagem no desempenho do

algoritmo do grafo de Gabriel.

4 Proposição de melhoria ao algoritmo Grafo de

Gabriel

A utilização de estruturas geométricas para resol-

ver problemas de separação de margem é extrema-

mente eficiente conforme os testes realizados. Os

algoritmos apresentam acurácia bem próxima a do

SVM conforme os testes realizados, porém o tempo

de execução e o esforço computacional são maiores

para realizar a maximização de margem. No algorit-

mo do grafo de Gabriel esse fato acontece devido ao

excesso de funções que realizam as tarefas de percor-

rer todos os dados das classes, para encontrar as in-

formações necessárias para obtenção de margem má-

xima.

A forma como os algoritmos são implementados

e as estruturas utilizadas para sua construção podem

afetar sensivelmente o desempenho das atividades

computacionais.

Por se tratar de uma estrutura eficiente para en-

contrar a máxima margem em problemas linearmente

separáveis, propomos melhorar o algoritmo original

para encontrar o grafo de Gabriel otimizando ações

computacionais do algoritmo, aglutinando tarefas que

podem ser executadas agregando melhor desempenho

ao processo de obtenção da maximização da margem.

No algoritmo do grafo de Gabriel após um trei-

namento multiobjetivo da rede, utilizam-se todos os

padrões de entrada para formar o grafo com seus

conjuntos de vértices e arestas. Então após a estrutura

formada, percorre-se todo o grafo buscando identifi-

car e eliminar os ruídos (dados classificados incorre-

tamente), evitando prejudicar a busca da margem

máxima (Torres, Castro & Braga, 2011). O algorit-

mo original propõe percorrer os dados buscando

formar as ligações com pontos mais próximos. A

ligação entre os pontos é realizada utilizando uma

estrutura de laços de repetição de 1 ate n, onde n é o

tamanho dos dados utilizados, percorrendo as linhas

da matriz formada com o cálculo das distâncias eu-

clidianas entre os pontos envolvidos na formação do

grafo. Dentro do laço de repetição anterior outro laço

é iniciado de 1 até o n dados de entrada utilizados no

exemplo, percorrendo as colunas da matriz de distân-

cias. Após o término dessa etapa, um novo laço de

repetição, que percorre de 1 até m, onde m é o tama-

nho máximo dos dados, é inicializado, obtendo-se os

índices dos dados que estão em situação de ruído

(Torres, Castro & Braga, 2011). A proposta da mu-

dança no algoritmo é unir essas duas etapas fazendo

com que a quantidade de laços de repetição seja me-

nor, melhorando o desempenho computacional do

algoritmo, evitando grande número de repetições

efetuadas nos laços de repetição, mantendo as carac-

terísticas eficientes na remoção dos ruídos. Foi alte-

rada a estrutura de busca e identificação dos ruídos

fazendo com que as ações fossem realizadas em uma

única estrutura de repetição.

A melhora da qualidade do processamento de um

algoritmo através da diminuição dos laços de repeti-

ção pode ser explicada pelo conceito de complexida-

de ciclomática (McCabe, 1976).

A complexidade ciclomática de um algoritmo é a

medida que estima a complexidade lógica de um pro-

grama desenvolvido em alguma linguagem de pro-

gramação. O método que encontra a complexidade

lógica do trecho de código estudado pode ser defini-

do através da seguinte equação (McCabe, 1976):

V(G) = e - n + p (10)

Onde a variável e representa o número de arestas do

grafo, n é o número de nodos ou nós do grafo e p é o

número de componentes ligados (McCabe, 1976).

Esse tipo de métrica verifica a quantidade de ca-

minhos lógicos de um código, formando nodos de um

grafo para cada uma das ações que o algoritmo pos-

sui. Para cada uma das variações utilizadas em estru-

turas como if, else, for, while e case são gerados des-

vios de fluxo no grafo (McCabe, 1976). A base fun-

damental de funcionamento da estrutura ciclomática é

representada na Figura 8.

Tukey multiple comparisons of means 95% family-wise confidence level Fit: aov(formula = Acuracia ~ Algoritmo, data = algoritmos) $Algoritmo diff lwr upr p adj GABRIEL-FECHO 0.000575 -0.0560378 0.0571878 0.9995568 SVM-FECHO 0.002650 -0.0539628 0.0592628 0.9906375 SVM-GABRIEL 0.002075 -0.0545378 0.0586878 0.9942468

Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014

1251

Figura 8. Exemplos de funcionamento da medição da complexi-

dade ciclomática (McCabe, 1976).

Existem alguns plug-ins que são instalados na

IDE para desenvolvimento Java, Eclipse, que forne-

cem a complexidade ciclomática de todos os métodos

envolvidos em um pacote de dados quando esses

estão desenvolvidos na linguagem de programação

Java. Para testarmos a solução foi instalado o plug-in

Metrics, que faz a verificação da complexidade ci-

clomática de métodos em Java. Como o algoritmo

original foi desenvolvido em linguagem Matlab e sua

relação com linguagem como o C, C++ e Java é mui-

to grande, foi possível transcrever o trecho de código

analisado para Java, possibilitando a comparação

ciclomática da solução inicial e do trecho de código

com a melhoria (reduzindo os laços de repetição).

Como resultado obtivemos que o algoritmo inicial

tem como complexidade ciclomática V(G) = (9) e o

algoritmo modificado possui V(G) = (8). Portanto é

comprovado que a modificação proposta de aglutinar

os passos de percorrer e simultaneamente identificar

os ruídos possui menor custo computacional, baseado

na complexidade ciclomática encontrada. A Figura 9

é o resultado mostrado no Eclipse para a análise ci-

clomática das soluções avaliadas.

Figura 9. Visão no Eclipse do Plug-in Metrics dos resultados da complexidade Ciclomática dos métodos originais e alterados.

Na execução dos dois algoritmos, verificamos o

resultado de saída para a mesma base de dados e

concluiu-se que a alteração no código não refletiu na

acurácia do algoritmo grafo de Gabriel. Na Figura 10

podemos verificar tal fato.

(a) (b)

(c)

Figura 10. Comparação dos resultados finais do algoritmo original e o algoritmo de Gabriel modificado onde os dados estão apre-sentados sequencialmente: dados originais (10 (a)), resultado do algoritmo original (10 (b)) e resultado do algoritmo com a melho-ria proposta (10 (c)).

Como comprovamos que a nova solução diminui

a complexidade ciclomática do método, desejamos

provar se as modificações diminuirão o tempo de

execução para realizar as tarefas.

Para testar a solução proposta foi criado um

script de teste que deseja concluir, através da coleta

do tempo de execução de identificação do ruído, se a

melhoria além de melhorar o desempenho computa-

cional, diminuiu o tempo de execução da solução.

Para verificar o tempo real da execução, utilizamos

um notebook marca Qbex, processador Intel®

Atom™ CPU N455 @1.66GHz 1.67GHz, memória

RAM de 2.00 GB, o software Matlab 2013 e alguns

cuidados foram tomados para que fatores externos

não interferissem na execução das tarefas: desativar

todos os softwares concorrentes de processamento

como atualizações de antivírus, atualização de nave-

gadores da internet, etc. No código foram inseridas

estruturas que coletam o início e o término do tempo

da execução, sendo exibida no console a duração

total da ação. O script faz a chamada das duas fun-

ções no mesmo código, pois desejamos avaliar as

condições do tempo de execução do software utili-

zando dados com as mesmas características. Para

evitar tendências nas medições que poderiam ser ge-

radas pela inicialização das variáveis, o script foi

acrescentado de uma chamada da função original que

deveria ser desconsiderada para critério de coleta dos

dados.

Para verificar o tempo médio de execução dos

dois algoritmos executamos o script 12 vezes e cole-

tamos as 12 medições de tempo de execução de cada

um dos algoritmos. Para efetuarmos as conclusões

acerca dos tempos coletados, realizaremos um teste

estatístico para verificar se o tempo de execução da

solução proposta apresenta tempo inferior à solução

atual do grafo de Gabriel.

Antes de efetuar os testes definiremos para o refe-

rido caso que nossa hipótese nula é que os algoritmos

possuem tempos iguais de execução e como hipótese

alternativa que os tempos de execução dos algoritmos

são diferentes.

De posse dos dados realizamos os mesmos testes

para a resolução da acurácia dos algoritmos: Análise

de variância, Shapiro-Wilk, Fligner-Killeen e Dur-

bin-Watson e obtivemos como respostas para nossos

testes estatísticos: que devemos aceitar a hipótese

Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014

1252

nula de que os algoritmos possuem tempos iguais de

execução. Todas as premissas foram validadas e a

possibilidade de se aceitar a hipótese nula é aceitável.

Na Figura 11 podemos visualizar a comparação entre

os tempos de execução.

Figura 11. Gráficos dos resultados de análise estatística realizada

com os tempos de execução dos algoritmos.

Como a mudança não interferiu na eficiência do

método em resolver problemas de eliminar ruídos

manteve um tempo médio igual ao algoritmo original

e conseguimos diminuir a complexidade ciclomática

do método, podemos concluir que a mudança melho-

ra o desempenho computacional do algoritmo.

5 Conclusão

Verificamos que as soluções baseadas em geome-

tria computacional são excelentes em encontrar a

máxima margem para dados linearmente separáveis,

apresentando comportamentos parecidos com o esta-

do da arte, o Support Vector Machine. Os métodos

que apresentam apelo geométrico, portanto são fa-

cilmente compreendidos e até mesmo visualizados.

Existem, para o grafo de Gabriel e o fecho afim,

classificadores de margem larga para dados não sepa-

ráveis ou para multiclasses apresentando bom resul-

tado e o custo computacional justificável.

Verificamos que para as situações mais simples

que foram estudadas nesse trabalho os métodos geo-

métricos apresentam desempenho computacional e

tempo relativamente maior ao estado da arte. A me-

lhoria proposta no código diminuiu a complexidade

ciclomática e manteve o tempo de execução, confor-

me comprovação estatística demonstrada.

Outros estudos para melhorar as técnicas dos

algoritmos baseados na geometria computacional,

mantendo sua eficiência em encontrar a margem, mas

diminuir o tempo de execução pode ser proposto em

futuros trabalhos.

Agradecimentos

O presente trabalho foi realizado com o apoio finan-

ceiro do CNPq e da CAPES - Brasil.

Referências Bibliográficas

Bache, K., & Lichman, M. (2013). UCI machine

learning repository. Irvine, CA: University of

California, School of Information and Computer

Science.

Bhattacharya, B. K., Poulsen, R. S., & Toussaint, G.

T. (1981). Application of proximity graphs to

editing nearest neighbor decision rule.

In International Symposium on Information

Theory, Santa Monica.

Cevikalp, H., Triggs, B., Yavuz, H. S., Küçük, Y.,

Küçük, M., & Barkana, A. (2010). Large margin

classifiers based on affine

hulls. Neurocomputing,73(16), 3160-3168.

Cristianini, N., and Shawe-Taylor, J. (2000). An

Introduction to Support Vector Machines and

Other Kernel-based Learning Methods, First

Edition (Cambridge: Cambridge University

Press). http://www.support-vector.net/.

Lorena, A. C., & de Carvalho, A. C. (2007). Uma

introdução às support vector machines. Revista

de Informática Teórica e Aplicada, 14(2), 43-67.

McCabe, T. J. (1976). A complexity measure.

Software Engineering, IEEE Transactions on,

(4), 308-320.

Montgomery, D. C., & Montgomery, D. C.

(1997). Design and analysis of experiments.

New York: Wiley., 5th ed. - Capítulo 3.

Smola, A., Bartlett, P., Schölkopf, B., &

Schuurmans, D. (2000). Introduction to large

margin classifiers.

Teixeira, R. A., Braga, A. P., Takahashi, R. H., &

Saldanha, R. R. (2000). Improving

generalization of MLPs with multi-objective

optimization. Neurocomputing, 35(1), 189-194.

Torres, L. C. B. ; Castro, C.L. ; Braga, A. P. .

Estratégia de Decisão Baseada em Margem para

o Aprendizado Multiobjetivo de Redes Neurais.

In: X Congresso Brasileiro de Inteligência

Computacional, 2011, Fortaleza. CBIC, 2011.

Vapnik, V.N.; The Nature of Statistical Learning

Theory. USA: Springer, 2nd ed., 1999.

Zhang, W., & King, I. (2002). A study of the

relationship between support vector machine and

Gabriel graph. In Neural Networks, 2002.

IJCNN'02. Proceedings of the 2002

International Joint Conference on (Vol. 1, pp.

239-244). IEEE.

Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014

1253