Vous êtes sur la page 1sur 162

Classificao de dados estacionrios e no

estacionrios baseada em grafos


Joo Roberto Bertini Junior

SERVIO DE PS-GRADUAO DO ICMC-USP

Data de Depsito:
Assinatura:________________________
______

Classificao de dados estacionrios e no estacionrios


baseada em grafos

Joo Roberto Bertini Junior

Orientador: Prof. Dr. Zhao Liang

Tese apresentada ao Instituto de Cincias Matemticas e de


Computao - ICMC-USP, como parte dos requisitos para
obteno do ttulo de Doutor em Cincias - Cincias de
Computao e Matemtica Computacional.

USP So Carlos
Novembro de 2010

Agradecimentos

A Deus;
Aos meus pais Joo Roberto Bertini e Luzia Monzani Bertini por todo o amor e
incentivo ao longo de todos esses anos;
minha namorada Rafaela, pelo carinho, apoio e compreeno.
Ao meu orientador e amigo Zhao Liang, pela dedicao, pelos ensinamentos e pelo
trabalho desenvolvido;
Ao professor Alneu Lopes pelas vrias ideias e pela ajuda no desenvolvimento deste
trabalho;
CAPES pelo apoio nanceiro.

ii

Resumo

Mtodos baseados em grafos consistem em uma poderosa forma de representao e abstrao de dados que proporcionam, dentre outras vantagens, representar relaes topolgicas, visualizar estruturas, representar grupos de dados com formatos distintos, bem como,
fornecer medidas alternativas para caracterizar os dados. Esse tipo de abordagem tem
sido cada vez mais considerada para solucionar problemas de aprendizado de mquina,
principalmente no aprendizado no supervisionado, como agrupamento de dados, e mais
recentemente, no aprendizado semissupervisionado. No aprendizado supervisionado, por
outro lado, o uso de algoritmos baseados em grafos ainda tem sido pouco explorado na
literatura. Este trabalho apresenta um algoritmo no paramtrico baseado em grafos
para problemas de classicao com distribuio estacionria, bem como sua extenso
para problemas que apresentam distribuio no estacionria. O algoritmo desenvolvido
baseia-se em dois conceitos, a saber, 1) em uma estrutura chamada grafo K-associado
timo, que representa o conjunto de treinamento como um grafo esparso e dividido em
componentes; e 2) na medida de pureza de cada componente, que utiliza a estrutura do
grafo para determinar o nvel de mistura local dos dados em relao s suas classes. O
trabalho tambm considera problemas de classicao que apresentam alterao na distribuio de novos dados. Este problema caracteriza a mudana de conceito e degrada o
desempenho do classicador. De modo que, para manter bom desempenho, necessrio
que o classicador continue aprendendo durante a fase de aplicao, por exemplo, por meio
de aprendizado incremental. Resultados experimentais sugerem que ambas as abordagens
apresentam vantagens na classicao de dados em relao aos algoritmos testados.

iii

iv

Abstract

Graph-based methods consist in a powerful form for data representation and abstraction which provides, among others advantages, representing topological relations, visualizing structures, representing groups of data with distinct formats, as well as, supplying
alternative measures to characterize data. Such approach has been each time more considered to solve machine learning related problems, mainly concerning unsupervised learning,
like clustering, and recently, semi-supervised learning. However, graph-based solutions for
supervised learning tasks still remain underexplored in literature. This work presents a
non-parametric graph-based algorithm suitable for classication problems with stationary
distribution, as well as its extension to cope with problems of non-stationary distributed
data. The developed algorithm relies on the following concepts, 1) a graph structure called
optimal K -associated graph, which represents the training set as a sparse graph separated
into components; and 2) the purity measure for each component, which uses the graph
structure to determine local data mixture level in relation to their classes. This work
also considers classication problems that exhibit modication on distribution of data
ow. This problem qualies concept drift and worsens any static classier performance.
Hence, in order to maintain accuracy performance, it is necessary for the classier to
keep learning during application phase, for example, by implementing incremental learning. Experimental results, concerning both algorithms, suggest that they had presented
advantages over the tested algorithms on data classication tasks.

vi

Sumrio

Resumo

iii

Abstract

Sumrio

vii

Lista de Figuras

ix

Lista de Tabelas

xi

Lista de Algoritmos

xiii

1 Introduo

1.1 Objetivos e motivaes . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.2 Organizao do trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2 Reviso de conceitos e trabalhos relacionados

2.1 Reviso de conceitos da teoria dos grafos . . . . . . . . . . . . . . . . . . .

2.2 Aprendizado de mquina baseado em grafos . . . . . . . . . . . . . . . . . 11


2.2.1

Formao do grafo a partir de um conjunto de dados . . . . . . . . 12

2.2.2

Aprendizado no supervisionado baseado em grafos . . . . . . . . . 13

2.2.3

Aprendizado semissupervisionado baseado em grafos

2.2.4

Aprendizado supervisionado baseado em grafos . . . . . . . . . . . 21

. . . . . . . . 17

2.3 Classicao de dados com distribuio estacionria . . . . . . . . . . . . . 22


2.3.1

Classicao multiclasse e comits . . . . . . . . . . . . . . . . . . . 24

2.3.2

Seleo de modelos . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

2.3.3

Algoritmos de aprendizado estticos . . . . . . . . . . . . . . . . . . 30

2.4 Classicao de dados com distribuio no estacionria . . . . . . . . . . 41


2.4.1

Aprendizado incremental . . . . . . . . . . . . . . . . . . . . . . . . 44

2.4.2

Algoritmos de aprendizado incrementais . . . . . . . . . . . . . . . 46


vii

viii

SUMRIO

3 Classicao de dados baseado no grafo K -associado timo


3.1 O grafo K -associado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.1 A medida de pureza . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.2 O grafo K -associado timo . . . . . . . . . . . . . . . . . . . . . . .
3.2 Classicao no paramtrica baseada no grafo K -associado timo . . . . .
3.2.1 Descrio do mtodo de classicao proposto . . . . . . . . . . . .
3.2.2 Exemplo de classicao . . . . . . . . . . . . . . . . . . . . . . . .
3.2.3 Superfcie de deciso . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3 Complexidade computacional . . . . . . . . . . . . . . . . . . . . . . . . .
3.4 Exemplos ilustrativos e resultados experimentais . . . . . . . . . . . . . . .
3.4.1 Construindo o grafo timo: um exemplo ilustrativo . . . . . . . . .
3.4.2 Comparaes entre o grafo K -associado e o grafo K -associado timo
3.4.3 Resultados comparativos e anlise estatstica . . . . . . . . . . . . .

55
56
59
60
63
64
66
69
70
73
73
75
78

4 Classicao incremental usando o grafo K -associado timo


4.1 O mtodo incremental para dados com distribuio no estacionria . . . .
4.2 Complexidade computacional . . . . . . . . . . . . . . . . . . . . . . . . .
4.3 Classicao incremental vs. esttica em dados com mudana de conceitos
4.4 Anlise de parmetros para o algoritmo KAOGINC . . . . . . . . . . . . .
4.5 Resultados experimentais . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5.1 Conceito SEA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5.2 Hiperplano mvel . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5.3 Crculos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5.4 Seno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5.5 Gaussianas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5.6 Misto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5.7 Preo de energia eltrica . . . . . . . . . . . . . . . . . . . . . . . .
4.5.8 Classicao de mo no jogo de pquer . . . . . . . . . . . . . . . .
4.5.9 Filtro de Spam . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5.10 Deteco de intrusos em redes de computadores . . . . . . . . . . .
4.5.11 Anlise estatstica . . . . . . . . . . . . . . . . . . . . . . . . . . . .

85
86
92
93
98
105
106
108
110
111
113
114
115
117
118
119
121

5 Concluses
125
5.1 Principais concluses e contribuies do trabalho . . . . . . . . . . . . . . 127
5.2 Sugestes para pesquisas futuras . . . . . . . . . . . . . . . . . . . . . . . . 128
Referncias Bibliogrcas

131

Lista de Figuras

2.1

Exemplos de criao de grafos a partir de dados . . . . . . . . . . . . . . 13

2.2

Agrupamentos de dados com formatos diferentes . . . . . . . . . . . . . . 14

2.3

Etapas usadas no agrupamento de dados por mtodos baseados em grafos 15

2.4

Esquema geral de classicao usando um comit de classicadores. . . . 25

2.5

Exemplo de diviso de conjuntos para validao cruzada de k-conjuntos. . 30

2.6

Superfcies de deciso para o mtodo KNN . . . . . . . . . . . . . . . . . 34

2.7

Exemplo de correo de erro realizado pelo Backpropagation. . . . . . . . 39

2.8

Tipos de mudana de conceito . . . . . . . . . . . . . . . . . . . . . . . . 43

3.1

Diferenas no padro de conexo entre vrtices . . . . . . . . . . . . . . . 57

3.2

Exemplos do clculo da pureza . . . . . . . . . . . . . . . . . . . . . . . . 59

3.3

Exemplo de classicao do algoritmo KAOG . . . . . . . . . . . . . . . 67

3.4

Superfcies de deciso para os algoritmos KAOG e K NN . . . . . . . . . 69

3.5

Tempo de execuo para constuo do grafo timo . . . . . . . . . . . . . 72

3.6

Exemplo da formo do grafo timo . . . . . . . . . . . . . . . . . . . . . 74

3.7

Distribuies Gaussianas com diferentes nveis de sobreposio. . . . . . . 76

3.8

Medidas resultantes da variao da mistura de classes em vrios grafos . . 77

4.1

Esquema de processamento de uxo de dados pelo algortimo KAOGINC

4.2

Domnio articial que simula mudana de conceito gradual . . . . . . . . 94

4.3

Desempenho dos algoritmos KAOG e KAOGINC no domnio da Fig. 4.2

4.4

Comparaes entre os algoritmos KAOG e KAOGINC no domnio SEA . 97

4.5

Mdia do erro para diferentes valores do parmetro . . . . . . . . . . . 99

4.6

Comparao de desempenho entre modelos do classicador KAOGINC

4.7

Taxas de erros para diferentes modelos do algoritmo KAOGINC . . . . . 102

4.8

Nmero de componentes para diferentes modelos do algoritmo KAOGINC 104

4.9

Relao entre nmero de componentes e de vrtices no grafo principal . . 105

4.10

Comparaes entre os algoritmos incrementais no domnio SEA . . . . . . 107

4.11

Comparaes entre os algoritmos incrementais no domnio Hiperplano . . 109

4.12

Comparaes entre os algoritmos incrementais no domnio Crculos . . . . 111


ix

87
95

. 101

LISTA DE FIGURAS

4.13
4.14
4.15
4.16
4.17
4.18
4.19

Comparaes
Comparaes
Comparaes
Comparaes
Comparaes
Comparaes
Comparaes

entre
entre
entre
entre
entre
entre
entre

os
os
os
os
os
os
os

algoritmos
algoritmos
algoritmos
algoritmos
algoritmos
algoritmos
algoritmos

incrementais
incrementais
incrementais
incrementais
incrementais
incrementais
incrementais

no
no
no
na
na
na
na

domnio Seno . . .
domnio Gaussianas
domnio Misto . . .
base Elec2 . . . . .
base Poker Hand . .
base Spam . . . . .
base KDD99 . . . .

.
.
.
.
.
.
.

.
.
.
.
.
.
.

112
113
115
116
118
119
120

Lista de Tabelas

3.1
3.2
3.3

Especicaes dos domnios de dados utilizados. . . . . . . . . . . . . . . 79


Parmetros resultantes da seleo de modelo . . . . . . . . . . . . . . . . 80
Resultados da comparao entre os algoritmos estticos . . . . . . . . . . 82

4.1

Mdia de acertos para os domnios no estacionrios . . . . . . . . . . . . 122

xi

xii

LISTA DE TABELAS

Lista de Algoritmos

2.1
2.2
2.3
2.4
3.1
3.2
3.3
4.1
4.2

Algoritmo SEA . . . . . . . . . . . . . . . . . . . . . . . . . . .
Algoritmo DWM . . . . . . . . . . . . . . . . . . . . . . . . . .
Algoritmo WCEA . . . . . . . . . . . . . . . . . . . . . . . . . .
Algoritmo OnlineTree2 . . . . . . . . . . . . . . . . . . . . . . .
Algoritmo para a construo de um grafo K -associado (Kac) . .
Algoritmo da construo do grafo K -associado timo (KAOG) .
Algoritmo do processo de classicao - classicador esttico . .
Classicador incremental KAOGINC . . . . . . . . . . . . . . .
Algoritmo do processo de classicao - classicador incremental

xiii

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

47
49
51
52
58
61
65
88
90

xiv

LISTA DE ALGORITMOS

Captulo

1
Introduo

O aprendizado de mquina compreende o desenvolvimento de algoritmos que permitem


que computadores aprendam a partir de dados empricos. Abordagens frequentes incluem
os aprendizados supervisionado, semissupervisionado e no supervisionado, diferenciandose com relao presena de rtulos nos dados, que os distinguem entre diferentes classes
(Mitchell, 1997), (Duda et al., 2001), (Han e Kamber, 2006). Quando um conjunto de
instncias de dados1 apresenta uma classe associada, um algoritmo de aprendizado supervisionado pode ser usado para inferir, com base nesse conjunto, uma funo com o
objetivo de predizer a classe de novos dados. Neste contexto, diferenciam-se problemas de
classicao e de regresso, no primeiro caso os valores das classes pertencem a um intervalo nito de valores discretos (Hastie et al., 2009); no segundo caso, os rtulos assumem
valores em um intervalo contnuo (Cogger, 2010). Um cenrio oposto ao que se aplica
o aprendizado supervisionado o que apresenta total abstinncia de classes no conjunto
de dados. Neste caso, dito no supervisionado, a tarefa mais comum tentar agrupar os
dados segundo alguma relao de similaridade, com o objetivo de extrair alguma informao til do conjunto de dados. Este tipo de tarefa chama-se agrupamento de dados
(Jain et al., 1999), e aplicada a dados onde no h informaes sobre classe. Outro
tipo de tarefa que no depende da informao de classe a reduo de dimensionalidade
(Belkin e Niyogi, 2003) e, por essa razo, tambm classica-se como no supervisionada.
Uma abordagem intermediria, aplicvel a conjuntos de dados que dispem de dados rotulados e no rotulados, o aprendizado semissupervisionado. Neste tipo de aprendizado o
objetivo aprender a partir de dados rotulados e no rotulados (Zhu, 2008). De maneira
geral, o aprendizado semissupervisionado dividido em duas abordagens, classicao
semissupervisionada cujo objetivo atribuir classe a dados no rotulados, sejam os j
existentes ou dados ainda no vistos (Chapelle et al., 2006); e o agrupamento de dados
1

Neste trabalho instncia e exemplo de dados so usadas indistintamente.

INTRODUO

semissupervisionado, no qual o objetivo agrupar os dados, mas obedecendo algumas restries que impedem que determinados exemplos estejam no mesmo grupo ou vice-versa
(Kulis et al., 2009).
De fato, frente aos problemas inerentes ao aprendizado de mquina, diversas abordagens de pesquisa tm sido propostas. Nos ltimos anos, solues baseadas em grafos (ou
redes2 ) tm inspirado muitas pesquisas na rea de aprendizado de mquina e minerao
de dados. Este crescente interesse pode ser justicado devido a algumas vantagens quando
algum tipo de conhecimento representado por meio de grafos. Mtodos baseados em
grafos so capazes de (i) capturar a estrutura topolgica de um conjunto de dados; (ii)
permitem representao hierrquica, ou seja, um grafo pode ser particionado em subgrafos
que, por sua vez, pode ser divido em subgrafos ainda menores e assim por diante; (iii)
permitem a deteco de agrupamentos ou classes com formas arbitrrias (Karypis et al.,
1999), (Schaeer, 2007); (iv) possibilitam combinar estruturas locais e estatsticas globais
de um conjunto de dados (Hein et al., 2007), (Strogatz, 2001).
Talvez a rea de pesquisa mais ativa no que diz respeito ao uso de algoritmos baseados
em grafos em aprendizado de mquina seja o aprendizado no supervisionado, principalmente agrupamento de dados. De acordo com Schaeer (2007), a tarefa de encontrar bons
agrupamentos de dados utilizando grafos pode ser realizada por meio de duas abordagens,
utilizar relaes de similaridade entre vrtices ou otimizar alguma funo, particionando
o grafo. No primeiro caso, calcula-se algum valor para cada vrtice e os agrupamentos so formados por meio da comparao desses valores, de forma que, quanto maior a
semelhana entre dois vrtices, maior a chance de serem agrupados. Ou seja, neste tipo
de mtodo tenta-se, com o auxlio do grafo, produzir grupos que no s estejam bem
conectados, mas inclua instncias similares possivelmente de regies esparsas. Relaes
de similaridade (Wong e Yao, 1992), adjacncia (Capoccia et al., 2005) e conectividade
(Hartuv e Shamir, 2000) so comumente usados neste tipo de abordagem. No segundo
caso, usa-se alguma funo que quantica a qualidade de um grupo de dados ou de uma
partio. De posse de um grafo que representa os dados, a ideia diretamente encontrar os grupos de modo a satisfazer algum critrio estabelecido. Exemplos comuns de
tais critrios so medidas de densidade aplicadas a subgrafos (Hu et al., 2005), e medidas
baseadas em corte de arestas (Kannan et al., 2004). Recentemente a tarefa de agrupamento de dados, especialmente de grandes bases de dados, tem sido beneciada pela teoria
das redes complexas. Denida como redes que possuem topologia no trivial (vistas como
grafo de grande escala), essas redes podem ser compostas por milhares ou at bilhes de
vrtices (Albert e Barabsi, 2002), (Newman, 2003), (Dorogovtsev e Mendes, 2003). No
domnio das redes complexas, agrupamento de dados pode ser visto como um problema de
deteco de comunidades, no qual o objetivo identicar grupos de vrtices densamente
conectados, denominados comunidades (Newman e Girvan, 2004).
Mtodos de deteco de comunidades, bem como outros mtodos de agrupamento de
2

Os termos grafo e rede tm o mesmo signicado e, portanto, so intercambiveis.

3
dados que usam grafos, baseiam-se na separao de grupos de vrtices fracamente conectados para revelar as parties. Uma vez que as superfcies de deciso devem encontrar-se em
meio a vrtices conectados de maneira esparsa. Ainda no que se refere a mtodos baseados
em grafos, se algumas das instncias apresentam rtulos de classe, alm de revelar os agrupamentos de dados por meio da separao dos grupos por conexes esparsas, necessrio
espalhar os rtulos das instncias rotuladas para as no rotuladas. Portanto, mtodos
semissupervisionados tambm supem que os rtulos esto distribudos de maneira suave
entre os vrtices, ou seja, se dois vrtices, pertencentes a um agrupamento densamente
conectado, so prximos, ento tambm devem ser suas sadas (classes). Estas suposies
permitem a distribuio dos rtulos em regies densamente conectadas e a separao de
classes em regies de conexo esparsa (Chapelle et al., 2006). Como j mencionado, o objetivo na classicao semissupervisionada atribuir rtulos s instncias no rotuladas,
sendo que esta pode ser dividida em dois tipos de aplicao, a saber, transduo e induo.
Mtodos que pertencem ao primeiro caso so chamados mtodos transdutivos, bem como
os pertencem ao segundo caso so chamados mtodos indutivos (Culp e Michailidis, 2008).
Para esclarecer as diferenas entre as categorias considere o cenrio no qual um conjunto
de dados apresenta apenas uma parte das instncias rotuladas. No aprendizado transdutivo o objetivo propagar os rtulos das instncias rotuladas para as demais. Neste tipo
de aprendizado a preocupao classicar os dados j existentes, ou seja, no supe a
apresentao de novos dados. J no aprendizado indutivo, considerando o mesmo cenrio,
a prioridade aprender utilizando todos os dados disponveis, rotulados e no rotulados,
com o objetivo de induzir um classicador capaz de classicar novos dados de entrada.
De acordo com Zhu (2008) os mtodos semissupervisionados baseados em grafos, so
por natureza, transdutivos. Uma vez que o grafo formado conectando-se vrtices que
representam dados rotulados e no rotulados, a tarefa de espalhar os rtulos facilitada
pela estrutura do grafo. De fato, isso explica porque a tarefa de transduo compreende
a maioria dos algoritmos baseados em grafos propostos na literatura, (Belkin e Niyogi,
2004), (Zhou e Schlkopf, 2004). A tarefa de induo tambm tem sido explorada, geralmente por meio de alguma alterao em um algoritmo transdutivo (Zhu e Laerty, 2005),
(Chen et al., 2009a). De fato, Delalleau et al. (2005) propuzeram um mtodo geral para
realizar induo atravs de um algoritmo transdutivo. No entanto, mtodos semissupervisionados pressupem a existncia de dados no rotulados, e utilizam o grafo como uma
maneira de ajustar os dados a uma estrutura capaz de revelar certas propriedades. De
modo que, quando todos os dados possuem classe, utilizar uma estrutura para evidenciar as classes redundante e mtodos supervisionados devem ser empregados. Quando
utilizado um mtodo supervisionado, pressupe-se que todas as instncias disponveis
tenham classe conhecida (instncias de treinamento). Neste caso o grau de diculdade
de um problema depende da variabilidade no espao de atributos das instncias de uma
mesma classe relativa diferena entre o espao de atributos de uma classe diferente
(Hastie et al., 2009). De maneira que, mesmo que de posse do conjunto de treinamento,

INTRODUO

a tarefa de classicar novas instncias no trivial. Um classicador deve, a princpio, extrair o mximo de informaes dos dados de treinamento para inferir, com base
nessas informaes, a classe dos novos exemplos de dados (Theodoridis e Koutroumbas,
2008). Esta diculdade se deve s vrias variveis envolvidas no processo de classicao,
como caractersticas no conjunto de dados, diversidade na escolha do algoritmo para a
construo do classicador, natureza do problema, entre outros.
Outro tipo de preocupao, inerente classicao de dados, refere-se mudanas
na distribuio dos dados aps o treinamento do classicador. Este problema, conhecido
como mudana de conceito (concept drift) (Helmbold e Long, 1994), (Widmer e Kubat,
1996), inviabiliza um classicador, treinado somente com dados iniciais, de manter um
bom desempenho, uma vez que a distribuio dos novos dados no correspondem distribuio dos dados aprendida. Quando a distribuio dos dados se altera ao longo do
tempo, diz-se que esta no estacionria, j se a distribuio permanece a mesma esta
dita estacionria. Em geral, problemas com distribuio no estacionria so comuns em
processamento de uxo de dados, no qual o sistema precisa aprender e classicar em tempo
real. Muitas aplicaes reais requerem classicao em tempo real, de monitoramento em
redes de sensores, (Cohen et al., 2008) ao processamento de informaes produzidas por
sistemas muito maiores como a internet, ou sistemas de telecomunicaes (Last, 2002).
Uma maneira de manter o desempenho de classicao, mesmo na presena de mudanas
no conceito, atualizar o classicador constantemente com novos dados. A atualizao
constante do classicador ao longo do tempo corresponde a um sistema de aprendizado incremental (Giraud-Carrier, 2000). De maneira sucinta, um classicador incremental deve
ter mecanismos que possibilitem a atualiazao do classicador com novos dados, durante
a fase de aplicao e, tambm, mecanismos que possibilitem ao classicador livrar-se de
dados antigos que no mais sero usados. Um classicador que no possui tais mecanismos de atualizao chamado esttico, como o caso do algoritmo KAOG. No que segue,
so apresentados os objetivos e as motivaes do trabalho, seguidos da organizao do
restante da tese.

1.1 Objetivos e motivaes


Como exposto anteriormente, o aprendizado de mquina baseado em grafos constitui
uma rea bem estabelecida em domnios de aprendizado no supervisionado e semissupervisionado. Nesses tipos de problema, o grafo usado para modelar os dados, de modo que,
as estruturas presentes em sua distribuio sejam realadas. Esta representao facilita as
tarefas de agrupamentos ou de atribuio de rtulos, que so realizadas de acordo com a
densidade e ao padro de conexes entre os vrtices do grafo. No entanto, o uso de grafos
no tem sido devidamente estudado em problemas de aprendizado supervisionado. Em
vista dos benefcios da representao de dados por meio de um grafo, da decincia de
mtodos supervisionados baseados em grafos na literatura, bem como do sucesso do uso

OBJETIVOS E MOTIVAES

de grafos em agrupamento de dados e na classicao semissupervisionada. Este trabalho


tem como objetivo explorar a classicao de dados em grafos. Especicamente, prope
dois algoritmos baseados em grafo para classicao de dados em domnios de dados com
distribuio estacionria e no estacionria.
Como mencionado, a classicao de dados importante nas mais variadas reas
da cincia, tendo sido usada com sucesso em diversos domnios de aplicaes. Dado a
grande variedade de mtodos existentes para a classicao de dados, pode-se questionar
a necessidade do desenvolvimento de novas abordagens. No entanto, novos domnios de
aplicaes tm surgido e, em muitos casos, as tcnicas convencionais de classicao no
apresentam resultados satisfatrios. Alm disso, o uso de grafos na representao dos
dados pode proporcionar as seguintes vantagens em relao s tcnicas tradicionais, por
exemplo, 1) tcnicas tradicionais apresentam diculdade em tratar dados com distribuio
arbitrria. O uso de grafos na representao dos dados permite representar classes com
qualquer distribuio; 2) a grande maioria das tcnicas de classicao utilizam uma nica
representao dos dados - geralmente na forma vetorial, e no consideram outras relaes
como a relao topolgica entre os dados. O algoritmo proposto neste trabalho utiliza
relaes entre os dados, dispostos em um grafo, chamado grafo K-associado timo, bem
como a informao de pureza, que quantica o nvel de mistura local de cada componente;
3) muitos algoritmos de aprendizado dependem de um ou mais parmetros, de modo
que, de posse de um determinado domnio de dados, o ajuste dos parmetros deve ser
feito com o m de selecionar um, dentre os modelos de classicadores obtidos - o que,
geralmente, implica em alto custo computacional. O uso de grafos na representao dos
dados possibilitou o desenvolvimento de um algoritmo no paramtrico, o que consiste em
uma propriedade interessante, pois evita a fase de seleo de modelos, tornando-o uma
opo atrativa na prtica.
Pesquisas adicionais com o classicador esttico mostratram que a representao dos
dados por meio do grafo K-associado, juntamente com a pureza, oferece a possibilidade
de desenvolvimento de um mtodo incremental para a classicao de dados no estacionrios. Neste tipo de aplicao, os dados (rotulados e no rotulados) so apresentados
continuamente, como um uxo de dados, o que impe ao sistema classicador restries de
tempo e de memria. No primeiro caso o classicador deve processar a nova instncia em
tempo hbil para evitar o acmulo de exemplos de dados. Intuitivamente o classicador
no deve levar mais tempo para processar um novo exemplo do que a mdia de tempo
de chegada de exemplos. A restrio de memria est relacionada ao crescimento do uso
da memria por parte do sistema classicador, e implica em como o classicador lida
com os exemplos antigos. A preocupao com a memria diz respeito ao desempenho do
classicador ao longo do tempo, a utilizao desregrada da memria alm de ser, por si s,
um empecilho em um sistema computacional, tambm impacta diretamente no aumento
no tempo de processamento do classicador. Note que as restries de tempo e memria
so interdependentes e precisam ser tratadas em conjunto para que o sistema classicador

INTRODUO

apresente um comportamento estvel. Por exemplo, o aumento no tempo de classicao


implica em uso de memria auxiliar para armazenar os dados recm-chegados, que impacta na utilizao da memria; o aumento no uso de memria, por sua vez, resulta em
maior tempo no processamento de novos dados. De forma que, um algoritmo incremental
precisa de mecanismos para lidar com os problemas de tempo e de memria. No primeiro
caso, o mtodo proposto para classicao incremental, apesar de ser baseado em instncias, apresenta a possibilidade de lidar com componentes ao invs de instncias isoladas,
possibilitando ao algoritmo armazenar grande quantidade de dados, podendo acess-los
como componentes, o que torna o processo de classicao mais rpido. Para evitar o uso
excessivo da memria, o classicador proposto, baseia-se na atualizao do grafo, que
realizada por meio da insero e remoo de componentes, de modo que o grafo utilizado
pelo classicador apresente sempre tamanho relativamente constante.

1.2 Organizao do trabalho


Com o objetivo de contextualizar o trabalho em meio s diversas abordagens que
utilizam grafos no aprendizado de mquina, o Captulo 2 apresenta trabalhos relacionados
e conceitos que sero usados no desenvolvimento dos demais captulos. O Captulo 2
inicia com uma reviso dos conceitos da teoria dos grafos que sero usados no trabalho,
em seguida, a Seo 2.2 aborda o aprendizado de mquina sob a concepo de mtodos
que utilizam grafos. Nesta seo so apresentados mtodos de construo do grafo a
partir de um conjunto de dados vetoriais do tipo atributo-valor. Bem como, uma breve
exposio de mtodos baseados em grafo no aprendizado no supervisionado - utilizados
no agrupamento de dados. Com relao a mtodos do aprendizado semissupervisionado,
sero expostas trs categorias desses mtodos, a saber, iterativos, de caminhada aleatria
e baseados em regularizao. A Seo 2.2 encerrada com uma concisa exposio sobre
o aprendizado supervisionado que, apesar da existncia de poucos mtodos, a nfase
dada em relao a mtodos baseados em kernel em grafos. O Captulo 2 tambm
revisa conceitos da classicao supervisionada de dados, dividido em duas abordagens
quanto estacionariedade da distribuio dos dados. Na Seo 2.3 revisado o tipo mais
comum de classicao, a classicao de dados com distribuio estacionria. Esta seo
enfatiza alguns problemas inerentes a este tipo de aplicao, como a seleo de modelos e o
aprendizado baseado em comits. Tambm so expostos alguns dos principais algoritmos
de aprendizado, dos quais, alguns deles so usados como comparativo para o algoritmo
proposto no Captulo 3. O outro tipo de classicao, abordado neste trabalho, refere-se
problemas com distribuio de dados no estacionria e apresentada na Seo 2.4. Nesta
seo, alm de apresentar os principais conceitos da rea, como mudana de conceito e
aprendizado incremental, tambm so apresentados alguns algoritmos do estado-da-arte e
que sero usados para efeito de comparao no Captulo 4 na qual apresentada a verso
incremental para o algoritmo proposto.

ORGANIZAO DO TRABALHO

O Captulo 3 apresenta o algoritmo baseado em grafo aplicvel a problemas de classicao de dados estcionarios, nomeado KAOG. O algoritmo proposto baseia-se em
um grafo chamado grafo K-associado timo, sendo este resultante de um processo iterativo de escolha dos melhores componentes de vrios grafos K-associados. Dessa forma
o captulo inicia apresentando o grafo K-associado, bem como algumas das propriedades
desta estrutura, como o clculo da pureza para componentes. Em seguida apresentado
o mtodo de construo do grafo timo, que usado pelo classicador para estimar a
probabilidade de um novo vrtice conectar-se a cada um dos componentes do grafo. O
processo de classicao, por sua vez, exposto na Seo 3.2, que alm de apresentar
como o grafo timo usado na classicao de novos dados, apresenta um exemplo de
classicao seguido por um estudo de caso que considera a superfcie de deciso do algoritmo KAOG em comparao com a superfcie de deciso apresentada pelo KNN. A
complexidade computacional para o algoritmo proposto estimada na Seo 3.3. Finalizando o captulo, a Seo 3.4 apresenta alguns exemplos ilustrando o comportamento da
pureza nos grafos, K-associado e timo, bem como, um exemplo da construo de um
grafo timo. A seo tambm apresenta os resultados comparativos em quinze domnios
de dados, considerando trs nveis de rudo, resultando em 45 domnios. Ao nal da seo
realizada uma anlise estatstica dos resultados com o objetivo de deixar claro as reais
contribuies do algoritmo proposto.
O Captulo 4 descreve o algoritmo incremental KAOGINC, desenvolvido como uma extenso do algoritmo esttico KAOG. O algoritmo incremental apropriado para domnios
em que os dados so apresentados ao longo do tempo, e possam apresentar mudanas de
conceito. Por meio de mecanismos de adio e remoo de componentes do grafo, o algoritmo KAOGINC mantm o bom desempenho de classicao, mesmo sob mudanas
de conceito. Neste tipo de algoritmo o custo computacional de extrema importncia, a
complexidade computacional do algoritmo apresentada na Seo 4.2. A Seo 4.3 apresenta uma comparao entre os algoritmos propostos neste trabalho, KAOG e KAOGINC,
em situaes que ocorrem mudanas de conceito, estes exemplos tem o objetivo de elucidar a importncia do aprendizado incremental neste tipo de aplicao. Diferente da
verso esttica, o algoritmo KAOGINC possui um parmetro, que analisado quanto ao
seu comportamento na Seo 4.4. Terminando o captulo, a Seo 4.5 apresenta alguns
resultados comparativos em dez domnios no estacionrios, bem como uma breve anlise
para cada um deles. Por m, o Captulo 5 conclui o trabalho com uma anlise geral dos
resultados obtidos para ambos os algoritmos propostos, bem como, aponta as principais
contribuies e direciona futuras pesquisas.

INTRODUO

Captulo

2
Reviso de conceitos e trabalhos relacionados

Neste captulo so revisados alguns conceitos necessrios para o desenvolvimento do


trabalho, tambm, para efeito de contextualizao, sero brevemente apresentados alguns trabalhos que relacionam grafos no aprendizado de mquina. O captulo tambm
apresenta os algoritmos de aprendizado utilizados na comparao dos resultados dos algoritmos propostos. No que segue a Seo 2.1, apresenta a reviso de alguns conceitos
bsicos da teoria dos grafos, seguido pela Seo 2.2 que apresenta, de forma sucinta, alguns dos mtodos de aprendizado de mquina que utilizam grafos. A Seo 2.3 descreve
classicao de dados de maneira geral, abordando alguns dos principais problemas envolvidos e enfatizando os problemas de aprendizado em comits e de seleo de modelos.
Nesta seo tambm so apresentados alguns mtodos de classicao estacionria. Por
m, a Seo 2.4 apresenta a classicao de dados no estacionrios, aprendizado em
tempo real e incremental, bem como os algoritmos usados na comparao do algoritmo
proposto no Captulo 4.

2.1 Reviso de conceitos da teoria dos grafos


Nesta seo so revisados os conceitos da teoria dos grafos que so utilizados ao longo
do trabalho. Os conceitos aqui descritos podem ser encontrados em vrias referncias
da rea, tais como, (Diestel, 2006), (West, 2000), (Gross, 2005), (Bollobs, 1998), entre
outras. No que segue, considere as seguintes denies:
Grafo: Um grafo G = (V, E) formado por um conjunto de vrtices V = {v1 , . . . , vN } e
um conjunto de arestas E que conectam pares de vrtices. Um grafo pode ser direcionado
ou no direcionado, no primeiro caso, tambm chamado de dgrafo, toda aresta tem uma
origem e um destino. Uma aresta com origem vi V e destino vj V representada
por um par ordenado (vi , vj ). Nos grafos no direcionados, as arestas no tm direo
9

10

REVISO DE CONCEITOS E TRABALHOS RELACIONADOS

e uma aresta que conecta o vrtice vi V ao vrtice vj V representada por eij =


{vi , vj }. Grafos que possuem arestas direcionadas e no direcionadas so chamados de
grafos mistos.

Multigrafo: Em ambos os tipos de grafos, direcionados e no direcionados, permitido


que o conjunto de arestas E contenha vrias instncias da mesma aresta, i.e., o conjunto
de aresta E considerado um multiconjunto. Se uma aresta ocorre muitas vezes em
E, as cpias da aresta so chamadas arestas paralelas. Grafos com arestas paralelas so
chamados multigrafos. Quando toda aresta ocorre somente uma vez no conjunto E, o
grafo simples, i.e. no possui arestas paralelas.

Grafos com peso:. Muitas vezes util associar valores numricos (pesos) a arestas
ou vrtices de um grafo. Pesos em arestas podem ser representados por uma funo
f : E R que atribui a cada aresta e E um peso f (e). Dependendo do contexto,
os pesos podem descrever diversas propriedades, como custo (de tempo ou distncia),
capacidade, fora de interao ou similaridade, entre outras. Um grafo sem peso equivalese a um grafo com peso unitrio, i.e. f (e) = 1 para toda aresta e E.

Subgrafos: Um grafo G0 = (V 0 , E 0 ) um subgrafo do grafo G = (V, E) se V 0 V e


E 0 E e G supergrafo de G0 . Um subgrafo induzido por aresta corresponde a um grafo
formado por um subconjunto de aresta do grafo G junto com os vrtices conectados a essas
arestas. Um subgrafo induzido por vrtice (ou simplesmente subgrafo induzido) refere-se
a um grafo formado por um subconjunto dos vrtices juntamente com as arestas cujos
vrtices que as conectam pertencem a este subconjunto.

Adjacncia: Dois vrtices vi e vj so adjacentes ou vizinhos se existir a aresta eij . Duas


arestas e1 6= e2 so adjacentes se elas conectarem um vrtice em comum. Se todo vrtice
em G for adjacente a todos os demais, ento G completo. Um subgrafo induzido e
completo chamado clique. O cojunto de vizinhos do vrtice vi denotado por vi , sendo
Nvi o nmero de vizinhos de vi . Quando as arestas envolvem relao de similaridade
(e.g. proximidade), pode-se ordenar os vizinhos em relao proximidade, o conjunto dos
K-vizinhos mais prximos de vi chamado K-vizinhaa de vi e notado por vi ,K .

Grau: O grau de um vrtice vi em um grafo no direcionado G = (V, E), denotado por


gi , corresponde ao nmero de arestas em E que possuem vi como um vrtice adjacente.
Se G um multigrafo, arestas paralelas so contadas de acordo com sua multiplicidade
no conjunto E. Um vrtice com grau 0 isolado. A mdia do grau quantica globalmente o que medido localmente pelo grau dos vrtices, e pode ser calculada como na

APRENDIZADO DE MQUINA BASEADO EM GRAFOS

11

Equao (2.1).
hGi =

1
gi
|V | vi V

(2.1)

Na equao, hGi corresponde a mdia do grau no grafo G e |V | ao nmero de vrtices


do grafo. Quando somados, os graus dos vrtices no grafo, cada vrtice contado duas
vezes, de forma que, o nmero de arestas, |E|, pode ser calculado como na Equao (2.2).
|E| =

1
1
gi = hGi|V |
2 vi V
2

(2.2)

E, dessa forma, pode-se relacionar as quantidades, mdia do grau, nmero de vrtices


e nmero de arestas como: hGi = 2(|E|/|V |).
Caminhadas, caminhos e ciclos: Uma caminhada de um vrtice v0 para o vrtice
vk , no grafo G = (V, E), corresponde a uma sequncia v0 , e1 , v1 , e2 , v2 , . . . , vk1 , ek , vk de
vrtices e arestas. O comprimento de uma caminhada denido pelo nmero de arestas
percorridas na caminhada. Uma caminhada chamada caminho se ei 6= ej para i 6= j, e
um caminho simples se vi 6= vj para i 6= j. Um caminho com v0 = vk um ciclo; um
ciclo simples se vi 6= vj para 0 i < j k 1. Um grafo acclico chamado oresta,
uma oresta conectada chamada rvore.
Componentes: Um grafo no direcionado G = (V, E) conectado se todo vrtice puder
ser alcanado a partir de qualquer outro vrtice, i.e., se existir um caminho de todo
vrtice para qualquer outro vrtice no grafo. Um grafo que consiste de apenas um vrtice
considerado conectado. Grafos que no so conectados so chamados desconectados.
Para um grafo desconectado G = (V, E), um componente conectado de G um subgrafo
induzido G0 = (V 0 , E 0 ) conectado e maximal (i.e. no existe um subgrafo G00 = (V 00 , E 00 )
com V 00 V 0 ). Para vericar se um grafo conectado e encontrar todos os componentes
conectados utiliza-se a busca em largura ou em profundidade, com complexidade da ordem
de O(|V | + |E|). Grafos em que o nmero de arestas linearmente comparvel ao nmero
de vrtices so chamados esparsos, i.e. |V | = O(|E|).

2.2 Aprendizado de mquina baseado em grafos


Os algoritmos baseados em grafos, em sua maioria, baseiam-se nas suposies de continuidade (smoothness assumption) em relao distribuio dos dados e suas classes.
Esta supe que, se duas instncias x1 , x2 so prximas, ento suas sadas correspondentes
y1 , y2 devem ser prximas. Bem como na suposio de separao por baixa densidade
(low-density assumption), a qual, implica que a densidade deve ser baixa em regies prximas a outras classes. Note que a primeira suposio geral e serve para regresso e
classicao e a segunda corresponde a uma variante da suposio de agrupamento (se

12

REVISO DE CONCEITOS E TRABALHOS RELACIONADOS

duas instncias de dados esto no mesmo agrupamento, elas provavelmente pertencem


mesma classe). A suposio de suavidade est relacionada com o signicado de proximidade entre x1 e x2 , de modo que, esta pode ser incorporada funo de similaridade,
usada para construir o grafo e dar pesos s arestas, e consequentemente, matriz de
adjacncia W.

2.2.1 Formao do grafo a partir de um conjunto de dados


Segundo Zhu (2008), a representao de um conjunto de dados como grafo, apesar
de ser pouco estudada na literatura, consiste em um dos passo mais importantes no
aprendizado baseado em grafos. Esta seo revisa algumas tcnicas de formao de grafo a
partir de um conjunto de dados X = {x1 . . . xN }, onde cada instncia xi = (xi1 , . . . , xip , yi )
formada por p atributos e possui um rtulo associado yi = {1 , . . . } que distingue
uma entre as classes. No geral a construo de um grafo a partir de um conjunto de
dados do tipo atributo-valor consiste na abstrao dos dados em vrtices e das relaes
entre eles em arestas. Construir um grafo a partir dos dados de entrada consiste na
fase crtica do aprendizado baseado em grafos. Trata-se de uma tarefa fundamental no
apenas considerando o aprendizado no supervisionado, como o agrupamento de dados,
mas tambm nos aprendizados semissupervisionado e supervisionado.
A Figura 2.1, ilustra alguns mtodos para a construo de grafos, considerando os
vrtices na Figura 2.1(a) vi , vj e vl como os vrtices abstrados dos exemplos de dados xi ,
xj e xl , respectivamente. Dentre as tcnicas mais estudadas para construo de grafos
encontram-se as tcnicas baseadas em relaes de vizinhana, tais como grafos- e grafos
KNN. No caso de grafos-, a conexo entre pares de vrtices feita considerando um raio
pr-denido como limitante, ou seja, qualquer par de vrtices vi e vj cuja distncia dos
exemplos d(xi , xj ) <  conectado, como ilustra a Figura 2.1(b). Uma abordagem similar
considera o conjunto de dados inicialmente como um grafo totalmente conectado, no qual
as arestas recebem pesos de acordo com alguma funo de similaridade, por exemplo, a
funo Gaussiana, como mostra a Equao (2.3).
e(kxi xj k )
.
2 2
2

wij =

(2.3)

Na qual wij corresponde ao peso da aresta eij e o parmetro , de forma anloga ao


parmetro  nos grafos-, controla o tamanho da vizinhana, portanto, quanto maior o
valor de menor a vizinhana. Este tipo de construo permite o aprendizado por meio
de uma funo diferencivel dos pesos (von Luxburg, 2007).
Nos grafos KNN, o parmetro K usado para especicar o nmero de vizinhos de cada
vrtice que sero conectados. Esta denio implica na construo de um dgrafo no qual
uma aresta dirigida com origem no vrtice vi ter como destino o vrtice vj , se este estiver
entre os K vizinhos de vi , como mostra a Figura 2.1(c). Como as relaes de similaridade
so simtricas, no geral, usam-se grafos no dirigidos para modelagem de dados. Dessa

APRENDIZADO DE MQUINA BASEADO EM GRAFOS

vl

13

vi

vj

(a)

(c)

(b)

2
(d)

(e)

(f)

(g)

Figura 2.1: Exempos de criao de grafos a partir de dados. Para a gerao dos grafos
(c)-(g) foi considerado K = 1.
forma, precisa-se abstrair as direes no grafo KNN dirigido previamente citado. Existem
pelo menos trs maneiras de se fazer isso, a primeira consiste, simplesmente, em ignorar
as direes das arestas, tornando-as no dirigidas (Figura 2.1(d)). Outra alternativa
considerar apenas as arestas do dgrafo que possuem duas direes, ou seja, conectar o
vrtice vi com o vrtice vj se vi encontra-se na K-vizinhana de vj e vice-versa; este tipo
de construo chama-se grafo KNN mtuo e mostrado na Figura 2.1(e). A terceira
forma, usada na construo do grafo K-associado apresentado no Captulo 3, consiste
em considerar toda aresta como no dirigida e manter duas arestas quando o caso mtuo
ocorrer, resultando em um multigrafo, como mostra a Figura 2.1(f); a Figura 2.1(e) ilustra
outra maneira de notar esta estrutura.
Outras maneira de construir o grafo a partir dos dados, apresentadas por Zhu (2005),
correspondem ao uso da tangente hiperblica, na qual o peso da aresta eij dado por wij =
tanh(1 (d(xi , xj ) 2 ) + 1)/2. Onde 1 e 2 so parmetros que controlam a inclinao
e o raio de atuao, respectivamente. A ideia criar uma conexo para cada exemplo,
onde os pesos decaem suavemente enquanto a distncia em relao ao padro aumenta.
Comparado aos grafos-, os grafos ponderados pela tangente hiperblica so contnuos
em relao aos pesos e tambm permitem aprendizado utilizando mtodos de gradiente.
Outra opo atribuir os pesos utilizando a funo exponencial, wij = exp(d(xi , xj )2 /2 ),
tambm trata-se de um esquema contnuo de ponderao, com decaimento dado por ,
mas com raio de atuao menos claro que na funo hiperblica.

2.2.2 Aprendizado no supervisionado baseado em grafos


Talvez a rea de pesquisa mais ativa no que diz respeito ao uso de algoritmos baseados
em grafos em aprendizado de mquina seja no aprendizado no supervisionado, principalmente o agrupamento de dados (Schaeer, 2007). No agrupamento de dados o objetivo
agrupar os dados, de modo que, elementos de um mesmo grupo tenham mais caractersticas em comum entre si do que elementos de grupos distintos (Jain et al., 1999).

14

REVISO DE CONCEITOS E TRABALHOS RELACIONADOS

Como mencionado por Jain e Dubes (1998) o processo de agrupamento de dados pode
ser visto como um problema de aprendizado no supervisionado. Situaes como estas
so frequentes nas mais diversas reas de pesquisa, tais como bioinformtica (Jiang et al.,
2004), agrupamento de documentos da Web (Boley et al., 1999), caracterizao de grupos de clientes baseada em padres de compra (Jank e Shmueli, 2005), identicao de
material cerebral em imagens de MRI (Taxt e Lundervold, 1994), entre outros.
A maioria dos algoritmos de agrupamento de dados baseia-se em modelos estticos
que, embora ecientes em alguns casos, oferecem resultados pouco satisfatrios quando o
conjunto de dados apresenta grupos de dados com formas, densidades e tamanhos variados.
Isso se deve ao fato de que, esse tipo de algoritmo no se baseia na natureza individual de
cada agrupamento enquanto a diviso acontece, uma vez que uma caracterstica dominante
diferente pode ser evidenciada para cada grupo. Por exemplo, tcnicas de agrupamento
baseadas em partio, tais como K-means (MacQueen, 1967) e Clarans (Ng e Han, 2002),
tentam particionar o conjunto de dados em K agrupamentos, de forma a otimizar um
critrio previamente estabelecido. Nesses algoritmos assumido que os agrupamentos
tenham a forma de hiperelipses com tamanhos similares. De forma que ca impossvel
evidenciar grupos de dados que variam em tamanho, como mostrado na Figura 2.2(a); ou
que variam em formato, como mostrado na Figura 2.2(b).

Figura 2.2: Agrupamentos de dados com formatos diferentes. (a) Hiperelipses (b) Irregulares (Karypis et al., 1999).
Algoritmos baseados em grafos unem duas caractersticas desejadas: deteco de agrupamentos com formas variadas e possibilidade de representao hierrquica. Devido
representao em grafos, esses algoritmos buscam a estruturao topolgica entre os dados de entrada e, consequentemente, so capazes de identicar formas de agrupamentos
variados. Algoritmos que utilizam grafos para o agrupamento de dados transformam o
problema de agrupamento em um problema de particionamento do grafo, o qual consiste
em dividir o grafo em subgrafos disjuntos de modo a minimizar alguma funo de custo
associado ao corte das arestas (Li e Tian, 2007). De maneira geral, o processo de agrupamento utilizado por esses algoritmos acontece em duas etapas: modelagem dos dados
em um grafo esparso, no qual os vrtices representam os dados e as arestas representam a
similaridade; e particionamento do grafo para a formao dos agrupamentos. O processo
ilustrado na Figura 2.3.
Encontrar a soluo tima para o problema de particionamento do grafo em subgrafos de tamanhos similares minizando o corte de aresta, no entanto, um problema

APRENDIZADO DE MQUINA BASEADO EM GRAFOS

Construir
grafo
esparso

Dados iniciais

15

Particionar
grafo

Grafo do tipo KNN

Agrupamentos

Figura 2.3: Etapas utilizadas por algoritmos baseados em grafos no agrupamento de


dados.

NP-completo devido sua natureza combinatria (Schaeer, 2007). De modo que, para realizar o particionamento de grafos grandes, alguns mtodos heursticos foram propostos,
tais como os algoritmos Chamaleon (Karypis et al., 1999) e CURE (Guha et al., 1998).
Mesmo considerando o uso de heursticas no particionamento do grafo, o desempenho
deste tipo de mtodo ca comprometido quando o conjunto de dados muito grande.
Recentemente, as redes complexas despontaram como um poderoso mtodo de representao que tem se mostrado adequado para representar grandes quantidades de dados e
suas diversas relaes (Albert e Barabsi, 2002), (Newman, 2003). O termo redes complexas refere-se s redes que possuem topologia no trivial, dado que essas redes podem
ser compostas por grande quantidade de vrtices (milhes ou at bilhes). Muitas redes
existentes na natureza, bem como na sociedade, podem ser caracterizadas como redes
complexas; alguns exemplos so: a Internet, a World Wide Web, a rede neural biolgica, redes sociais entre indivduos e entre companhias e organizaes, cadeias alimentares,
redes do metabolismo e de distribuio como a corrente sangunea, as rotas de entrega
postal e a distribuio de energia eltrica, entre outras (Strogatz, 2001).
Uma caracterstica notvel em diversas redes complexas, encontradas na natureza ou
construdas pelo homem, a presena de estruturas locais conhecidas como comunidades.
Uma comunidade denida como um grupo de vrtices densamente conectados, enquanto
as conexes entre diferentes comunidades so esparsas (Newman e Girvan, 2004). Essas
comunidades representam padres de interao entre vrtices da rede; sua identicao
crucial na anlise e no entendimento dos mecanismos de crescimento e formao da
rede, bem como nos processos que ocorrem na rede (Clauset, 2005). De maneira geral,
a estrutura em comunidades revela similaridade, segundo algum critrio, por meio de
conexes entre os vrtices pertencentes a um mesmo grupo, por exemplo, em redes sociais
a presena de comunidades pode revelar grupos de indivduos com mesmos interesses,
relaes de amizade, relaes prossionais, etc. A identicao de comunidades em redes
complexas , portanto, um modelo de agrupamento de dados dispostos em forma de rede.
Segundo Reichardt e Bornholdt (2006), a abordagem na qual a informao codicada em
vrtices e a proximidade/anidade denida por meio das arestas, aplica-se diretamente
s redes complexas. Considerando este cenrio pode-se dizer que as redes complexas so
apropriadas para a anlise de dados em geral, especialmente para grandes bases de dados.

16

REVISO DE CONCEITOS E TRABALHOS RELACIONADOS

Diversos algoritmos foram desenvolvidos para identicar comunidades em redes complexas


(Danon et al., 2005), alguns dos principais sero apresentados a seguir.
Dentre os principais esto, o mtodo proposto por Newman e Girvan (2004), que se
baseia no conceito de betweenness de aresta. Esta quantidade, tambm denida para
vrtices, corresponde ao nmero de caminhos mais curtos entre qualquer par de vrtice
que passam pela aresta eij . A cada passo, a aresta de maior betweenness removida,
dividindo a rede em comunidades. O princpio em que este mtodo baseia-se simples,
como o nmero de arestas conectando duas comunidades pequeno, todos os caminhos
que ligam vrtices em comunidades diferentes devem passar por essas arestas. Assim sua
participao na composio dos caminhos que ligam as duas comunidades alta e o encerramento iterativo destas conexes favorece uma forma de identicar as comunidades. Um
outro mtodo de identicao de comunidades, desenvolvido por Zhou (2003a), baseia-se
no conceito de movimento Browniano. Neste mtodo, uma partcula Browniana comea
sua trajetria em um vrtice da rede, escolhendo o prximo vrtice de maneira aleatria.
As informaes obtidas pela partcula so utilizadas para medir a distncia entre os vrtices, denindo as comunidades que compem a rede e a estrutura de cada uma. O
mtodo foi estendido posteriormente em (Zhou, 2003b) com a denio de um ndice de
dissimilaridade entre vrtices vizinhos, considerando a matriz de distncias. O ndice
de dissimilaridade indica at que ponto dois vrtices vizinhos devem pertencer mesma
comunidade, e pode ser usado na decomposio hierrquica da rede em comunidades.
O mtodo desenvolvido por Newman (2004) sugere um algoritmo que otimize o valor
da modularidade, medida usada para qualicar determinada partio da rede em comunidades. Trata-se de um algoritmo de agrupamento hierrquico, onde inicialmente cada
vrtice da rede considerado uma comunidade, e repetidamente, as comunidades so
agrupadas em pares, maximizando o ndice de modularidade. importante ressaltar que
apenas comunidades que possuem arestas ligando seus vrtices podem ser possivelmente
unidas pelo algoritmo, o que limita a um mximo de |E| pares de comunidades, onde |E|
o nmero de arestas da rede.
O mtodo proposto por Boccaletti et al. (2007) utiliza sincronizao para encontrar
comunidades na rede. O mtodo consiste em associar um oscilador a cada vrtice da rede.
Em seguida, valores iniciais para os parmetros so dados de maneira que toda a rede
que sincronizada, ento, como no processo de resfriamento simulado (simulated annealing), enquanto os parmetros so afrouxados a sincronizao total se desfaz em grupos
sincronizados, revelando as comunidades. O mtodo baseado em um fenmeno de sincronizao de comunidades utilizando osciladores de fase no idnticos (Boccaletti et al.,
2002), cada um associado a um vrtice da rede e interagindo atravs das arestas da rede.
Grupos de osciladores sincronizados representam um regime intermedirio entre travamento de fase global e completa absteno de sincronizao, implicando em uma diviso
da rede em grupos de vrtices que oscilam na mesma frequncia mdia. A ideia principal
consiste em iniciar a rede com todos os elementos acoplados, e por meio de mudanas

APRENDIZADO DE MQUINA BASEADO EM GRAFOS

17

dinmicas nos pesos das interaes entre vrtices, obter agrupamento hierrquico e progressivo que detecta totalmente os mdulos (comunidades) presentes na rede. Zhao et al.
(2008) utilizaram uma rede de osciladores acoplados para segmentao de imagem. O
mtodo desenvolvido utiliza qualquer topologia de rede, no necessariamente um reticulado.
Os mtodos previamente mencionados dependem somente da estrutura da rede para
encontrar comunidades, pois nenhuma outra informao disponvel. Uma abordagem
complementar desenvolvida por Reichardt e Bornholdt (2004), combina a ideia de utilizar
uma modicao do modelo Hamiltoniano de Ising no particionamento de grafos, proposto
por Fu e Anderson (1986), e o recente mtodo de agrupamento de dados baseado no
modelo de Potts para dados multivariados, proposto por Blatt et al. (1996). Basicamente
Reichardt e Bornholdt (2004) estenderam o modelo de Blatt et al. (1996) para deteco
de comunidades em redes complexas. O mtodo baseado na analogia a um modelo da
mecnica estatstica, o modelo ferromagntico de Potts. A ideia principal mapear as
comunidades de uma rede em mnimos locais dos domnios magnticos, modelando um
conjunto de elementos dotados de spins e dispostos em um reticulado.

2.2.3 Aprendizado semissupervisionado baseado em grafos


No aprendizado semissupervisionado considera-se que poucas instncias possuem rtulos de classe, dentre as instncias disponveis. Portanto, no contexto semissupervisionado,
pode-se dividir o conjunto de dados X em dois subconjuntos, um conjunto com dados rotulados Xl = {x1 , . . . , xl }, e um com os dados no rotulados Xu = {xl+1 , . . . , xN }, sendo
que, na maioria dos casos tm-se |Xu | >> |Xl |. De maneira que, pode-se denir os vetores yl = (y1 , . . . , yl ), com os rtulos das instncias pertencentes ao conjunto Xl , bem
= (
como o vetor y
y1 , . . . , yN ), como o vetor de rtulos dos dados, atribudos por algum
algoritmo. Uma vez construdo, um grafo baseado nas relaes de similaridade entre as
instncias do conjunto X, o problema de aprendizado semissupervisionado, consiste em
encontrar um conjunto de rtulos para os dados no rotulados, de modo que sejam consistentes com os rtulos iniciais e com a geometria do grafo induzido (representado pela
matriz de pesos W). A matriz W est intimamente relacionada Laplaciana do grafo,
sendo esta responsvel por representar a estrutura na qual os dados esto distribudos.
Dentre as muitas maneiras de denir a Laplaciana do grafo, as mais utilizadas no
aprendizado semissupervisionado so a Laplaciana normalizada L, e a no normalizada
L, como mostradas nas Equaes (2.4) e (2.5).

L = I D1/2 WD1/2

(2.4)

L = DW

(2.5)

Onde a matriz de adjacncia, W, representa o grafo com peso G = (V, E), e cujo

18

REVISO DE CONCEITOS E TRABALHOS RELACIONADOS

valor de Wij dado por uma funo de similaridade f : E R, com a restrio de que
Wij = 0 se eij
/ E. A matriz I corresponde matriz identidade e a matriz diagonal D,

ou matriz do grau de G, denida como Dii = j Wij .


A Laplaciana do grafo pode ser usada em todo tipo de aprendizado baseado em grafos,
como no aprendizado no supervisionado, no agrupamento espectral (Filippone et al.,
2008); no aprendizado semissupervisionado, em mtodos que utilizam regularizao baseada
em grafos (Belkin e Niyogi, 2003), e no aprendizado supervisionado, e na denio de kernels em grafos (Vishwanathan et al., 2010).
Mtodos baseados em grafos tm sido amplamente pesquisados no contexto de aprendizado semissupervisionado (ver, por exemplo, (Belkin e Niyogi, 2004), (Chapelle et al.,
2006), (Zhu, 2008), (Culp e Michailidis, 2008) e suas referncias). Na literatura, a tarefa
de transduo extensamente mais considerada que a induo, devido basicamente s
caractersticas atribudas Laplaciana do grafo que representa os dados. De acordo com
Hein et al. (2007), o uso de grafos no aprendizado semissupervisionado atrativo ao menos
por dois motivos, 1) por meio da Laplaciana associada ao grafo, pode-se gerar o processo
de difuso dos rtulos e, 2) o grafo age como um regularizador dos dados, adaptando-se
s vrias densidades e formatos dos dados. De maneira simplista, muitos dos algoritmos semissupervisionado baseados em grafos, encaixam-se em uma das trs categorias,
iterativos, baseados em caminhada aletoria e baseado em regularizao em grafos.
Dentre os algoritmos iterativos, est o algoritmo proposto por Zhu e Ghahramani
(2002). O algoritmo baseia-se na simples ideia de propagar os rtulos, a partir de todo
vrtice, para seus vizinhos, at que todos os vrtice sejam rotulados. Os rtulos so
atualizados considerando a iterao, y
(t+1) = D1 W
y(t) mantendo inalterado os rtulos
previamente conhecidos em y
. De forma que, os rtulos na iterao t+1, y
(t+1) , dependem
dos rtulos na iterao anterior, y
(t) , bem como da matriz diagonal D e de adjacncia
W. Zhou et al. (2004), propem utilizar a Laplaciana normalizada, L, para, iterativamente, espalhar os rtulos, como na equao: y
(t+1) = L
y(t) + (1 )
y(0) . Onde o
parmetro [0, 1) pondera entre favorecer os rtulos atuais, determinados por relao
de vizinhana, e os rtulos iniciais, dados por y
(0) .
Szummer e Jaakkola (2002) propuseram uma maneira alternativa de propagar os rtulos atravs do grafo, que consiste na caminhada aleatria de Markov, onde W pode
ser associado matriz de transio. De forma simplista, uma caminhada aleatria em
um grafo pode ser considerada como uma cadeia de Markov, que signica que a probabilidade de visitar um vrtice vizinho depende do peso da aresta entre os dois vrtices,

Pij = Wij / k Wik . Onde Szummer e Jaakkola (2002) usaram um kernel Gaussiano
para determinar Wij de acordo com os pesos dos vizinhos e Wii = 1. Zhou e Schlkopf
(2004) propuseram propagar os rtulos no grafo, por meio da matriz de transio P =
(1 )I + D1 W, utilizando caminhada aleatria preguiosa. Callut et al. (2008) propuseram outro tipo de caminhada, chamada caminha discriminativa (D-walk), que basicamente, consiste em uma medida de betweenness para vrtices, determinado pelo nmero

APRENDIZADO DE MQUINA BASEADO EM GRAFOS

19

de visitas durante a caminhada. Para cada classe realizada uma caminhada que calcula
uma medida de betweenness para cada vrtice, os vrtices sem rtulo recebem o rtulo
referente classe de maior betweenness para o vrtice.
Por ltimo, a categoria de mtodos utiliza a estrutura do grafo como regularizador em
algum tipo de funo de custo, cuja minimizao determina os rtulos. Dados os rtulos
yl , a consistncia entre com os rtulos iniciais e os atribudos pode ser dado pela Equao
(2.6).
l

(k
yi yi k)2 = k
yl yl k2

(2.6)

i=1

Note que, a Equao (2.6) no utiliza nenhuma informao do grafo, portanto, no


incorpora informaes sobre a geometria dos dados, corresponde somente a uma funo
de perda (loss function). Por outro lado, a consistncia com a estrutura dos dados, pode
ser inferida pela suposio de agrupamento, i.e. dados prximos entre si devem pertencer
mesma classe, dessa forma considere a Equao (2.7).
N
1
Wij (
yi yj )2 = y
> L
y
2 i,j=1

(2.7)

De fato, a combinao da regularizao do grafo dada pela Equao (2.7) com uma
funo de perda como a mostrada na Equao (2.6), tm sido explorada por diversos
autores na literatura. Um exemplos o trabalho de Zhu et al. (2003), que utiliza campo
aleatrio Gaussiano (Gaussian random eld) para atribuir os rtulos e minimizar a funo
de energia, mostrada na Equao (2.8).
E=

(
yi yi )2 +

i=1

N
1
Wij (
yi yj )2
2 i,j=1

(2.8)

No entanto, no trabalho de Zhu et al. (2003) os dados originalmente rotulados so


mantidos inalterados, o que pode ser uma desvantagem quando alguns deles correspondem
a rudo. Dessa forma, pode ser interessante deixar o algoritmo rerrotular as instncias
previamente rotuladas, como no trabalho de Belkin et al. (2004), que alm disso, utiliza
uma funo de energia com termo regularizador e funo de perda um pouco diferente,
como mostra a Equao (2.9).
E=

N
1
(
yi yi )2 + y
> S
y
N i=1

(2.9)

Na qual, S = Lq com q N, conhecida como regularizao de Tikhonov. Nesse tipo de


mtodo, dados inicialmente sem rtulos so inicializados com rtulos de classe aleatrios.
De fato, diversos algoritmos tm sido propostos considerando esta abordagem, alterando
a funo de perda, o termo regularizador ou o algoritmo de minimizao, alguns exemplos
so os trabalhos de Belkin et al. (2005), Joachims (2003), Tsang e Kwok (2007), entre
outros. De maneira que, pode-se obter uma funo de custo geral cuja minimizao

20

REVISO DE CONCEITOS E TRABALHOS RELACIONADOS

resulta na propagao de rtulos, como mostrado na Equao (2.10).


C(
y) = k
y yk2 +
y> L
y + k
y k2

(2.10)

Na equao, = /( 1), onde (0, 1) e o termo k


yk2 , com  > 0, corresponde
a um termo regularizador que previne situaes degenerativas, por exemplo, quando um
grafo tem um componente sem rtulo Chapelle et al. (2006).
Mtodos transdutivos, por denio, no so apropriados para serem usados na classicao de novos dados, ainda que, em alguns casos, possam ser adaptados para tal
propsito. A maneira mais direta de utilizar um mtodo transdutivo para realizar classicao de novos dados , primeiro espalhar os rtulos para todo o conjunto inicial e depois
manter a estrutura do grafo para classicar novos dados. No contexto de classicao de
novos dados, entretanto, no se considera que os novos dados sejam includos no grafo,
o que requereria redistribuir os rtulos a cada nova classicao. Ao invs disso, pode-se
incluir o novo vrtice apenas para classic-lo e depois retir-lo do grafo. Uma abordagem geral para implementar induo a partir de um mtodo transdutivo, proposto por
Delalleau et al. (2005), consiste em rotular, inicialmente, todos os exemplos no rotulados
disponveis, por meio de algum mtodo transdutivo baseado em grafo. Ento, a classe de
um novo exemplo ainda no visto z pode ser inferida de acordo com a Equao (2.11).

fW (z, xj )yj
j fW (z, xj )

(z) = j

(2.11)

Na equao, (z) corresponde classe estimada para o novo exemplo z, e xj e yj


correspondem a instncias de treino e suas respectivas classes. fW a funo associada
matriz de similaridade, W, obtida do conjunto de treinamento. Dessa forma, diferentes
funes, fW , denem diferentes classicadores, por exemplo, se fW correspode funo K
vizinhos mais prximos, ento o problema reduzido classicao utilizando o algoritmos
KNN (Wang e Zhang, 2008).
Podem-se elencar alguns mtodos baseados em grafos propostos para induo de classicadores considerando a abordagem semissupervisionada. Dentre os principais algoritmos esto o modelo proposto por Zhu e Laerty (2005) que utiliza uma combinao de
mtodos geradores, como misturas de Gaussianas (mixture of Gaussians), com regularizao proporcionada pela Laplaciana do grafo. A ideia combinar as vantagens das duas
abordagens, o modelo de mistura usado para modelar os dados localmente enquanto
que a estrutura global modelada pelo grafo. Uma abordagem similar foi proposta por
Krishnapuram et al. (2005), na qual alm do uso do grafo como regularizador, usa-se o algoritmo Expectation-Maximization (EM) para treinar o classicador (Hastie et al., 2009).
O que o torna custoso computacionalmente devido ao uso dos algoritmos EM. Alguns algoritmos baseados em grafo dependem fortemente do conjunto de dados em questo, por
exemplo, o mtodo proposto por Sindhwani et al. (2005), consiste na denio de um kernel no paramtrico que obtido a partir de um grafo que depende diretamente do dado

APRENDIZADO DE MQUINA BASEADO EM GRAFOS

21

em questo e considera dados rotulados e no rotulados. Belkin et al. (2006) sugeriram


uma abordagem geral, dependente do conjunto de dados em considerao, para criar uma
regularizao geomtrica que pode ser utilizada para solucionar problemas de aprendizado
no supervisionados, semissupervisionados e supervisionados. O esquema geral baseia-se
em dois termos de regularizao, um que controla a complexidade do classicador e outro
a complexidade da distribuio dos dados. Chen et al. (2009a) propuseram uma abordagem multigrafo que consiste em um problema de otimizao convexa que considera
muitos grafos. Para um determinado conjunto de dados, cada grafo associado a um
kernel. Por meio desta abordagem multigrafo, uma funo pode ser aprendida utilizando
dados rotulados e no rotulados, atravs da minimizao da funo de regularizao que
modela a contradio entre erro e suavidade da funo. A natureza multigrafo do mtodo
previne uma eventual representao ruim quando se utiliza apenas um grafo garantindo
bom resultado de classicao.

2.2.4 Aprendizado supervisionado baseado em grafos


Nota-se, atravs das descries apresentadas que, o uso de algoritmos baseados em
grafos tem sido bastante estudado no mbito do aprendizado de mquina, especialmente
no que se refere aos aprendizados, no supervisionado e semissupervisionado. No entanto,
no aprendizado supervisionado algoritmos baseados em grafos no tm recebido a mesma
ateno, principalmente na soluo de problemas apresentados como dados vetoriais. Presumivelmente, pode-se considerar algum mtodo semissupervisionado (como os propostos
em (Belkin et al., 2006) (Sindhwani et al., 2005) (Chen et al., 2009a), por exemplo), para
atuar na classicao supervisionada, dado um nmero razovel de instncias rotuladas.
O problema, neste caso, que mtodos semissupervisionados foram concebidos para incorporar conhecimento utilizando-se de dados rotulados e no rotulados e, na maioria
dos casos, o grafo usado justamente para modelar (regularizar) os dados em uma estrutura que possibilite a propagao dos rtulos. E, no geral a regularizao por meio do
grafo custosa computacionalmente, dessa forma, se um conjunto com dados rotulados
disponibilizado, um mtodo regular de classicao prefervel.
Um tipo relacionado de classicao que utiliza algoritmos baseados em grafos referese classicao relacional, e aplicado a dados relacionais. Este tipo de dado naturalmente representado por grafos e difere-se de dados tpicos, pois viola a premissa de
instncias independentes, o que signica que a classe de uma instncia pode no depender somente de seus atributos, mas estar relacionada a outras instncias ou a uma cadeia
de relaes entre vrias instncias (Macskassy e Provost, 2003). Aplicaes que geram
este tipo de dados incluem, reconhecimento de cadeias moleculares em expresses gnicas
(Segal et al., 2003), classicao de artigos cientcos relacionados (Lu e Getoor, 2003), e
de documentos e patentes (Chakrabarti et al., 1998), e de pginas da web (Neville et al.,
2003), so alguns exemplos. Visando a unicao do uso de grafo na classicao relacional, Macskassy e Provost (2007) propuseram uma abordagem geral para adaptar-se

22

REVISO DE CONCEITOS E TRABALHOS RELACIONADOS

diversas aplicaes no que diz respeito a dados relacionais. Nesta abordagem constri-se
um modelo considerando trs partes, a saber: um classicador indutivo local, que faz uso
do conjunto de treinamento para estimar a distribuio de probabilidade das diferentes
classes; um classicador relacional, que tambm visa estimar a distribuio de probabilidade, mas agora considerando relaes de vizinhana em um grafo e; um classicador de
inferncia coletiva, i.e. capaz de classicar um conjunto de dados de uma vez, usado para
renar as predies realizadas pelos classicadores anteriores.
Outra abordagem, usada para estimar relaes de similaridades entre vrtices em
um grafo ou entre dois grafos conhecida por kernel de grafos (graph kernel), ver por
exemplo (Vishwanathan et al., 2010). De forma sucinta, este tipo de mtodo utiliza uma
funo kernel para estabelecer uma medida de similaridade no grafo. A maior diculdade
neste tipo de abordagem esta justamente na denio de uma funo kernel adequada
estrutura do grafo cujo clculo seja eciente. De qualquer maneira, este tipo de mtodo foi
proposto para ser aplicado a grafos, isso signica que pode ser usado em dados relacionais.
J considerando dados vetoriais representados como grafos, a classicao de um novo
dado exigiria que este fosse includo no grafo. O que anlogo ao problema de se usar
um mtodo semissupervisionado transdutivo para classicar uma nova instncia, exigindo
alto custo computacional.

2.3 Classicao de dados com distribuio estacionria


Na classicao de dados, tem-se como objetivo atribuir, a um dado, por meio de
seus atributos, uma classe (ou categoria) dentre as classes pr-denidas. Neste contexto,
por padres entende-se relaes, regularidades ou estruturas inerentes a alguns conjuntos de dados (Mitchell, 1997). Atravs da deteco de padres signicantes nos dados
disponveis, espera-se que um sistema classicador possa realizar predies com relao a
dados ainda no classicados (Bishop, 2006). Um classicador resultado de um processo
de aprendizado supervisionado ou semissupervisionado indutivo, que utiliza um conjunto
de dados com instncias rotuladas para treinar (ou construir) o classicador (Duda et al.,
2001).
De acordo com Duda et al. (2001) alguns dos subproblemas inerentes classicao
so: 1) seleo de atributos, 2) falta valores de atributo, 3) rudo e outlier, 4) seleo de
modelo, 5) complexidade 6) subadaptao (undertting) e superadaptao (overtting),
entre outros. Todos constituem por si s um assunto de pesquisa em classicao, por
essa razo cada tpico ser brevemente explicado.
Dentre os problemas citados, os cinco primeiros esto diretamente relacionados ao
conjunto de dados. Na seleo de atributos, de modo geral, um conjunto de treinamento
pode conter vrios atributos, de dezenas a centenas, de modo que a utilizao de todos
pode ser invivel e ineciente, uma vez que alguns atributos podem dizer mais que outros sobre a classe dos dados. Dessa forma, antes de treinar o classicador, uma prtica

CLASSIFICAO DE DADOS COM DISTRIBUIO ESTACIONRIA

23

bastante utilizada selecionar alguns dos atributos que melhor distinguem as classes,
alguns dos principais mtodos para seleo de atributos so revisados nos trabalhos de
(Guyon e Elissee, 2003) e (Liu e Yu, 2005). Tpicos relacionados para escolha de atributos utilizam transformao de atributos, tais como Principal Component Analysis (PCA)
e Linear Discriminant Analysis (LDA) (Martnes e Kak, 2001) e construo de atributos
(Markovitch e Rosenstein, 2002). A falta de valores de atributos ocorre quanto uma instncia, por alguma razo, no possui algum de seus atributos. Neste caso, o classicador
precisa lidar com duas situaes, no treino e na classicao. No treino, se o conjunto
de dados for grande e as instncias com falta de atributo forem poucas, estas podem
ser retiradas, caso contrrio alguma medida deve ser tomada, no geral ou o classicador
dispe de mecanismos para lidar com esse tipo de problema, por exemplo o C45, ou um
tipo de imputao (Hruschka et al., 2009) deve ser realizado.
Ainda considerando o dado em questo, um problema inerente a todas as bases de
dados reais o rudo. De forma bastante abrangente, toda propriedade de uma instncia
que no est relacionada distribuio original dos dados, mas sim a uma distribuio
aleatria, denido como rudo. Rudos so causados por diversos fatores, como erro na
atribuio da classe a uma instncia, erro na leitura de atributos por parte de sensores ou
falha humana, etc. J com relao outliers, Liu et al. (2002) os denem como padres
estranhos, que no se assemelham ao restante dos dados em algum sentido. Em geral,
assim como no caso de um rudo, um outlier pode ser ocasionado por alguma falha. No
entanto, nem todo outlier resultado de falha, de fato, alguns deles podem indicar alguma
propriedade signicante da aplicao em questo. Basicamente existem duas abordagens
no tratamento de outliers. Em uma delas, o foco procurar por essas anomalias nos dados,
ou identicar os outliers (Angiulli e Pizzuti, 2005), por exemplo, identicar intruso em
redes de computadores. A outra abordagem consiste na eliminao de outliers nos dados
usados na classicao de dados (treino e teste), onde necessrio que o algoritmo tenha
mecanismos para desconsiderar outliers (Brodley e Friedl, 1996). Portanto, no contexto
de classicao dados, desenvolver algoritmos que sejam robustos rudos e outliers
importante pois a eliminao destes pode diminuir o erro de generalizao do classicador
construdo.
Apesar de ser atribudo, a um algoritmo de aprendizado, um conjunto de treinamento
nito, espera-se que o classicador, obtido do treinamento, tenha capacidade de generalizar os conceitos aprendidos. A generalizao da performance de um classicador est
relacionado a sua capacidade de predio em dados no vistos, i.e. que no esto presentes no conjunto de treinamento. Determinar o erro de generalizao de extrema
importncia na prtica, uma vez que este erro est relacionado ao desempenho esperado
do classicador. O erro de generalizao utilizado tambm na escolha entre diferentes
algoritmos e na seleo de modelos, para uma determinada aplicao. A escolha de um
algoritmo de aprendizado entre vrios outros pode depender de diversos fatores que no
somente o erro de generalizao, tais como tempo de resposta, uso da memria, natureza

24

REVISO DE CONCEITOS E TRABALHOS RELACIONADOS

do problema, administrao de riscos ou custos, tipo de dado, quantidade de dados, entre outras (Duda et al., 2001). Estes fatores esto relacionados complexidade de um
algoritmo de aprendizado, a complexidade determina como o algoritmo se comporta, em
relao ao tempo, com o aumento de instncias de treinamento. No contexto de classicao, pode-se dividir a complexidade de um algoritmo em dois, a complexidade de treino
e a de teste/aplicao. No geral, a complexidade de treinamento menos importante que
a complexidade na fase de aplicao, uma vez que nesta fase o classicador encontra-se
em uso. Uma vez que est relacionada com a velocidade em que o classicador processar
novos dados de alguma aplicao real. Uma vez denidas as possibilidades de algoritmos
de aprendizado, com relao aos fatores descritos, necessrio ajustar os parmetros para
as opes paramtricas de algoritmos. Cada possvel variao de parmetros para um determinado algoritmo de treinamento constitui uma diferente instncia do classicador que
chamado modelo. Determinar qual o melhor modelo para um problema de classicao
um problema de seleo de modelos e ser abordado adiante.
A preocupao com a generalizao justicada, tambm, para evitar o problema
de superadaptao ou subadaptao do classicador (Sarle, 1995). De forma simplista,
no primeiro caso, o classicador demasiado complexo para o problema em questo, de
modo que este apresenta tima performance no treino mas tem sua capacidade de generalizao comprometida. J no segundo caso ocorre o inverso, o classicador demasiado
simples para o problema em questo. O ajuste de um mtodo de classicao ao conjunto
de treinamento tem relao com o dilema vis-varincia no qual o vis corresponde
diferena entre a verdadeira distribuio de probabilidade condicional das classes reais e
a probabilidade estimada pelo classicador. J a varincia corresponde variao das
estimativas feitas pelo classicador. Mtodos de classicao lineares apresentam baixa
varincia, pois considerando muitos conjuntos de dados as opes de classicao so
sempre limitadas a um hiperplano, e alto vis, principalmente para dados no lineares.
Por outro lado, mtodos de classicao no lineares, apresentam alta varincia, devido
grande capacidade de adaptao ao dado em questo, e baixo vis, por conseguir representar mais detalhadamente os dados de treinamento. O caso ideal minimizar tanto o
vis quanto a varincia que, no geral, so termos conitantes.

2.3.1 Classicao multiclasse e comits


Esta seo revisa o uso de comits na classicao em geral, bem como em domnios
multiclasse e domnios no estacionrios. Um comit consiste em um conjunto de classicadores cujas predies individuais so combinadas para obter uma predio nal. Mtodos baseados em comit, em geral, apresentam bom desempenho e tm maior poder de
escalabilidade e paralelizao do que classicadores simples. As principais preocupaes
no que diz respeito ao desenvolvimento de um comit so, a escolha dos classicadores
bases e o mtodo de combinao das sadas dos classicadores. Um esquema geral para
um comit mostrado na Figura 2.4.

CLASSIFICAO DE DADOS COM DISTRIBUIO ESTACIONRIA

25

H(z) = jH(z)
Resoluo
do comit

h1(z)

h2(z)

he(z)

Classificador h1|w1

Classificador h2|w2

. . .

Classificador he|we

Figura 2.4: Esquema geral de classicao usando um comit de classicadores.


Considere a classicao do exemplo de entrada z, por meio do comit, o exemplo
apresentado a todos os classicadores do comit, que o processam e retornam uma sada
hi (z). Esta sada depende de como o comit resolvido, por exemplo, nos casos onde o
esquema de resoluo a votao, a sada dos classicadores pode ser a classe. Note que
cada classicador possui um peso associado, pois em alguns casos a resoluo do comit
envolve ponderao entre classicadores, de modo que, a sada pode representar alguma
combinao entre resultado de classicao e peso. O peso, geralmente, atualizado de
acordo com o desempenho do comit. A sada do comit, H(z), corresponde classe mais
provlvel atrbuida ao exemplo de entrada z segundo alguma regra de resoluo.
Em domnios estacionrios dois mtodos bastante conhecidos para a construo de
comits so bagging e boosting (Opitz e Maclin, 2000). O mtodo de bagging (Breiman,
1996) consiste em gerar conjuntos boostrap (Seo 2.3.2) e treinar cada classicador
base em um conjunto bootstrap diferente. Breiman (1996) mostrou que o mtodo de
bagging eciente quando o algoritmo de aprendizado para a construo dos classicadores
bases so instveis, onde pequenas alteraes no conjunto de treino resulta em grandes
alteraes na performance. O mtodo de boosting (Schapire, 1990), consiste em uma
famlia de mtodos, mas de maneira geral, um novo classicador base criado tendo
como referncia o desempenho dos ltimos classicadores adicionados. De forma que, os
exemplos classicados incorretamente tm maior possibilidade de estarem no conjunto de
treinamento para a construo do novo classicador.
J em domnios de dados com distribuio no estacionria, outros tipos de mtodos
para a criao de comits tm sido propostos. Alm de algoritmos especcos para a
construo de comits na resoluo de problemas no estacionrios, como alguns dos
algoritmos apresentados na Seo 2.4.2; uma reviso dos principais mtodos pode ser
encontrada no trabalho de Fern e Givan (2003).

26

REVISO DE CONCEITOS E TRABALHOS RELACIONADOS

Algumas abordagens para solucionar problemas multiclasse podem ser vistas como
aprendizado de um comit de classicadores. Frequentemente problemas de classicao
possuem mais que duas classes, e apesar de muitos algoritmos abordarem o problema
naturalmente, como o KNN ou o Naive Bayes, outros necessitam de algumas alteraes
como no caso das redes neurais, cuja sada precisa ser associada a uma classe. H tambm
os classicadores que so estritamente binrios, como no caso do SVM, que apesar de
possuir outros tipos de extenes para o caso multiclasse, apresenta melhor resultado
quando utilizado em sua forma binria combinadas em comit (Hsu e Lin, 2002). Uma
reviso de alguns dos principais mtodos existentes para a combinao de classicadores
pode ser encontrada no trabalho de Allwein et al. (2000).
Dentre estes mtodos pode-se destacar dois, o mtodo de um-contra-todos e o mtodo
um-contra-um. O primeiro caso, consiste em reduzir o problema de classicao entre
as classes em subproblemas binrios, onde cada subproblema discrimina uma dentre
as classes, portanto cada classicador binrio representa uma classe. Um comit desse
tipo pode ser formado construindo-se classicadores em conjuntos de treinamento
diferentes. Cada conjunto formado atribuindo-se a uma das classes do conjunto original,
o rtulo 1, e s instncias das demais classes o rtulo 1; para outro conjunto escolhe-se
outra classe para atribuir-se rtulo 1 - at que todas as classes tenham sido representadas.
No geral esse tipo de comit resolvido pela abordagem do vencedor leva tudo (winner
takes all), i.e. a classe atribuda instncia de teste z a classe referente ao classicador
que apresenta a maior sada para z.
Na segunda abordagem, um-contra-um, cada classe comparada com toda outra
classe. Um classicador binrio construdo para discriminar entre todo par de classes,
enquanto descarta o restante das classes. Esta abordagem requer construir ( 1)/2
classicadores. No teste de um novo exemplo, um esquema de votao realizado e a
classe com o maior nmero de votos atribuda ao exemplo de dado a ser classicado.
Resultados empricos (Allwein et al., 2000) favorecem esta abordagem em relao anterior.

2.3.2 Seleo de modelos


A construo de um classicador envolve vrias escolhas e variveis, dentre as quais
se enquadram as j citadas, pr-processamento, parmetros do classicador, etc. Se considerada as vrias combinaes entre essas variveis, nota-se que cada combinao resulta
em uma instncia de um classicador, ou um modelo. Indiscutivelmente, cada um desses
modelos tm caractersticas prprias e at mesmo diferentes concepes sobre o problema
em questo. Por essa razo, cada classicador ter um erro de generalizao diferente, o
que, inevitavelmente, leva a um problema de seleo de modelo.
Como mencionado o erro de generalizao de importncia fundamental no processo
de escolha de um classicador. Entretanto, obter uma medida convel do erro de generalizao no tarefa trivial, especialmente quando no h dados sucientes. Em problemas

CLASSIFICAO DE DADOS COM DISTRIBUIO ESTACIONRIA

27

onde a quantidade de dados rotulados grande (da ordem de milhares ou mais), possvel
selecionar uma parte do conjunto sucientemente grande para treinar o classicador e utilizar o restante dos dados para testar e validar o classicador. Ainda assim, necessrio
testar os modelos em diversos conjuntos de treino com diferentes tamanhos para denir um
classicador adequado. No entanto, muitos dos problemas de classicao no dispem
de grande quantidade de dados rotulados, e utilizar o conjunto de treino para estimar o
erro de generalizao uma estimativa otimista que no reete o erro real. Neste tipo
de problema, onde os dados rotulados so escassos (da ordem de centenas ou menos),
necessrio algum mtodo para estimar o erro real de generalizao (Hastie et al., 2009).
No que segue sero descritos dois dos mtodos mais usados para estimar o erro de
generalizao, Bootstrap e validao cruzada. importante discernir dois objetivos na estimativa do erro de generalizao, seleo de modelos e avaliao do modelo. No primeiro
o objetivo estimar o desempenho de vrios classicadores para escolher um deles. Uma
vez escolhido o modelo, o objetivo no segundo caso, determinar seu desempenho esperado. Os mtodos discutidos nesta seo so baseados em amostragens. Mtodos analticos
tais como AIC (Blatt et al., 1973), MDL (Rissanen, 1983) e seleo de modelos Bayeisiana
(Madigan e Raftery, 1994) e BIC (Schwarz, 1978) para obter o erro de generalizao esto
fora do escopo deste trabalho.

2.3.2.1 Bootstrap
Bootstrap um mtodo estatstico de reamostragem que pode ser usado para determinar o erro de generalizao de um classicador. Um conjunto bootstrap formado a
partir do conjunto original e possui o mesmo nmero de elementos. No entanto, para
a formao de cada conjunto bootstrap os exemplos de dados so selecionados aleatoriamente do conjunto original, podendo ocorrer repeties. Uma das maneiras para estimar
o erro de generalizao utilizando o mtodo Bootstrap, consiste em treinar o classicador
em B conjuntos bootstrap diferentes e estimar o erro utilizando o conjunto original como
conjunto de teste. A estimativa do erro de generalizao dada segundo a mdia do
desempenho dos B classicadores, como mostrado na Equao (2.12).
Errobootstrap =

B
N
1 1
(yi , (xi ))
B N b=1 i=1

(2.12)

Na qual, Errobootstrap corresponde ao erro de generalizao estimado, N o nmero de


instncias no conjunto de treinamento, uma funo de erro e yi e (xi ), correspondem
classe real e classe estimada para a instncia xi , respectivamente. Uma alternativa
no conjunto usado para teste considerar outro conjunto bootstrap, diferente do usado
para o treinamento do modelo. No entanto, nos dois casos, fcil vericar que o erro
Errobootstrap no uma boa estimativa para o erro real, devido existncia de instncias
de dados comuns aos conjuntos de treino B e o conjunto original (ou outro conjunto
bootstrap) que age como conjuntos de teste. Essa sobreposio de dados induz a uma

28

REVISO DE CONCEITOS E TRABALHOS RELACIONADOS

estimativa otimista do erro, o que torna a estimativa no convel.


Outra maneira para estimar o erro de generalizao utilizando o mtodo Bootstrap
considera a probabilidade de reamostragem como peso na estimativa do erro. Uma vez
que cada amostragem de um conjunto bootstrap de tamanho N tem em mdia 0, 632N
instncias sem repetio, Efron (1983) props obter o peso ponderando entre o erro no
conjunto usado no treino e no conjunto original, usado no teste, como mostra a Equao
(2.13).
Erro632 = 0, 368ET r + 0, 632ET e

(2.13)

Na equao, Erro632 denota a estimativa ponderada para o erro de generalizao, ET r


denota o erro no conjunto de treino e ET e corresponde ao erro de teste, podendo este
ser simplesmente a mdia do erro no conjunto original, em outros conjuntos bootstrap ou
ainda a mdia do erro considerando outras variaes, como por exemplo deixar de fora
uma instncia de treinamento a cada vez (leave-one-out bootstrap), como na Equao
(2.14).
ET e =

1
1
(yi , (xi ))
N i=1 |C i | bC i

(2.14)

Na equao C i o conjunto de ndices dos conjuntos bootstrap b que no possuem


a instncia xi e, novamente uma funo de erro, yi a classe da instncia xi e (xi )
a classe estimada pelo classicador. No entanto, apesar de resolver o problema de estimativa otimista do mtodo Boostrap convencional, o Boostrap 632 apresenta falha na
estimativa de erro quando ocorre superadaptao (Efron e Tibshirani, 1997). O problema
ca claro no exemplo citado por Breiman et al. (1984), no qual considera-se um problema
de classicao com duas classes de tamanhos iguais e que o classicador 1NN seja usado,
dessa forma, o erro no treinamento ser ET r = 0, ao passo que o erro no conjunto de testes
ser ET e = 0, 5. Consequentemente o erro de generalizao dado pelo mtodo Bootstrap
632, Erro632 = 0, 368 0 + 0, 632 0, 5 = 0, 316, o que uma estimativa ruim dado
que o erro real 0, 5. Em vista deste problema, Efron e Tibshirani (1997) propuseram o
mtodo Bootstrap 632+, que consiste em uma extenso do Bootstrap 632 que considera a
quantidade de superadaptao para estimar o erro. Esta correo corresponde taxa
de superadaptao relativa dada pela Equao (2.15).
= (ET e ET r )/(
R
ET r )

(2.15)

representa a taxa de superadaptao relativa que varia no intervalo


Na equao, R
[0, 1] indicando o nvel de superadaptao do classicador. Os erros ET e e ET r so os erros
= 0 implica
obtidos nos conjuntos de teste e de treino, respectivamente. Dessa forma, R
= 1 signica que o classicador superadaptou-se
que no existe superadaptao e R
completamente ao problema, o que equivale ao valor do erro de desinformao (
ET r ).
Sendo que corresponde taxa de erro sob nenhuma informao sobre o problema.

CLASSIFICAO DE DADOS COM DISTRIBUIO ESTACIONRIA

29

Esta taxa corresponde predio de um determinado classicador se os atributos e as


classes forem independentes, podendo ser estimada, para o caso multiclasse, com mostra
a Equao (2.16).
=

pl (1 ql )

(2.16)

Na qual, pl a proporo observada de classes l , e ql a proporo observada de


classicaes que resultaram na classe l . Dessa forma, incorporando informaes sobre
o nvel de superadaptao do classicador na Equao (2.13), obtida a extenso, mais
robusta superadaptao, nomeada Bootstrap 632+ e mostrada na Equao (2.17).
Erro632+ = (1 w)E
T r + wE
Te

(2.17)

Na qual w
= 0, 632/(10, 368R), e w varia entre 0, 632 a 1, fazendo com que Erro632+
varie entre Erro632 e ET e . Em conjuntos pequenos onde classicadores pouco adaptativos
foram usados, o mtodo de estimativa bootstrap 632+ considerado a melhor escolha
(Kim, 2009).
2.3.2.2 Validao cruzada
Um dos mtodos mais usados para estimar o erro de generalizao a validao
cruzada. Na validao cruzada o conjunto de treinamento dividido aleatoriamente em
dois, onde uma parte ser usada para treinar o classicador e o restante para estimar o erro
de generalizao. No entanto, esta abordagem requer isolar um conjunto de validao,
o que pressupe disponibilidade de dados. Na maioria das vezes, entretanto, os dados
rotulados so escassos para utilizar todo o conjunto de dados no processo de derivao do
erro. Uma alternativa usar a validao cruzada de k-conjuntos. Neste caso o conjunto
de treinamento dividido em k subconjuntos com tamanhos iguais (ou aproximados)
N/k, no qual N o nmero de elementos no conjunto de treinamento. Cada modelo
treinado k vezes, cada vez com um conjunto diferente, formado por (k 1) conjuntos,
e deixando um conjunto diferente a cada vez, para validao. Considere a diviso em
conjuntos, mostrado na Figura 2.5, cada conjunto dividido em k conjuntos, sendo que
um deixado para teste, mostrado em destaque (vermelho) na gura.
O erro para cada modelo calculado como a mdia do erro nos k conjuntos de validao. No geral, k pode ser escolhido no intervalo 1 k N , sendo que quando k = N ,
o mtodo chamado de leave-one-out, valores comumente usados e que resultam em bons
resultados so k = 5 e k = 10 (Hastie et al., 2009). A estimativa do erro de classicao
dada pela Equao (2.18).
ErroCV

N
1
=
(yi , (xi ))
N i=1

(2.18)

Na equao, ErroCV corresponde ao erro de generalizao estimado, a uma determi-

30

REVISO DE CONCEITOS E TRABALHOS RELACIONADOS

4 .

4 .

4 .

.
.
k

.
.
k

.
.
k

. . .

Figura 2.5: Exemplo de diviso de conjuntos para validao cruzada de k-conjuntos.


nada funo de erro e, yi e (xi ) referem-se classe real e classe inferida pelo classicador
para a instncia xi , respectivamente. Com o conjunto de treinamento xo, a validao
cruzada de k-conjuntos apresenta uma variao nos resultados devido aleatoriedade das
parties nos k conjuntos. Na literatura, esta variao chamada de varincia interna (ver
(Efron e Tibshirani, 1997), (Braga-Neto e Dougherty, 2004). Manter as porcentagens das
classes nos k conjuntos similar apresentada no conjunto original, i.e. estraticar, diminui
a varincia interna. Outra forma, que pode ser aliada estraticao, repetir todo o
processo de validao cruzada algumas vezes e considerar a mdia como estimativa nal.
Outras variaes, como validao cruzada dupla com repetio, na qual so considerados
dois nveis de repetio, uma validao dentro de outra, tambm so estudados na literatura para seleo de modelos (Filzmoser et al., 2009). Kim (2009) vericou que, exceto
para conjuntos de dados pequenos aplicados a classicadores pouco adaptativos, onde o
Bootstrap 632+ a melhor escolha, a melhor estimativa para o erro de generalizao
obtida pela validao cruzada com repetio. Portanto, o mtodo de estimativa mais
recomendado para uso geral - o que motivou o uso neste trabalho.

2.3.3 Algoritmos de aprendizado estticos


Esta seo apresenta alguns algoritmos de aprendizado para domnios de dados estacionrios, notados como algoritmos estticos, e aplicveis a domnios cuja distribuio dos
dados de teste no se diferem da distribuio dos dados de treino. Considere a seguinte
notao, seja o conjunto de treinamento X = {x1 , x2 , . . . , xN }, com N instncias, onde
a i-sima instncia representada por xi = (xi1 , xi2 , . . . , xip , yi ), sendo p o nmero de
atributos e um rtulo de classe associado, yi , pertencentes a uma das classes do conjunto
= {1 , . . . , }. Uma instncia no rotulada para ser classicada representada por
z = (z1 , . . . , zp ); a classe atribuda por um classicador ao exemplo de dado no rotulado
z representado por (z).
No que segue so apresentados alguns algoritmos de aprendizado bem conhecidos para
a construo de um classicador, sendo que alguns deles sero utilizados como comparativos para o algoritmo KAOG, apresentado no Cpitulo 3.

CLASSIFICAO DE DADOS COM DISTRIBUIO ESTACIONRIA

31

2.3.3.1 Aprendizado Bayesiano


Mtodos de aprendizado Bayesiano permitem uma abordagem probabilstica para inferncia. Baseiam-se na idia de que o problema em questo governado por uma distribuio de probabilidade e que decises timas podem ser tomadas considerando essas
probabilidades junto ao dado observado. Esta abordagem baseia-se em quanticar os
benefcios entre as vrias decises de classicao usando probabilidade e o custo envolvendo tal deciso.
De acordo com Mitchell (1997), o aprendizado bayesiano tem, ao menos, duas caractersticas interessantes. A primeira, algoritmos de aprendizado Bayesiano, alm de serem
prticos, permitem calcular explicitamente a probabilidade de uma dada hiptese. A
segunda razo, que, o aprendizado Bayesiano prov base para o entendimento de outros mtodos de classicao que no lidam com probabilidades diretamente. Dentre as
principais caractersticas do aprendizado bayesiano, pode-se destacar: 1) cada novo dado
classicado pode incrementar ou decrementar a probabilidade estimada de uma hiptese
estar correta; 2) o conhecimento armazenado no conjunto de treinamento pode ser combinado com novas instncias para determinar a probabilidade nal de uma hiptese; 3)
mtodos Bayesianos permitem uma predio probabilstica das hipteses; 4) novas hipteses podem ser classicadas por meio da combinao de mltiplas hipteses, ponderadas
pelas respectivas probabilidades.
Para a apresentao do teorema de Bayes, considere P (h) a probabilidade de que a
hiptese h ocorra, tambm chamado de probabilidade a priori de h e reete algum
conhecimento prvio sobre a chance de h ser a hiptese correta. Se no houver nenhum
conhecimento prvio sobre as hipteses, todas as hipteses recebem a mesma probabilidade a priori. De modo similar P (X) denota a probabilidade a priori de que o conjunto
X seja observado. A probabilidade P (X|h) denota a probabilidade de que X ocorra
dado a hiptese h seja vericada. No caso do aprendizado de mquina o que interessa
P (h|X), ou seja, a probabilidade de h ocorrer dado X, chamado de probabilidade a
posteriori de h. O aprendizado Bayseano baseado no teorema de Bayes, e fornece uma
maneira de calcular a probabilidade a posteriori P (h|X) dado as probabilidades P (h),
P (X) e P (X|h), a relao entre as probabilidades mostrada na Equao (2.19).
P (h|X) =

P (X|h)P (h)
P (X)

(2.19)

A equao de Bayes mostra que, observando o conjunto X, pode-se converter a probabilidade a priori P (h), em uma probabilidade a posteriori P (h|X), que a probabilidade
de ocorrer h dado o conjunto de treinamento X. A classicao aplica o teorema de Bayes
a tarefas de aprendizado nas quais a funo alvo pode assumir qualquer valor dentro de
um conjunto nito . Dado um conjunto de treinamento, a abordagem do algoritmo
Naive Bayes para a classicao de um nova instncia z atribuir o valor mais provvel
(z), dado os valores de atributos da nova instncia (z1 , z2 , . . . , zp ) e usando o teorema

32

REVISO DE CONCEITOS E TRABALHOS RELACIONADOS

de Bayes, como mostra a Equao (2.20).


(z) = arg max
j

P (j |z1 , z2 , . . . , zp )P (j )
P (z1 , z2 , . . . , zp )

(2.20)

Uma maneira de estimar ambos os termos da Equao (2.20) baseia-se no conjunto


de treinamento. Por exemplo P (j ) pode ser estimado contando a frequncia de exemplos de classe j no conjunto de treinamento. Entretanto, estimar os diferentes termos
P (z1 , z2 , . . . , zp ) dessa maneira, no vivel a menos que o conjunto de dados seja muito
grande. O problema que o nmero desses termos igual ao nmero de instncias possveis vezes o nmero de classes.
A classicao baseia-se na simples suposio de que os valores dos atributos so
condicionalmente independentes, dado o valor da classe. Em outras palavras, dado uma
classe para a instncia z, a probabilidade de ocorrer a conjuno z1 , z2 , . . . , zp dada pelo

produto das probabilidades individuais dos atributos P (z1 , z2 , . . . , zp |j ) = i P (zi , j ).


Substituindo na Equao (2.20), pode-se estimar (z) de acordo com a Equao (2.21).
(z) = arg max P (j )
j

P (zi , j )

(2.21)

No qual (z) denota a classe resultante da classicao. O mtodo de aprendizado


Bayesiano envolve estimar as varias probabilidades P (X) e P (h|X), baseadas na frequncia no conjunto de treinamento. Uma diferena interessante entre o aprendizado Bayesiano
comparado a outras tcnicas, que, neste no h busca explicita no espao de hipteses.
Ao invs disso, as hipteses so formadas simplesmente contanto a frequncia de dados
no conjunto de treinamento. A principal desvantagem do aprendizado Bayesiano que
assume-se que o problema seja denido em termos probabilsticos, e que todos os valores
probabilsticos relevantes so conhecidos.
2.3.3.2 O mtodo dos vizinhos mais prximos - KNN
O mtodo dos K vizinhos mais prximos (K Nearest Neighbors (KNN)) um mtodo
de aprendizado de mquina baseado em instncia, uma vez que consiste simplesmente em
armazenar o conjunto de treinamento em questo. Quando uma nova instncia precisa
ser classicada, um conjunto de instncias similares recuperado da memria e usado na
classicao da nova instncia. Esse tipo de classicador baseado em memria, e no
requer treinamento de um classicador. Dado uma entrada de teste z, encontram-se os K
vizinhos mais prximos, ou seja as K instncias mais prximas, segundo alguma medida
de distncias, em relao z, e ento, a classicao feita usando o critrio de maioria
dos votos entre os K vizinhos. O conceito de proximidade implica o uso de uma medida
de distncia, o exemplo trivial a distncia Euclidiana, dentre outras possibilidades esto
a distncia Manhattan e a distncia tangente (Duda et al., 2001).
O algoritmo KNN calcula as distncias entre o exemplo a ser classicado z e todas
as instncias, xi , pertencente ao conjunto rotulado X. Em seguida, as K instncias

CLASSIFICAO DE DADOS COM DISTRIBUIO ESTACIONRIA

33

mais prximas z so selecionadas, de modo que a classe atribuda a z, ser a classe mais
comum entre as K instncias selecionadas. Quando K um valor par pode ocorrer empate
na classicao da nova instncia, nestes casos Hastie et al. (2009) sugerem resolver o
impasses de maneira aleatria. Esta deciso, por mais curiosa que parea, faz sentido
pelo fato de que outro tipo de deciso pode favorecer outro valor de K. Por exemplo, se
o critrio de deciso em caso de empate fosse optar pela classe do vizinho mais prximo,
toda vez que houvesse empate seria como usar K = 1. O processo de classicao feito
pelo KNN pode ser escrito como na Equao (2.22).
(z) = {j | max
j

j ,yi }

(2.22)

xi z,K

Na equao, z,K corresponde K-vizinhana do exemplo z denida pelos seus K


vizinhos mais prximos, ij o delta de Kronecker, no qual ij = 1, se i = j, e ij = 0,
caso contrrio. Note que a classe do novo elemento, segundo a classicao pelo KNN,
pode mudar vrias vezes conforme o valor de K aumenta.
Apesar de sua simplicidade, o algoritmo KNN tem sido utilizado com sucesso em diversos problemas de classicao incluindo reconhecimento de escrita manual (Simard et al.,
1993), classicao de imagens de satlite (Michie et al., 1994), etc. O KNN geralmente
aplicado com sucesso onde cada classe do conjunto rotulado possui vrios dos padres
possveis, e a borda de deciso muito irregular. Um dos principais problemas associado
ao mtodo KNN, justamente a escolha do seu nico parmetro K. A melhor escolha
para K depende do dado em questo. Geralmente, valores pequenos para K produzem
bordas de deciso irregulares, como mostra a Figura 2.6(a), tendendo a distinguir todo
dado individualmente em regies de rudo, o que compromete a generalizao. J valores
altos para K reduzem o efeito de rudos na classicao, mas tornam a borda de deciso
entre as classes, menos distintas e mais suaves, como mostrado na Figura 2.6(b). A escolha de K, na maioria das vezes feita atravs de tentativa e erro ou atravs de alguma
heurstica como validao cruzada.
primeira vista o desempenho assinttico do mtodo dos vizinhos mais prximos
parece ser muito bom, considerando a simplicidade da regra. Uma explicao heurstica
para isto deve-se ao fato de que a varivel associada classe da instncia a ser classicada, z, uma varivel randmica. A probabilidade de que (z) = i simplesmente a
probabilidade a-posteriori P (i |z). E se z for muito prximo de xi , pode-se assumir que
P (i |xi ) P (i |z). Assumindo que existe um nmero ilimitado de dados de treinamento,
xi ser muito prximo do exemplo z. Se a atribuio das classes nos dados de treinamento
foi feita de maneira correta ento o valor de z o valor que maximiza a probabilidade
a-posteriori P (i |z).
KNN com peso Uma das variaes naturais do KNN, o algoritmo KNN com peso,
consiste em priorizar a ordem de vizinhana entre os K vizinhos mais prximos do exemplo
de dado a ser classicado, i.e. quanto menor a distncia do novo dado para um vizinho,

34

REVISO DE CONCEITOS E TRABALHOS RELACIONADOS

(a)

(b)

Figura 2.6: Superfcies de deciso para o mtodo KNN, para os valores de K, (a) K = 1
e (b) K = 15 (Hastie et al., 2009).
maior ser a inuncia deste na classicao. Dessa forma a regra de classicao depende
do inverso da distncia, como mostra a Equao (2.23).
(z) = {j | max
j

xi z,K

j ,yi

1
}
d(xi , z)

(2.23)

Outras formas de peso podem ser usadas, como 1/d(xi , z)2 , que intenssica o peso da
distncia. Note que ao inserir o peso baseado na distncia, o aumento signicativo no
nmero de vizinhos tem pouca inuncia na classicao, pois instncias rotuladas longe
do exemplo a ser classicado contribui muito pouco para a deciso nal.
KNN baseado em prottipo O algoritmo KNN pode ser adaptado para atuar como um
mtodo baseado em prottipo. Mtodos baseados em prottipo representam o conjunto de
treinamento por meio de um conjunto de pontos no espao de atributos. Em geral, esses
pontos, chamados prottipos, no so pontos do conjunto de treinamento - com exceo
do caso do 1NN, onde cada instncia do conjunto de treinamento pode ser visto como
um prottipo. A grande vantagem desse tipo de mtodo a reduo no espao de busca,
no entanto, para isso necessrio um mtodo para denir os prottipos, algumas opes
incluem mtodos de agrupamentos como k-means (MacQueen, 1967), (Lloyd, 1982), e de
quantizao (Kohonen, 1989).
Uma vez denidos, cada prottipo tem uma classe associada e, em geral, cada classe
tm um mesmo nmero de prottipos. Dado um novo exemplo a ser classicado, vericase a distncia deste aos prottipos e a classicao feita de acordo com a distncia do
prottipo mais prximo. Apesar de certas vantagens, o KNN baseado em prottipos ainda
depende do parmetro que controla o nmero de prottipos que devero ser encontrados
para cada classe. H tambm a possibilidade de utilizar outros valores de K que no um,
no entanto, esta possibilidade leva em conta dois parmetros similares que s aumentar

CLASSIFICAO DE DADOS COM DISTRIBUIO ESTACIONRIA

35

o nmero de modelos a ser testado na fase de seleo de modelos, sem grandes vantagens
no desempenho do algoritmo.
2.3.3.3 rvores de deciso
As rvores de deciso enquadram-se na categoria dos mtodos no mtricos. Isto
implica que este tipo de abordagem lida naturalmente com atributos nominais (Quinlan,
1986), todavia permitem variaes que possibilitam lidar com atributos numricos. Alguns
dos principais mtodos de induo de rvores de deciso so, o C4.5 (Quinlan, 1993),
CART (Breiman et al., 1984), BOAT (Gehrke et al., 1999) e RainForest (Gehrke et al.,
2000).
A induo de uma rvore de deciso a partir de um conjunto de treinamento utiliza a
abordagem dividir para conquistar. Por se tratar de uma estrutura em rvore, o processo
de criao naturalmente denido de maneira recursiva. Portanto, dado um conjunto de
instncias rotuladas, cria-se um n e verica-se se este n ser folha ou n intermedirio.
No primeiro caso interrompe-se o crescimento da subrvore e o n folha representa a classe
de maior ocorrncia no n. No segundo caso, a subrvore continua sendo expandida, o que
implica em selecionar um atributo e um limiar (threshold), deste atributo, que dividir
novamente o conjunto usado na criao do n corrente para continuar a crescer a rvore.
Um ponto importante nesse tipo de mtodo saber quando parar de crescer a rvore ou
parar de dividir os ns. Esta deciso implica no critrio usado pelo algoritmo para decidir
se, a partir do n corrente, continua dividindo ou se torna o n folha. Intuitivamente, um
n denido como folha se toda instncia do subconjunto possui uma mesma classe, que
ser a classe que o n folha representar. Este caso, no entanto, seria o caso ideal onde
o subconjunto em questo puro. No caso geral, entretanto, para se gerar subconjuntos
puros pode ser necessrio muitas iteraes e ocasionar o crescimento demasiado da rvore.
O problema em gerar rvores grandes, como adverte o princpio de Occam (Mitchell, 1997),
que estas rvores geralmente apresentam caractersticas indesejadas, tais como, aumento
no tempo de classicao, superadaptao e, por consequncia, perda de generalizao
bem como diculdade de entendimento e visualizao humana.
Com o m de evitar esses problemas, necessrio aceitar alguma mistura entre classes
nos subconjuntos dos ns folha. Uma maneira usada pelo C4.5 (Quinlan, 1996) somar
os erros apresentados pelos ns lhos e vericar se esta soma maior que o erro em
classicar todas as instncias do n em questo como a classe mais frequente. No caso
positivo o n em questo tornado folha e as suas subrvores so removidas (o que
chamada de pr-poda). Outro artifcio para evitar o crescimento desnecessrio da rvore
o uso do parmetro m, que indica o nmero mnimo de instncias de treinamento em
um subconjunto necessrio para que o respectivo n ainda possa ser dividido.
Quando decide-se pela diviso de um determinado n, a seleo de um atributo para
a diviso em um determinado n feita por meio de alguma medida para quanticar a
pureza desse atributo, a medida mais utilizada a entropia (ou impureza de informao),

36

REVISO DE CONCEITOS E TRABALHOS RELACIONADOS

denida na Equao (2.24).


Ent(XT ) =

P (j )log2 P (j )

(2.24)

Na equao, Ent(XT ) a entropia do conjunto XT , sendo este o conjunto de dados do


n T . O clculo da entropia considera as probabilidades das classes, P (j ), que podem
ser denidas como a porcentagem de instncias do conjunto X pertencentes s classes
j {1 , . . . , }. A entropia mede a impureza do conjunto, variando no intervalo [0, 1],
onde 0 indica conjunto com apenas uma classe e 1 com igual nmero para todas as classe.
A partir da entropia, pode-se denir o ganho de informao, como na Equao (2.25).
ganho = Ent(X)

Pk Ent(Xk )

(2.25)

k=1

Na equao, Pk = |Xk |/|X| a frao de instncias de X direcionadas ao lho k, na


equao B refere-se ao grau da rvore, B = 2 no caso de rvore binria. O maior ganho
de infromao representa a melhor diviso do conjunto em questo, pois como o primeiro
termo constante para cada n, a diviso que resulta no menor valor para a somatria
a diviso que resulta em conjuntos mais puros.
Ocasionalmente, parar de crescer a rvore pode resultar no chamado efeito horizonte,
que informalmente signica deixar de explorar todo o espao de dados. Ao parar de
particionar algum n, as subrvores que resultariam desta diviso, nunca sero geradas,
e o espao de dados que estas subrvore explorariam no ser visitado. Este efeito pode
ocorrer quando a condio de parada de particionamento est mal ajustada ou a condio
de parada atingida mais cedo por conta do desempenho global da rvore. A sada para
esse tipo de problema a poda (ou ps-poda), onde se cresce a rvore ao mximo, i.e.
at todas as folhas representarem conjuntos de uma s classe, ento aplica-se a poda. A
poda regulada pelo parmetro fator de conana cf , para o qual, maior valor implica
em poda mais agressiva. Apesar de existir duas possibilidades, pr-poda e ps-poda, a
seleo de modelos em rvore de deciso deve considerar ambas, inclusive usando as duas
juntas atravs da variao dos parmetros m e cf .
A classicao de uma nova instncia comea no n raiz, onde se verica um determinado valor de atributo da nova instncia. Cada n lho corresponde a um possvel (e
mutuamente exclusivas) caminho vericao do atributo abordado no n pai. O processo de classicao feito percorrendo-se a rvore, de forma descendente, de acordo
com as vericaes corretas at atingir um n folha que, por denio, determina uma
classe sem exigir teste.

2.3.3.4 Redes neurais


As redes neurais articiais podem ser vistas como um sistema de processamento paralelo e distribudo que consiste de um grande nmero de processadores (neurnios) simples

CLASSIFICAO DE DADOS COM DISTRIBUIO ESTACIONRIA

37

e massivamente conectados. As redes neurais proporcionam uma abordagem robusta na


resoluo de vrios tipos de problemas, incluindo aproximao de funes, tomada de deciso, classicao, controle, etc. (Haykin, 2008). Denida de maneira simplista, uma rede
neural uma rede com processadores simples (cada um deles tendo, possivelmente, uma
pequena quantidade de memria local) conectados por meio de canais de comunicao
(conexes) aos quais usualmente esto associados valores (pesos) numricos. De acordo
com Palma Neto e Nicoletti (2005), uma rede neural pode ento ser caracterizada,
por seus processadores, chamados neurnios;
pela funo de ativao que representa o estado do neurnio;
pelo padro de conexo existente entre os neurnios, arquitetura da rede;
por seu algoritmo de treinamento (tambm chamado de algoritmo de aprendizado).
O algoritmo de treinamento de uma rede um conjunto de regras por meio das quais
os pesos das conexes so ajustados usando um conjunto de treinamento. A arquitetura
de uma rede neural pode ser caracterizada pelos neurnios que a compe, pelo padro de
conexo entre eles e pela organizao desses neurnios em camadas (quando for o caso). A
arquitetura da rede uma das maiores responsveis pelo seu desempenho e, por essa razo,
seu principal parmetro. A denio da arquitetura da rede no tarefa trivial, dentre as
maneiras de se obter a melhor arquitetura para uma determinada tarefa pode-se categorizar os mtodos em manuais e automticos. No primeiro grupo, encaixa-se talvez o mais
usado e menos eciente deles, o mtodo de tentativa e erro alm dos mtodos de seleo de
modelos citados na Seo 2.3.2. A denio automtica da arquitetura por sua vez pode
ser dividida em dois grupos, mtodos evolucionrios e no evolucionrios. Nos mtodos
evolucionrios a estrutura da rede obtida por meio de metodologias evolutivas, como
algoritmos genticos e busca estocstica baseada em populaes, etc. (Schaer et al.,
1992), (Yao, 1999). J nos mtodos no evolucionrios compreende todos os outros mtodos que constroem a rede por meios que no so evolucionrios. Dentre as abordagens
de mtodos no evolucionrios esto os algoritmos neurais construtivos (Parekh et al.,
2000), (Nicoletti e Bertini Jr., 2007), (Franco et al., 2009) que constroem a rede ao longo
do treinamento. Este tipo rede tem sido usada com sucesso em aplicaes de diagnsticos mdicos (Figueira et al., 2006) a ltro de sinais (Giordano et al., 2008). Outra categoria de mtodo no evolucionrios so os mtodos baseados em poda (Reed, 1993),
(Lahnajrvi et al., 2002), a qual pode ser vista como uma abordagem contrria ao mtodos construtivos, uma vez que o aprendizado iniciado com uma rede bastante grande e
por meio da poda de neurnios ajusta-se a rede ao problema em questo.
O desempenho da rede consequncia direta da arquitetura da rede treinada por
um algoritmo de aprendizado, dessa forma pode-se dizer que arquitetura e algoritmo de
aprendizado tenha um papel fundamental no aprendizado da rede.

38

REVISO DE CONCEITOS E TRABALHOS RELACIONADOS

O Perceptron (Rosenblatt, 1958) um algoritmo bsico para o aprendizado de um


vetor de pesos w (de um nico neurnio), tambm usado na denio de uma funo
linear discriminante. O Perceptron pode ser visto como um separador linear que pode ser
treinado para classicar conjuntos de vetores como pertencentes a uma, de duas regies
separadas por um hiperplano. A regra de atualizao do vetor de pesos utiliza somente
reforo negativo, sempre que uma instncia xi classicado incorretamente, o vetor de
pesos w atualizado de acordo com a Equao (2.26).
w = w (d o)xi

(2.26)

Na qual d a sada desejada, ou seja a classe correta no contexto de classicao; o


a sada do neurnio em questo. No entanto um nico neurnio treinado com o Perceptron somente capaz de distinguir entre classes linearmente separaveis. Para representar
funes no lineares necessrio uma rede com vrios neurnios dispostos em camadas
com a restrio de que as sadas dos neurnio sejam uma funo no linear de suas entradas (Mitchell, 1997). Uma possvel soluo utilizar a funo sigmide como funo
de ativao para o Perceptron, como mostrado na Equao (2.27).

F (net) =

1
1 + enet

(2.27)

Na equao, net corresponde ao potencial de ativao do neurnio, ou seja net = w> x.


Note que os valores de F , variam de 0 a 1, aumentando monotonicamente com relao
entrada. Uma propriedade interessante da funo sigmide o fato de que sua derivada
pode ser facilmente expressa em termos de sua sada, como mostra a Equao (2.28).
F 0 (net) =

dF (net)
= F (net)(1 F (net))
dnet

(2.28)

Outras funes facilmente derivveis podem ser usadas ao invs da funo sigmide,
por exemplo, a tangente hiperblica. Dada uma rede multicamadas formada por um
nmero xo de neurnios com este tipo de funo de ativao e interconexes, possvel utilizar o algoritmo backpropagation para o ajuste dos pesos. O algoritmo baseia-se
no mtodo do gradiente descendente para minimizar o erro quadrtico da rede com relao s sadas desejadas. O algoritmo backpropagation composto por duas fases, na
primeira, fase de propagao (Feedforward), as entradas propagam-se pela rede da camada de entrada camada de sada. Na segunda fase, de retropropagao (Feedback), os
erros propagam-se na direo contrria ao uxo de dados, ou seja da camada de sada
primeira camada escondida. A regra de atualizao a mesma para todos os pesos, como
mostra a Equao (2.29).

wji = wji + wji ,

onde wji = ei oj

(2.29)

39

CLASSIFICAO DE DADOS COM DISTRIBUIO ESTACIONRIA

Na equo, oj a sada do neurnio uj e a taxa de aprendizado. O que muda de


acordo com a posio do neurnio ui na rede, o clculo do erro ei . Se o neurnio ui for
neurnio de sada, o erro calculado diretamente, como mostrado na Equao (2.30).
ei = (di oi )F 0 (neti )

(2.30)

J para o caso de um neurnio uj estar em uma das camadas escondidas, como os


mesmos no tm acesso direto ao erro, estes baseiam-se nos erros da camada posterior.
O erro do neurnio uj pode ser denido como na Equao (2.31).
ej = F 0 (netj )

ei wji

(2.31)

A Figura 2.7 ilustra trs passos do processo de correo de erros do algoritmo backprogation, na gura ilustrada uma rede com apenas uma camada intermediria.

uk

d1
o1

d2
o2

d2
o2

d2
o2

d3
o3

.
.

.
.

.
.

u
(a)

d1
o1

d3
o3

.
.
.
.

d1
o1

d
o
(b)

uk

Wk

e
e

.
.

.
.

d
o

d3
o3

.
.
.

uk

Wk

.
.

e
e

d
o

(c)

Figura 2.7: Exemplo de correo de erro realizado pelo Backpropagation.


Na Figura 2.7(a), os erros da camada de sada so calculados, em seguida ocorre a
atualizao dos pesos localizados entre a camada de sada e a camada escondida imediatamente anterior, como mostra a Figura 2.7(b). Na Figura 2.7(c) o clculo do erro
para cada neurnio baseia-se no erro retro-propagado da sada. O prximo passo seria
atualizar os pesos entre a camada de entrada e a camada escondida, da mesma maneira
como ilustrado na Figura 2.7(b). Apesar de tratar-se de uma tima alternativa para classicao, as redes MLP sofrem da diculdade em se obter um bom modelo, i.e. ajuste da
arquitetura da rede e de outros parmetros (Reed e Marks II, 1999).
2.3.3.5 Mtodos baseados em kernel
Qualquer soluo baseada em kernel pode ser dividida em duas partes, um mdulo que
realiza o mapeamento no espao de atributos e um algoritmo de aprendizado desenvolvido
para encontrar padres neste espao (Shawne-Taylor e Cristianini, 2004). Algoritmos no
espao de atributos utilizam a seguinte idia:
: Rp F,

xi (xi )

(2.32)

Na equao, a instncia xi = (xi1 , xi2 , . . . , xip , yi ) mapeada para um espao de atrib-

40

REVISO DE CONCEITOS E TRABALHOS RELACIONADOS

utos, F , potencialmente muito maior. Em um problema de aprendizado, considera-se o


mesmo algoritmo em F ao invs de Rp . As instncias passam a ser escritas como na
Equao (2.33).
((x1 ), y1 ), . . . ((xn ), yn )

(2.33)

Determinado o mapeamento , pode-se facilmente realizar classicao ou regresso


em F . Por meio desta abordagem, possvel transformar um problema linearmente
no separvel em um problema linearmente separvel em um espao de dimenso maior
(Mller et al., 2001). A variabilidade necessria para encontrar uma boa representao
dos dados dada pelo mapeamento . De maneira geral, o que importa no a dimenso
dos dados, mas sim sua complexidade. O que torna possvel lidar com instncias de
alta dimensionalidade o uso de um mtodo altamente eciente para calcular o produto
escalar no espao de atributos - o uso de funes kernel. Uma funo kernel apresenta a
seguinte propriedade.
k(xi , xj ) = > (xi )(xj )

(2.34)

O uso desse tipo de funo possibilita utilizar tcnicas simples de classicao em


altas dimenses sem pagar o preo computacional implcito no nmero de dimenses,
uma vez que possvel calcular o produto escalar entre as imagens de dois exemplos
em um espao de atributos sem calcular explicitamente suas coordenadas. Um exemplo
clssico de funo kernel o kernel Gaussiano k(xi , xj ) = exp( k xi xj k2 )/2 2 .
Outras funes, bem como uma completa exposio sobre kernels, podem ser encontradas
em (Shawne-Taylor e Cristianini, 2004). O principal problema associado ao uso desses
mtodos encontrar um mapeamento ideal para o conjunto em questo.

Mquinas de vetores suporte ( Support Vector Machines (SVM)) De maneira geral, uma
SVM (Vapnik, 1999) pode ser vista como uma mquina linear com algumas propriedades
interessantes. Uma SVM uma implementao aproximada do mtodo de minimizao de
risco estrutural. Este princpio baseado no fato de que a taxa de erro de um classicador
nos dados de teste limitada pela soma da taxa do erro no treinamento, que depende da
dimenso de Vapnik-Chervonenkis (VC) (Mller et al., 2001). No que segue apresentado
uma introduo s SVMs. Considere a equao do hiperplano de deciso dada por: w> xi +
b = 0. Para um determinado vetor de pesos w e um vis b, a distncia entre o hiperplano e
a instncia mais prxima chamado de margem de separao, denotado por . O objetivo
de uma SVM encontrar um hiperplano tal que a margem de deciso seja maximizada,
chamado hiperplano timo e denido por (w0 , b0 ). O hiperplano timo deve satisfazer as
Equaes (2.35).
w0> xi + b 1 para

yi = 1 e w0> xi + b 1 para

yi = 1

(2.35)

CLASSIFICAO DE DADOS COM DISTRIBUIO NO ESTACIONRIA

41

Note que se o conjunto de treinamento for linearmente separvel, possvel calcular


w0 e b0 , tal que os termos da equao (2.35) sejam satisfeitos. As instncias para as
quais a primeira ou a segunda equao satisfeita pela igualdade, so chamadas vetores
suporte. Esses vetores so os dados que esto mais prximos da superfcie de deciso e
por essa razo so os mais difceis de classicar. Dessa forma, esses dados tm impacto
direto na localizao do hiperplano separador. Considerando o caso mais geral, em que
os dados so linearmente separveis em um espao denido pelo mapeamento , como na
seo anterior, o problema pode ser resumido da seguinte forma. Dado um conjunto de
treinamento, encontrar os valores timos para w e b tal que satisfaam a Equao (2.36).
yi (w> (xi ) + b) 1,

i = 1, . . . , N

(2.36)

De modo que o vetor de pesos minimize a funo de custo (w) = 12 k w k2 . Esta


restrio conhecida como problema primal. Note que, se a nica maneira de acessar
o espao de atributos atravs do produto interno calculado pelo kernel, no possvel
minimizar (w) diretamente, uma vez que w est no espao de atributos. Uma maneira de
resolver este problema de otimizao utilizar o mtodo de multiplicadores de Lagrange,
como na Equao (2.37).
L(w, b, ) =

1
k w k2
i (yi (w> (xi ) + 1) 1)
2
i=1

(2.37)

Dessa forma, minimizando a Equao (2.37), encontram-se os coecientes i , i =


1, . . . , n que permitem denir a funo no linear de deciso.
(z) = sgn

( n

yi i k(z, xi ) + b

(2.38)

i=1

Na equao, a funo sgn atribui classe positiva caso o resultado da somatria seja
maior ou igual a zero, e classe negativa, caso contrrio.

2.4 Classicao de dados com distribuio no estacionria


Considere a aplicao de deteco ou ltragem de spam em um sistema de email. Neste
tipo de problema o classicador precisa classicar email vlido e spam, portanto tratase de uma tarefa de classicao com duas classes. Note que, a descrio de ambas as
classes podem variar ao longo do tempo, por exemplo, os emails vlidos esto relacionados
s preferncias dos usurios e estas, na maioria das vezes, tambm mudam ao longo do
tempo. Os emails que so considerados spam tambm esto em constante alterao; estes
alm de tambm dependerem das preferncias do usurio dependem dos produtores de
spam (spammers) cujo objetivo passar o spam como email verdadeiro. Por essa razo,
as variveis usadas na discriminao das classes no tempo t podem no mais ser teis
no tempo t + k. Dessa forma, um classicador treinado em um conjunto de treinamento

42

REVISO DE CONCEITOS E TRABALHOS RELACIONADOS

inicial logo ser inutilizado devido a alteraes no problema. Esta aplicao um exemplo
de problema cuja distribuio dos dados se altera ao longo do tempo, em outras palavras,
a distribuio dos dados no estacionria.
A natureza no estacionria de certas aplicaes deve-se mudana de conceito (concept drift) (Schlimmer e Granger, 1986), (Widmer e Kubat, 1996). Conceito refere-se
distribuio dos dados em um determinado perodo no tempo. Na literatura, no entanto,
o termo mudana de conceito tm sido aplicado a diferentes fenmenos relacionados a
quedas e recuperaes na performance de um sistema classicador (Syed et al., 1999). De
fato, outros termos tm sido usados na literatura para referir-se ao mesmo problema, tais
como, substituio de conceito (concept substitutions), mudanas revolucionrias (revolutionary changes), mudana na populao (population drift) (Kelly et al., 1999), entre
outras (ver (Narasimhamurthy e Kuncheva, 2007)). Apesar de existirem diferentes denominaes para o termo mudana de conceito, todas referem-se ao mesmo problema
que, de acordo com Kelly et al. (1999), ocorre devido alteraes nas probabilidades:
a priori das classes P (1 ), . . . , P ( ), i.e. alterao no nmero de exemplos das
classes;
condicional P (x|i ), i.e. mudana na denio das classes;
condicional a posteriori P (i |x) i.e. alterao nos atributos, possivelmente em alguns deles;
Em termos gerais, a mudana de conceito pode ser caracterizada no que se refere
variao de conceitos quanto velocidade e recorrncia. Com relao velocidade,
divide-se basicamente entre mudana gradual (gradual drift) e mudana abrupta (abrupt
drift); quanto recorrncia, uma mudana de conceito recorrente se conceitos antigos
voltam a ser corrente. Esses tipos de mudanas so exemplicadas na Figura 2.8.
Na Figura 2.8, os retngulos azuis representam instncias que pertencem classe 1 e
os crculos vermelhos s instncias pertencentes a classe 2 . Considere as Figuras 2.8(a)(d) como uma sequncia de diferentes distribuies de dados no tempo, iniciando em t0 . A
mudana de conceito que ocorre entre as distribuies da gura (a) e (b), bem como a que
ocorre entre as distribuies nas guras (b) e (c) so abruptas. Note, no entanto, que a
distribuio da gura (c) similar da gura (a), ou seja, a distribuio da gura (a) volta
a ocorrer, o que caracteriza a mudana de conceito recorrente. Como mostrado na linha
de tempo entre as Figuras 2.8(a) e (d) cada distribuio pode, eventualmente, permanecer
esttica durante um determinado perodo de tempo, por exemplo a primeira distribuio
permanece esttica de t0 a ti . No entanto, na prxima iterao ti+1 a distribuio
totalmente alterada, i.e. ocorreu uma mudana abrupta. A mudana na distribuio dos
dados entre as gura (c) e (d), tambm considerada abrupta, apesar de menos violenta
que as anteriores. Nas Figuras 2.8(e)-(g), considere uma situao em que dois grupos
de dados cruzam-se entre si, ao longo do tempo, de modo que a gura (e) corresponda

CLASSIFICAO DE DADOS COM DISTRIBUIO NO ESTACIONRIA

t0

(a)

ti,ti+1

(b)

tj,tj+1

(c)

t0

(e)

ti

(f)

tj

(g)

tk,tk+1

43

(d)

(h)

Figura 2.8: Tipos de mudana de conceito, (a)-(d), mudanas abruptas; (e)-(g) mudana
gradual e (h) exemplo cuja mudana depende da velocidade em que o hiperplano alterado.

ao tempo inicial, a gura (g) ao tempo nal e a gura (f) a um determinado momento
entre ambas. Como a distribuio representada pelas Figuras 2.8(e)-(g), sofre pequenas
alteraes ao longo do tempo, nesta caracterizada a mudana de conceito gradual. Por
m, a Figura 2.8(h), representa uma distribuio determinada por um hiperplano que
gira sobre um eixo ao longo do tempo. Considere que o hiperplano sofra uma inclinao
de /4 a cada determinado perodo de tempo, como este movimento regular, trata-se
uma mudana de conceito gradual e recorrente a cada 8 alteraes no hiperplano. Note
que, se a taxa for aumentada, por exemplo para , as mudanas podem ser consideradas
abruptas.
Note que difcil caracterizar as diversas variaes com relao velocidade e recorrncia, utilizando somente os termos, gradual, abrupto e recorrente. Em vista deste
problema, Minku et al. (2010) propuseram uma categorizao para tipos de mudanas de
conceito em dez classes, sendo que duas delas possuem subclasses. Para a categorizao
os autores levaram em conta outros critrios alm de velocidade e recorrncia, tais como,
frequncia, que mede o quo frequente ocorre um desvio de conceito, e severidade, que
mede a quantidade de mudanas de conceito ocorridas em um uxo de dados, entre outras. Por tratar-se de um trabalho recente, no se pode armar que estas categorias sero
bem aceitas na comunidade cientica, no entanto trata-se de um esforo em direo
padronizao e categorizao de um importante tpico de pesquisa.
Ainda com relao ao problema de mudana de conceito Klinkenberg e Joachims
(2000) alertaram sobre a possibilidade de deteco de falsos desvios de conceito, chamado
de mudana de conceito virtual (virtual concept drift). Os autores demonstraram que
quedas e recuperaes no desempenho de um classicador, que a princpio poderia ser

44

REVISO DE CONCEITOS E TRABALHOS RELACIONADOS

qualicado como mudana de conceito, pode ocorrer em domnios de conceito estvel


devido variao na amostragem dos dados. E que, nesta situao, difcil dizer se
o classicador est de fato diante de uma situao de mudana de conceito ou de nova
informao de um conceito esttico - causado por m distribuio nas amostragens.

2.4.1 Aprendizado incremental


Muitas aplicaes reais requerem classicao em tempo real (incremental), no qual
o sistema classicador precisa processar novas instncias de dados no momento em que
so apresentados (Yang e Zhou, 2008). Dentre vrios outros exemplos, esto deteco
de intrusos (Lane e Brodley, 1998) deteco de fraude em sistemas de carto de crdito
(Wang et al., 2003), problemas relacionados a nanas (Last, 2002), inspeo ultrassnica
de solda (Polikar et al., 2004), separao de sinais acsticos (Murata et al., 2002).
Giraud-Carrier (2000) diferencia tarefa incremental de algoritmo incremental, de forma
que, uma tarefa de classicao incremental quando as instncias de treinamento, usadas em sua representao, so disponibilizadas ao longo do tempo, geralmente uma de
cada vez.
Um algoritmo incremental se para uma sequncia de instncias de treinamento,
x1 , . . . , xN o algoritmo produz uma sequncia de classicadores diferentes, que depende
do classicador anterior e das instncias adicionadas. Em outras palavras, a adio de
conhecimento, provindo de um novo exemplo de dado, altera o classicador, sendo que a
alterao no classicador depende de como este est organizado internamente.
Note que ambas as denies no fazem restrio quanto ao nmero de instncias
processadas por vez, i.e. individualmente ou em conjuntos. No entanto, alguns autores consideram o processamento individual de instncias de dados como aprendizado
em tempo real. De fato, no h um consenso geral sobre tais nomenclaturas, neste texto
ser considerada a distino feita por Minku et al. (2010), que considera o termo aprendizado incremental como termo geral que no faz restries quanto tarefa em questo portanto vale as denies previamente citadas. J o termo, aprendizado em tempo real,
considerado mais especco e refere-se somente classicao onde o processamento
(adio de conhecimento) de novas instncias realizado de maneira individual.
Vale ressaltar que, em princpio, qualquer tarefa incremental pode ser resolvida, por
qualquer algoritmo esttico. A soluo trivial consiste em retreinar o classicador toda
vez que novos exemplos so disponibilizados ou a cada determinado perodo de tempo.
No entanto, esta prtica apresenta ao menos trs empecilhos, (i) retreinar um classicador, por completo, em geral um processo custoso computacionalmente (ii) aceitando
a proposta de retreinar o classicador, o problema denir o espao de tempo para que
a substituio do classicador, onde espao curto implica em maior gasto com treino e
frequente perda de dados para classicao, ao passo que longos espaos entre a troca de
classicador economiza tempo computacional mas torna-se mais vulnervel mudana de
conceito, o que deteriorar o desempenho do classicador. (iii) determinar o momento da

CLASSIFICAO DE DADOS COM DISTRIBUIO NO ESTACIONRIA

45

troca do classicador. i.e. eliminar o classicador corrente por um novo classicador, sem
considerar o conjunto em que este ser treinado. A taxa de acertos no convel para
esta tarefa uma vez que esta pode variar se ocorre uma mudana de conceito.
De acordo com Widmer e Kubat (1996), para que o aprendizado incremental seja eciente em ambientes com mudanas de conceito, um algoritmo de aprendizado deve ser
capaz de detectar automaticamente mudanas no conceito, recuperar rapidamente o desempenho de classicao, ajustar-se ao novo contexto e fazer uso de experincias prvias
em situaes onde conceitos antigos reaparecem. Geralmente, um algoritmo de aprendizado incremental precisa de, 1) operadores que permitam alterar o conceito corrente; 2)
a habilidade de decidir quando e quantos conceitos antigos devem ser esquecidos e 3) uma
estratgia para manter armazenado conceitos corrente e acess-los quando necessrio.
Algoritmos de aprendizado incremental podem ser categorizados com relao maneira
que a memria utilizada no tratamento de instncias de dados antigos. Segundo
Reinke e Michalski (1988) pode-se estabelecer trs categorias. 1) Sem armazenamento de
instncias - algoritmos incrementais que no armazenam os exemplos de dados na forma
que so apresentados, tais como, os algoritmos STAGGER (Schlimmer e Granger, 1986),
VFDT (Domingos e Hulten, 2000), VFDTc (Gama et al., 2003), entre outros. Geralmente, algoritmos baseados em redes neurais (Saad, 1999), naive bayes, etc., que no
armazenam as instncias propriamente, mas as utilizam para construir o classicador; 2)
armazenamento total de instncias - mtodos que armazenam todas as instncias apresentadas, tais como, o IBk (Aha et al., 1991), GEM (Reinke e Michalski, 1988), o ID5 Utgo
(1988), ITI (Utgo et al., 1997), entre outros e; 3) armazenamento parcial de instncias mtodos que armazenam alguns dos exemplos j apresentados, tais como, mtodos baseados em janelas, o LAIR (Elio e Watanabe, 1991), o AQ11-PM (Maloof e Michalski, 2004)
e FLORA (Widmer e Kubat, 1996).
Alm da categorizao quanto manuteno da memria com relao a exemplos
de dados, Maloof e Michalski (2000) e Maloof e Michalski (2004) prepuseram categorizar
os algoritmos incrementais com relao ao armazenamento da descrio de conceitos
passados. Por descrio de conceito entende-se algum tipo de estrutura que sintetiza
um conceito, assim como um n em uma rvore de deciso, ou uma regra em um sistema especialista. Esta segunda categorizao, tambm pode ser dividida em trs, a
saber, 1) sem memria de conceito - algoritmos que no armazenam conceito, por exemplo, alguns algoritmos baseados em instncias, tais como IB1 e IB2 Aha et al. (1991),
no formam uma descries de conceitos que generalizam as instncias pertencentes a
este conceito; 2) memria de conceito total - refere-se a sistemas iterativos, como o ITI
(Utgo et al., 1997), descrevem os conceitos por meio dos conjuntos de treinamento, que
permanecem na memria at que outro conjunto seja apresentado. Por ltimo, 3) os
algoritmos de memria parcial de conceito, no qual armazenam parte dos conceitos apresentados, em geral desfazem-se de conceitos antigos. Por exemplo, o algoritmo FAVORIT
(Kubat e Krizakova, 1992) induz rvores a partir dos dados, mas mantm um peso para

46

REVISO DE CONCEITOS E TRABALHOS RELACIONADOS

cada n da rvore. Esses pesos so atualizados com a chegada de novos dados de treinamento, e dependem desse reforo para manterem-se na rvore, pois esses pesos sofrem um
decrscimo com a passagem do tempo e so retirados da rvore quando decrescem abaixo
de certo limiar.
Note que as categorizaes so distintas e referem-se a dois critrios diferentes para
classicar algoritmos incrementais. Uma abordagem mais profunda sobre essas categorias,bem como, outros algoritmos que nestas se encaixam, pode ser encontrado no trabalho
de Maloof e Michalski (2004).

2.4.2 Algoritmos de aprendizado incrementais


Esta seo apresenta alguns algoritmos de aprendizado para domnios de dados no
estacionrios, ou seja, domnios cuja distribuio dos dados de teste podem sofrer altero ao longo do tempo. Como visto nas sees anteriores, este fenomeno conhecido
como mudana de conceito e pode ser resolvido por meio da aplicao de algoritmos
que continuam aprendendo aps a fase de treinamento inicial. Como alguns dos algorimos baseiam-se em comit, considere as seguintes notaes. Um comit, notado
por H = {h1 , . . . , h }, pode ser formado por at classicadores base, onde em alguns casos determinado pelo usurio. Cada classicador hk do comit, chamado
de classicador base, e a sada k-simo classicador hk , em reposta ao exemplo z,
notada como hk (z). Os algoritmos recebem como entrada um uxo de dados S =
{X1 , Z1 , . . . , XT , ZT }, onde Xt = {x1 , x2 , . . . , xN } representa um conjunto com dados
rotulados xi = (xi1 , xi2 , . . . , xip , yi ), e Zt = {z1 , z2 , . . . , zM } representa o t-simo conjunto
no rotulado no qual, zj = (zj1 , zj2 , . . . , zjp ). Os algoritmos tambm utilizam a varivel
que assume um valor de classe e usada como ndice do vetor % que representa as classes.
A classe atribuda ao exemplo z pelo comit representada por H (z). No que segue so
apresentado os quatros algortimos de aprendizado incremental que sero utilizados como
comparativos para o algoritmo KAOGINC, apresentado no Captulo 4.
2.4.2.1 O algoritmo SEA
O algoritmo baseado em comit para uxo de dados (Streaming Ensemble Algorithm
(SEA)) (Street e Kim, 2001), notado aqui simplesmente como SEA, consiste em um comit
de classicadores, mais especicamente rvores de deciso (C4.5). Como visto na Seo
2.3.1, um comit nada mais do que um grupo de classicadores com uma poltica para a
tomada de deciso nal. No caso do algoritmo SEA, a tomada de deciso para a sada do
comit, consiste, simplesmente, na maioria dos votos. Dado um exemplo de teste, todas
as rvores do comit avaliam e atribuem uma classe como sada. A sada do comit ento
ser a classe mais comum entre as sadas dos classicadores.
O algoritmo SEA puramente incremental, pois em sua verso original no aceita
exemplos de dados isolados como entrada. Uma vez que necessrio um conjunto para
treinar uma rvore de deciso. Neste algoritmo, uma nova rvore de deciso treinada

CLASSIFICAO DE DADOS COM DISTRIBUIO NO ESTACIONRIA

47

toda vez que um novo conjunto de treinamento apresentado. Como o algoritmo prev um
nmero xo de classicadores no comit, na adio de uma nova rvore ao comit, duas
situaes podem ocorrer. Se o nmero mximo de classicadores ainda no foi atingido,
o novo classicador adicionado. Caso o nmero mximo tenha sido atingido, o novo
classicador substituir a rvore que mais cometeu erros nos conjuntos de testes. Por
meio desta troca, o comit garante estar sempre atualizado com novos conceitos. Vale
ressaltar que, no algoritmo SEA, as rvores j adicionadas ao comit no tm acesso a
novo conhecimento. O Algoritmo 2.1, mostra como o comit formado e atualizado ao
longo da apresentao do uxo de dados.
Algoritmo 2.1 Algoritmo SEA
Entrada: S = {X1 , Z1 , ..., XT , ZT } {Fluxo de dados, conjuntos rotulados e no rotulados}
Xt = {x1 , ..., xN )} {Conjuntos rotulados apresentados ao longo do tempo}
Zt = {z1 , ..., zM } {Conjuntos no rotulados apresentados ao longo do tempo}
{Nmero de classicadores no comit}
Sada: H (z) {classe para os dados no rotulados}
repita
se Xt ento
avaliaComite(Xt )
se t < ento
H(ht ) treinaClassif icador(Xt )
seno
hk encontraP ior(H)
H(hk ) treinaClassif icador(Xt )
m se
seno
para todo zj Zt faa
%0
para k = 1 at faa
hk (zj )
% % + 1
m para
H (zj ) { |argmax(% )}
m para
m se
at que S =

No algoritmo o mtodo avaliaComite() classica o conjunto rotulado Xt antes que


este seja usado para o treinamento e armazena as estatsticas sobre o desempenho dos
classicadores do comit. Essas estatsticas sero usadas no mtodo encontraPior() para
determinar o algoritmo base com menor porcentagem de acerto. Uma vez que o comit
esteja com sua ocupao mxima, o pior classicador retirado para que um novo classicador, treinado com o conjunto Xt , seja adicionado. No algoritmo o mtodo treinaClassicador() utiliza o algoritmo C4.5 para treinar uma rvore de deciso. A classicao de
novos exemplos de dados feita aplicando-se o novo exemplo a todos os classicadores
base no comit, resultando em classicaes, onde a classe de zj atribuda pelo classicador hi atribuda varivel que usada como ndice para o vetor que representa as
classes %. O comit resolvido por simples votao, i.e. a classe mais frequente atribuda
zj .

48

REVISO DE CONCEITOS E TRABALHOS RELACIONADOS

2.4.2.2 O algortimo DWM


O Algoritmo (Dinamic Weighted Majority(DWM)) (Kolter e Maloof, 2007), assim
como o algoritmo SEA, tambm consiste na construo de um comit. Entretanto, o
algoritmo DWM cria um comit que, segundo os autores, virtualmente pode ser composto por qualquer classicador - com a ressalva de que os classicadores base suportem
aprendizado incremental. Kolter e Maloof (2007), todavia, propem o uso de dois algoritmos em especial. Um deles consiste em uma verso incremental do C4.5 proposto por
Utgo et al. (1997); o outro, em uma verso incremental do algoritmo Naive Bayes, utilizado neste trabalho e apresentado adiante nesta seo. Basicamente, esses algoritmos
so modicaes de suas verses originais, capazes de adquirir conhecimento medida
que novos dados so disponibilizados.
O algoritmo DWM atualiza o comit a cada iteraes; a atualizao corresponde
remoo de classicadores, atualizao de pesos e adio de novo classicador. Se,
no momento em que a atualizao considerada o comit atual comete um erro, um
novo classicador incremental adicionado ao comit. O novo classicador tem como
treino, possivelmente, apenas uma instncia, sendo que esta tambm adicionada a todos
os classicadores do comit. Cada classicador base tem um peso associado, w, que
decrementado, por um fator pr-determinado, , toda vez que o classicador base comete
um erro. A remoo retira do comit os classicadores cujo peso menor que um limiar
( = 0, 01 - como sugerido pelos autores). O comit no algoritmo DWM, diferente do
SEA, no tem limite de classicadores, o que signica que seu tamanho pode aumentar
substancialmente, especialmente na presena de rudo. O controle do tamanho do comit
feito pelo parmetro que dene a frequncia de adio e remoo de classicadores base.
A cada intervalos de iteraes alm da adio e remoo tambm ocorre a normalizao
dos pesos dos classicadores remanescentes, para que os classicadores recm adicionados
no levem vantagem na soluo do comit.
O processo de resoluo do comit envolve a predio individual dos classicadores
bases e seus pesos. Para denir a sada do comit somam-se os pesos dos classicadores que
predisseram a mesma classe, obtendo um resultado para cada classe. A classe atribuda
ao exemplo de teste z ser a que obteve a maior soma dos pesos. Apesar do uso de pesos,
e de poder controlar a insero e remoo de classicadores, a principal caracterstica do
DWM a possibilidade de atualizar todos os classicadores do comit com novos dados.
O Algoritmo 2.2 apresenta em detalhes o algoritmo DWM.
No algoritmo, o mtodo treinaClassif icador() corresponde a algum mtodo de classicao em tempo real, uma vez que o algoritmo exige que os classicadores base aprendam
cada nova instncia de dado individualmente. Nos testes realizados neste trabalho, o algoritmo escolhido o Naive Bayes incremental, por essa razo o algoritmo DWM ser notado
como DWM-NB. O mtodo normalizaP esos() normaliza os pesos dos classicadores no
comit. Os pesos so normalizados atribuindo-se ao maior peso, o valor 1 e aos demais,
somando-se a diferena entre o maior peso e 1. O mtodo removeClassif icador(), por

CLASSIFICAO DE DADOS COM DISTRIBUIO NO ESTACIONRIA

49

Algoritmo 2.2 Algoritmo DWM


Entrada: S = {X1 , Z1 , ..., XT , ZT } {Fluxo de dados, conjuntos rotulados e no rotulados}
Xt = {x1 , ..., xN )} {Conjuntos rotulados apresentados ao longo do tempo}
Zt = {z1 , ..., zM } {Conjuntos no rotulados apresentados ao longo do tempo}
{Perodo entre atualizaes do comit}
= 0, 05 {fator de decremento dos pesos}
Sada: H (z) {classe para os dados no rotulados}
repita
se Xt ento
para todo xi X faa
%0
para todo hk H faa
hk (xi )
se 6= yi ento
wk wk
m se
% % + wj
m para
H (xi ) { |argmax(% )}
m para
se k mod = 0 ento
normalizaP esos(H)
removeClassif icador(H)
se H (xi ) 6= yi ento
+1
H(h ) treinaClassif icador(xi )
w 1
m se
m se
seno
para todo zj Zt faa
%0
para todo hk H faa
hk (zj )
% % + wk
m para
H (zj ) { |argmax(% )}
m para
m se
at que S =

sua vez, retira do comit os classicadores que cometeram muitos erros. Note que o algoritmo utiliza-se da classicao de dados rotulados para a atualizao dos pesos e do
comit.
O Naive Bayes incremental (ver (Witten e Frank, 2005) para maiores detalhes) assim
como na verso original, utiliza-se da contagem das classes no de treinamento para estimar
as probabilidades a priori de cada classe P (i ). Bem como, utiliza-se da contagem, para
atributos nominais, para estimar a probabilidade condicional P (xj |i ) para o valor de
atributo xj dado a classe i . A principal diferena considerando o algoritmo incremental,
que ao invs de utilizar um conjunto de treinamento esttico, o mesmo atualiza a
contagem das classes e atributos toda vez que uma nova instncia apresentada. Dessa
forma, a classe da nova instncia determinada de acordo o algoritmo Naive Bayes, como

50

REVISO DE CONCEITOS E TRABALHOS RELACIONADOS

mostra a Equao (2.39).


(z) = arg max P (i )
i

P (zj |i )

(2.39)

Para atributos numricos, o algoritmo armazena a soma de cada atributo bem como
a soma do quadrado de cada atributo - para o clculo do desvio padro. Dessa forma, o
clculo da probabilidade condicional feito de acordo com a Equao (2.40).
P (xj |i ) =

ij 2

e(xj ij )

2 /2 2
ij

(2.40)

Na equao, ij corresponde a mdia do atributo xj para os dados pertencentes


classe i , e ij o desvio padro.
2.4.2.3 O algoritmo WCEA
Wang et al. (2003) propuseram um classicador baseado em comit similar ao algoritmo SEA. O algoritmo, conhecido por Wangs Classier Ensemble Approach (WCEA),
no entanto, utiliza pesos para resolver o comit. O peso para o classicador hi estimado
pela sua porcentagem de acertos em um conjunto de teste. A ideia que o ltimo conjunto de dados reete melhor a distribuio atual dos dados. De forma que, os pesos dos
classicadores podem ser aproximados calculando-se o erro no conjunto rotulado mais recente. O peso para o classicador hk , wk determinado como wk = M SEr M SEi , onde
M SEi corresponde ao erro atual e pode ser obtido por meio da validao cruzada no ltimo conjunto rotulado Xt , e M SEr o e erro estimado, dado as instncias armazenadas,
podendo ser denido como na Equao (2.41).
M SEr =

p(j )(1 p(j ))2

(2.41)

Toda vez que um conjunto rotulado disponibilizado, o algoritmo treina um novo


classicador, no caso, utilizando o algoritmo C4.5 e o adiciona ao comit. Assim como no
algoritmo SEA, o comit tem um tamanho pr-denido , e uma vez que todo o espao
esteja ocupado, a atualizao procede substituindo o pior classicador base (aquele com
o menor peso) no comit pelo classicador recm-treinado, como mostra o Algoritmo 2.3.
A classicao realizada apresentando o exemplo a ser classicado, z, para os algoritmos base do comit. Esses o classicam de acordo com uma das classes. O comit
ento resolvido somando os pesos dos classicadores para as diferentes classes, a classe
que resultar em maior peso atribuda ao novo exemplo.
No algoritmo o mtodo atualizaP eso() determina as duas quantidades, M SEr e M SEi
para calcular o peso do classicador passado como parmetro. O erro M SEr determinado de acordo com a Equao 2.41 e depende da distribuio das classes no novo conjunto
de treinamento. J o erro M SEi estimado por meio de validao cruzada, o que alm
de invibializar o algoritmo de processar conjuntos de dados pequenos, tambm consome

CLASSIFICAO DE DADOS COM DISTRIBUIO NO ESTACIONRIA

51

Algoritmo 2.3 Algoritmo WCEA


Entrada: S = {X1 , Z1 , ..., XT , ZT } {Fluxo de dados, conjuntos rotulados e no rotulados}
Xt = {x1 , ..., xN )} {Conjuntos rotulados apresentados ao longo do tempo}
Zt = {z1 , ..., zM } {Conjuntos no rotulados apresentados ao longo do tempo}
{Nmero de classicadores no comit}
Sada: H (z) {classe para os dados no rotulados}
repita
se Xt ento
para todo hk H faa
atualizaP esos(hk , Xt )
m para
se t < ento
H(ht ) treinaClassif icador(Xt )
atualizaP esos(ht , Xt )
seno
hk encontraP ior(H)
H(hk ) treinaClassif icador(Xt )
atualizaP esos(hk , Xt )
m se
seno
para todo zj Zt faa
0
para k = 1 at faa
hk (zj )
% % + wk
m para
H (zj ) { |argmax(% )}
m para
m se
at que S =

tempo na estimativa do erro - realizado para todo classicador do comit.


2.4.2.4 O algoritmo OnlineTree2
Diferente dos algoritmos previamente descritos, o algoritmo OnlineTree2 (Nnez et al.,
2007) no baseado em comit. Ao invs disso, o algoritmo baseia-se em uma nica rvore
de deciso que se ajusta automaticamente durante o processamento do uxo de dados.
O algoritmo, basicamente, consiste em atualizar a rvore de deciso, podendo esta ser
treinada inicialmente com qualquer algoritmo que produza uma rvore binria de deciso.
Para a atualizao da rvore, cada n possui alguns atributos, por exemplo tipo de
n (deciso ou folha), estatstica de desempenho, tamanho do conjunto de dados que
deve ser mantido, entre outros. Durante o processamento, cada instncia de entrada
processada individualmente, tornado o algoritmo apto para aprender em tempo real. Cada
nova instncia processada pela raiz e conduzida pelos ns lhos, de acordo com seus
valores de atributo, at o n folha correspondente. A cada n intermedirio em que a nova
instncia apresentada, este checado quanto a sua coerncia. Um n dito coerente se a
diviso dos dados realizada por ele contribui na induo do conceito corrente, a coerncia
medida por meio da distribuio 2 (Esposito et al., 1997), com grau de signicncia
0, 05.
Se o n atingido for folha, ento o tratamento de folha entra em processo, inicial-

52

REVISO DE CONCEITOS E TRABALHOS RELACIONADOS

mente a instncia armazenada no conjunto da folha e suas estatsticas so atualizadas,


incluindo a performance local. Se a performance permanece estvel ou incrementada,
o algoritmo tenta dividir esta folha com o objetivo de melhor adaptar ao subconceito,
novamente baseando-se na distribuio 2 . Se o n folha tiver sua performance reduzida,
o algoritmo tenta reduzir sua janela de tempo. O Algoritmo 2.4 detalha o processo de atualizao da rvore de deciso. O algoritmo pode ser dividido em trs estgios, reviso das
estatsticas no sentido raiz-folhas, tratamento de folha ou n no coerente, e atualizao
das estatsticas no sentido folha-raiz.
Algoritmo 2.4 Algoritmo OnlineTree2
Entrada: S = {X1 , Z1 , ..., XT , ZT } {Fluxo de dados, conjuntos rotulados e no rotulados}
Xt = {x1 , ..., xN )} {Conjuntos rotulados apresentados ao longo do tempo}
Zt = {z1 , ..., zM } {Conjuntos no rotulados apresentados ao longo do tempo}
Sada: H (z) {classe para os dados no rotulados}
se Xt ento
se n no folha e sua diviso util ento
n OnlineT ree2(proximoN o(N o, xi ), xi )
seno
se n no folha ento
proximoN o(xi )
chamadaRecursiva(AjustJanelaEstDegradado(n))
chamadaRecursiva(P oda(n))
atualizaEstatisticas(n)
tentaExpandir(n)
seno
armazenaEmF olha(xi )
atualizaEstatistica(f olha)
se folha em estado de melhora ento
tentaExpandir(f olha)
se folha ento
ajustaJanelaEstM elhorado(f olha)
m se
seno
ajustJanelaEstDegradado(f olha)
m se
m se
retorne n ou folha
m se
AtualizaEstatistica()
seno
para todo zj Zt faa
(zj ) percorreArvore(zj )
m para
m se

O primeiro estgio recursivo e chega ao m quando a instncia atinge um n no


coerente ou uma folha. Se o primeiro caso se conrma, inicia-se o processo de tratamento
de n no coerente e o algoritmo passa para o segundo estgio. Neste estgio, primeiramente, a instncia deixada na folha referente a ela (proximoN o()). Depois, todas as
folhas abaixo do n no coerente e cuja performance est piorando, apagam os exemplos
marcados para serem apagados e diminuem o conjunto dados. Ento o n no coerente
transformado em folha com os exemplos restantes da subrvore removida (poda()), nalmente, uma nova tentativa de dividir o n realizada (tentaExpandir()). Se, ao invs

CLASSIFICAO DE DADOS COM DISTRIBUIO NO ESTACIONRIA

53

disso, a instncia atingir um n folha passando por ns intermedirios coerentes, o algoritmo verica a possibilidade de expanso da folha (tentaExpandir()) e atualiza suas
estatsticas de desempenho.
A tentativa de expanso considera o ganho de informao normalizado, assim como
no C4.5, para escolher qual atributo ser usado para dividir o n. Mas diferente do
C4.5, os autores propem utilizar o algoritmo k-means (MacQueen, 1967) para dividir o
atributo escolhido em dois, com o objetivo de reduzir a ordem de complexidade. Os mtodos ajustaJanelaEstM elhorado() e ajustaJanelaEstDegradado() ajustam o tamanho
do conjunto de dados do n passado como parmetro, aumentanto, no primeiro caso, e
diminuindo, de acordo com a performance, no segundo. O mtodo chamadaRecursiva()
corresponde chamada do mtodo indicado para toda a subrvore do n referente
primeira chamada.
Como mencionado o algoritmo OnlineTree2 utiliza-se da performance local de cada
folha para atualizar a rvore e calcular o tamanho do conjunto de dados em cada folha. O
clculo da performance usa a taxa entre o nmero de exemplos classicados corretamente
e o nmero total de exemplos em cada folha. No entanto, esta taxa pode variar muito
e torna-se inapropriada para tomar decises. Ao invs disso utilizado um mtodo de
suavizao exponencial, como na Equao (2.42).
7
1
perf (t) = perf (t 1) + di
(2.42)
8
8
Na qual perf (t) a performance no tempo t e di o desempenho instantneo da
folha, que corresponde taxa de instncias da classe que a folha representa em relao
ao nmero de instncias na folha. De maneira sucinta, quando a folha apresenta piora na
performance, os exemplos mais antigos so apagados dando espao a novos exemplos de
um possvel novo conceito. Uma vez terminado o segundo estgio, tratando folha ou n
no coerente, o algoritmo volta pelo mesmo caminho atualizando as estatsticas dos ns
visitados, completando o terceiro estgio.
O processo de classicao realizado pelo mtodo percorreArvore() que percorre a
rvore da raiz alguma folha, que determina a classe, como em uma simples rvore de
deciso.

54

REVISO DE CONCEITOS E TRABALHOS RELACIONADOS

Captulo

3
Classicao de dados baseado no grafo
K -associado timo

Neste captulo apresentado a construo do classicador baseado no grafo K-associado


timo, K-Associated Optimal Graph (KAOG), proposto para tratar problemas de classicao de dados com distribuio estacionria (Lopes et al., 2009) (Bertini Jr. et al.,
2011b). A base da classicao est em representar o conjunto de treinamento como um
grafo (ou rede), referenciado como grafo K -associado. Essa estrutura no apenas pode
armazenar relaes de similaridade entre os dados, mas tambm, por meio do grafo K associado, possvel derivar algumas propriedades interessantes que relacionam dado e
rudo, como a medida de pureza para componentes. A pureza, que ser denida adiante,
utiliza a estrutura do grafo para determinar localmente o nvel de mistura dos dados com
relao a suas classes.
Um grafo K -associado construdo a partir de um conjunto de dados vetoriais do
tipo atributo-valor abstraindo as instncias de dados em vrtices e as similaridades de
K -vizinhana, entre eles, em arestas. De forma que, a estrutura do grafo depende da
distribuio dos dados e do valor de K. Portanto, diferentes valores de K produzem
diferentes grafos com componentes de tamanho e pureza diferentes. Seja o grafo resultante
da seleo dos componentes de maior pureza, pertencentes vrios grafos K -associados,
nomeado grafo K-associado timo, por conter os componentes de maior pureza. Esta
estrutura em grafo usada pelo classicador para estimar a classe de um novo dado. A
classicao consiste em estimar a probabilidade de pertinncia para todo componente
no grafo, ento a classe atribuda vericando-se a mxima probabilidade a posteriori.
Portanto, o treinamento do classicador consiste na construo do grafo K -associado
timo e na estimativa da pureza para os seus diversos componentes.
No restante do captulo sero apresentadas em detalhes as trs etapas na construo do
55

56

CLASSIFICAO DE DADOS BASEADO NO GRAFO K -ASSOCIADO TIMO

grafo timo1 , a saber, 1) o grafo K -associado - como constru-lo a partir de um conjunto


de dados; 2) a medida de pureza - como calcular a pureza de cada componente e; 3) o grafo
timo - como obter o grafo timo a partir dos grafos K -associados. Tambm apresentado
a construo do classicador que se baseia na estrutura do grafo para estimar a classe
de novos dados, bem como um exemplo completo de classicao; seguido pela seo
que determina a complexidade computacional de todo o processo. Cabe ressaltar que a
construo do grafo, bem como a do classicador, no requer parmetros e, dessa forma,
no exige seleo de modelos. O captulo tambm apresenta alguns experimentos em dados
articiais mostrando as principais propriedades dos grafos, K -associados e K -associado
timo, bem como, da medida de pureza. Por m, o algoritmo KAOG comparado
com cinco outros algoritmos em quinze domnios multiclasse, obtidos do repositrio UCI
(Asuncion e Newman, 2007), seguidos pela anlise estatstica dos resultados.

3.1 O grafo K-associado


Um grafo, gerado a partir de um conjunto de dados, cujo objetivo seja representar os
padres e as relaes entre os dados, deve herdar as principais caractersticas presentes
nos dados. Usualmente, cada instncia no conjunto de treinamento mapeado para um
vrtice no grafo e as conexes so estabelecias de maneira a preservar as relaes de
similaridades desejadas.
Considere o conjunto de treinamento X = {x1 , . . . , xN } no qual cada instncia xi
possui um rtulos representado por yi e associado a uma das classes = {1 , 2 , ..., },
sendo o nmero de classes. O grafo K -associado pode ser construdo como segue.
Inicialmente, cada instncia de entrada xi representado por um vrtice vi , e de maneira
similar yi representa a classe de vi . O passo seguinte resume em conectar todo vrtice
vi todos os seus K vizinhos mais prximos que pertenam mesma classe, ou seja,
qualquer outro vrtice vj ser conectado ao vrtice vi , se e semente se, ambas condies
forem satisfeitas: 1) a instncia representada por vj um dos K vizinhos mais prximos
da instncia representada por vi , segundo uma determinada medida de similaridade; 2)
as instncias representadas por vi e vj pertencem mesma classe.
O grafo K -associado pode ser visto como uma variante do grafo KNN, pelo fato de
ambos considerarem relaes de vizinhana do tipo vizinho mais prximo. No grafo K associado, entretanto, dentre os K vizinhos de um vrtice vi , somente sero conectados
os que possuem a mesma classe que vi , e, alm disso, no grafo K -associado as conexes
duplas so mantidas. Considerando vi e vj , vrtices de uma mesma classe, uma conexo
dupla ocorre quando o vrtice vj seleciona o vrtice vi para conectar e, todavia, vi j se
encontra conectado a vj , neste caso, a nova conexo estabelecida resultando em duas
conexes no direcionadas entre os vrtices vi e vj . A Figura 3.1 ilustra as diferenas
entre os grafos KNN e K -associado para o mesmo valor de K (K = 2).
1

No texto, grafo timo usado em aluso ao termo grafo K-associado timo.

O GRAFO K -ASSOCIADO

57

2
2
(a)

(b)

(c)

(d)

Figura 3.1: Diferenas no padro de conexo entre vrtices considerando os algoritmos:


(a) grafo KNN e (b) grafo K -associado. As guras (c) e (d) representam conexes duplas.
Nas Figuras 3.1(a) e (b) os vrtices representam duas classes (retngulos azuis e crculos vermelhos), na Figura 3.1(a) ilustrado o grafo 2NN, que no considera informao
de classe nem conexes duplas. A Figura 3.1(b) mostra o grafo 2-associado formado pelo
mesmo conjunto de vrtices. Note que, o ltimo considera diferenas entre classes e ligaes duplas. Esta maneira em particular de conectar os vrtices produz um multigrafo
com arestas no direcionadas e fundamental para a denio da pureza, como ser
mostrado a frente. A Figura 3.1(c) ilustra uma notao comumente usada para conexes
duplas e a Figura 3.1(d) a notao, para o mesmo tipo de conexo, que ser usada ao
longo do texto.
Assim que todos os vrtices forem considerados para conectar seus K vizinhos mais
prximos, a construo do grafo K -associado chega ao m. Neste estgio, cada classe
representada por um ou mais componentes, em outras palavras, o nmero de componentes
ser sempre maior ou igual ao nmero de classes. Note que conforme o valor de K aumenta,
o nmero de componentes decresce monotonicamente at convergir para o nmero de
classes.
De maneira formal, o grafo K -associado G(K) = (V, E) consiste de um conjunto de
vrtices V = {v1 , . . . , vN }, sendo N o nmero de instncias no conjunto de treinamento, e
um conjunto de arestas E. O vrtice vi est associado instncia xi , no qual uma aresta
eij conecta o vrtice vi com o vrtice vj se yi = yj e vj vi ,K , onde vi ,K representa o
conjunto dos K vizinhos mais prximos de vi segundo uma medida de similaridade.
Considerando as denies prvias, nota-se que:
1. Um grafo K -associado pode ser visto como um conjunto de componentes C C =
{C1 , ..., CR } e = {1, 2, ..., R}, onde ndice de componente e R o nmero de
componentes no grafo.
2. Para cada par de vrtices vi e vj , se yi = yj e vj vi ,K ou vi vj ,K ambos os
vrtices estaro no mesmo componente.
3. A mdia mxima do grau, para qualquer componente C , sempre ser 2K (Figura
3.2(a)), isso ocorre quando todos os K vizinhos mais prximos de vi C possuem
a mesma classe.
4. Apenas vrtices que pertencem mesma classe podem ser conectados. Portanto,
cada componente associado a uma nica classe e o nmero de componentes no

58

CLASSIFICAO DE DADOS BASEADO NO GRAFO K -ASSOCIADO TIMO

mximo igual ao nmero de classes (R ).


5. O nmero de arestas entre vrtices de um mesmo componente C , proporcional
a K e, pode ser no mximo igual a K N , sendo N o nmero de vrtices no
componente. Note que a soma do grau conta as arestas duas vezes e corresponde
2K N .

O Algoritmo 3.1 detalha a construo do grafo, K-associado, tendo como entrada, o


tamanho da vizinhana considerada K, e o conjunto de dados com classe associada. O
algoritmo retorna o grafo K -associado, para o valor de K passado como parmetro, como
uma lista de componentes com suas respectivas purezas.
Algoritmo 3.1 Algoritmo para a construo de um grafo K -associado (Kac)
Entrada: K e X = {(xi , yi ), ..., (xN , yN )} {Conjunto de dados com classe associada}
Sada: G(K) = {C1 , . . . , CN } onde C = (G0K (V 0 , E 0 ); ) {Grafo K-associado}
C
G(K)
para todo vi V faa
para j = 1 to K faa
vi ,K {vj |vj vi ,K e yj = yi }
E E {eij |vj vi ,K }
m para
m para
C encontraComponentes(V ,E)
para todo C C faa
pureza(C )
G(K) G(K) {(C (V 0 , E 0 ); )}
m para
retorne G(K)

Como mencionado, o vrtice vi representa a instncia xi . O algoritmo dene o conjunto


vi ,K que representa os vrtices pertencentes K-vizinhana do vrtice vi que tambm
pertencem mesma classe que vi . Estes conjuntos sero usados para conectar o grafo,
como mostrado no Algoritmo 3.1. Uma vez construdo, a funo encontraComponentes()
encontra os componentes no grafo K -associado atual, por meio da busca em largura ou
em profundidade. O mtodo pureza() calcula a medida de pureza para cada componente,
como ser detalhada na prxima seo.
Note que cada valor de K est associado a um grafo K -associado e, como car claro
mais adiante, diferentes valores para o parmetro K resultar em grafos com diferentes
caractersticas como, nmeros de componentes e seus valores de pureza. Entretanto, no
contexto de classicao, desejvel que cada componente apresente o mnimo de rudo,
ou pureza mxima. A ideia encontrar um grafo que consista em vrios componentes
sendo que cada componente mantenha a maior pureza possvel, sem que dependam de um
nico valor de K.

O GRAFO K -ASSOCIADO

59

3.1.1 A medida de pureza


A maneira em que o grafo K -associado construdo permite o clculo de uma medida
que reete o quo puro ou livre de rudo um componente. O clculo da pureza utiliza-se
da topologia do grafo para quanticar o grau de mistura em relao s diferentes classes.
Seja gi o grau do vrtice vi , N o nmero de instncias no conjunto de treinamento e K
o tamanho da vizinhana considerada na construo do grafo. A taxa gi /2K corresponde
frao de arestas entre o vrtice vi e os vrtices do mesmo componente. Assim, o total
de conexes |E | entre vrtices no componente C dado pela Equao (3.1).
|E | =

N
N
N
gi
N
1
gi =
=
hG i
2 i=1
2 i=1 N
2

(3.1)

Na qual, N o nmero de vrtices no componente C e hG i corresponde mdia do


grau no componente C . O nmero mximo de arestas entre os N vrtices do componente
C KN . Dessa forma, pode-se denir uma medida de pureza ou de quo misturado
esto os componentes com relao s suas classes. Considere a medida de pureza denida
pela Equao (3.2).
=

N hG i
2

KN

hG i
2K

(3.2)

Na equao, denida como a pureza do componente C . A Figura 3.2 ilustra


alguns exemplos do clculo da pureza.
vi
vj

vk 2 2 vl
2
2 2 2

2
gi = 6
gj = 5
gk = 7
gl = 6
gm = 6

6
=
=1
2 2 3

(a)

vj

2
vk

gi = 1
gj = 3
gk = 4
gl = 2

vm

vi

vi

vj

vk

gi = 1
gj = 3
gk = 1
gl = 1

vl

vl

2,5
=
= 0,416
2 2 3

(b)

1,5
=
= 0,25
2 2 3

(c)

Figura 3.2: Exemplo do clculo da pureza para K = 3, considerando (a) componente


puro, (b) componentes com pureza intermediria e (c) componente em volta a rudo.
Para um componente relativamente isolado com N instncias de dados pertencentes
a uma mesma classe, como na Figura 3.2(a), todo vrtice ter conexes com todos os K
outros vrtices (formando um clique), o que resulta em um total de KN arestas ou 2KN
na soma do grau. De modo que, o grau mdio neste caso hGi = 2K, resultando no valor
mximo para a pureza, = 1. Em contrapartida, quando existem rudos ou quando
vrtices de classes diferentes encontram-se misturados, os vrtices no estabelecero K
conexes devido presena de vrtices de diferentes classes em suas K-vizinhanas. Nesses
casos, quanto maior a mistura dos dados, menor ser o valor da pureza, como na Figura

60

CLASSIFICAO DE DADOS BASEADO NO GRAFO K -ASSOCIADO TIMO

3.2(b), onde os componentes encontram-se entrelaados diminuindo a pureza um do outro


(neste caso ambos tm pureza identica). O caso extremo, = 0, refere-se a vrtices
isolados no grafo que esto relacionados a dados ruidosos ou outliers (Hodge e Austin,
2004), como por exemplo, os elementos da classe representada por retngulos azuis na
Figura 3.2(c). Note que, a pureza igual a zero desconsidera o componente para ser usado
na classicao de novos dados - o que signica que, por meio da pureza possvel detectar
rudos e outliers. De modo geral, denida no intervalo [0, 1], no qual, valores prximos
a 1 indicam maior interconectividade em um componente enquanto que valores menores
indicam mistura entre componentes de classes diferentes ou rudo. Portanto, a relao
= hG i/2K pode ser considerada como uma medida de pureza para o componente
C . Em ltima anlise, a pureza pode ser vista como a probabilidade a priori de conexo
na regio delimitada pelo componente. Esta propriedade ser explorada pelo classicador
para denir as classes dos novos dados.

3.1.2 O grafo K-associado timo


No processo descrito para a construo de um grafo K -associado, note que diferentes
grafos podem ser gerados usando diferentes valores de K, e que, de acordo com a pureza,
alguns dos grafos podem conter melhores componentes do que outros. No geral, raramente
um grafo obtido com um nico valor de K possuir os melhores componentes dentre todos
os possveis componentes gerados, considerando os diversos valores possveis para K. O
que se observa que, diferentes regies do espao de dados so melhor representadas por
diferentes componentes - gerados com diferentes valores de K. Anlogo classicao
realizada pelo algoritmo KNN, onde o valor de K que resulta em melhor desempenho
de classicao varia de acordo com o domnio de dados. Consequentemente, uma ideia
intuitiva obter um grafo com a melhor organizao dos vrtices em componentes e
maximizar a pureza sem depender de um nico valor de K. Dessa forma, o componente
C tem seu prprio K , que o valor de K para o qual a pureza do componente mxima.
Portanto, para obter o grafo timo, aumenta-se o valor de K enquanto os melhores
componentes, at ento encontrados, so armazenados. Para comparar componentes obtidos com valores diferentes de K, considere os grafos, K-associado e (K + q)-associado,
(K+q)
para qualquer inteiro q > 1. Sejam e ndices de componentes, um componente C
(K+q)
pertencente ao grafo (K + q)-associado, com pureza
, deve ser comparado, em relao pureza, a todo componente C , cuja pureza (K)
, de forma que, para que o
(K+q)
(K+q)
, a
componente C
seja considerado mais puro que os componentes C(K) C
Equao (3.3) deve ser satisfeita.
(K+q)

(K+q)

para todo C(K) C


(K)

(3.3)

O grafo timo a estrutura nal e nica obtida por meio do aumento de K e pela
seleo dos melhores componentes ao longo de diferentes valores de K, de acordo com a

O GRAFO K -ASSOCIADO

61

Equao (3.3). No Algoritmo 3.2 detalhado a construo do grafo K -associado timo


tendo como entrada um conjunto de treinamento. Note que este usa o Algoritmo 3.1 para
a construo dos grafos K-associados. O grafo timo ser usado na classicao de novos
dados, como ser exposto na prxima seo.
Algoritmo 3.2 Algoritmo da construo do grafo K -associado timo (KAOG)
Entrada: X = {(xi , yi ), ..., (xN , yN )} {Conjunto de dados vetoriais com classe associada}
Sada: G(ot) = {(G0 (V, E); )}; {Grafo com os melhores componentes}
K1
G(ot) Kac(X, K)
repita
ultimaT axa G(K) /K
K K +1
G(K) Kac(X, K)
(K)
para todo C G(K) faa
(K)

se (

(ot)

(ot)

(ot)

(K)

para todo C C

(ot)
G

C(ot)
(ot)

(K)

(K)

G(ot) G(ot) {C
m se
m para
at que hG(K) i/K < ultimaT axa;
retorne G(ot)

) ento

No Algoritmo 3.2, a construo do grafo timo detalhada. O algoritmo tem como


nica entrada o conjunto de treinamento, que representado por um conjunto de vrtices,
cada qual com uma classe associada. O grafo timo, notado por G(ot) , pode ser visto como
uma lista dos melhores componentes encontrados durante este processo. Inicialmente a
lista de componentes G(ot) inicializada com o grafo 1-associado (K = 1), pois at ento
todos os componentes so os melhores encontrados. O algoritmo procede incrementando
K de um e, para cada K, constri-se o grafo K-associado correspondente (por meio da
funo Kac, Algoritmo 3.1), representado por G(K) no algoritmo. Conforme K aumenta,
componentes de uma mesma classe tendem a unirem-se para formar componentes maiores,
dado que o aumento de K pode resultar na unio de alguns componentes. Cada componente recm-formado, obtido da unio de um ou mais componentes do grafo K-associado
anterior, tem um valor de pureza prprio que depende da estrutura do componente atual.
Para cada grafo K-associado, a pureza de cada componente novo comparada com os
componentes que o formaram. Portanto, se o novo componente tiver pureza maior ento trocam-se os componentes correspondentes, armazenados em G(ot) , pelo componente
recm-formados.
A substituio de componentes ocorre para todo K > 1, e realizada se a pureza
do componente atual for maior do que a dos componentes, armazenados no grafo timo,
(K)
(K)
que possuem os mesmos vrtices. Seja o componente C , com pureza , um componente do grafo K -associado formado na iterao atual K. Para que este componente
(K)
seja aceito e adicionado no grafo timo, preciso que a pureza seja maior ou igual
pureza de todos os componentes C(ot) , pertencentes ao grafo timo, que estejam contidos

62

CLASSIFICAO DE DADOS BASEADO NO GRAFO K -ASSOCIADO TIMO


(K)

no componente C . A propriedade de crescimento monotnico dos componentes, em


resposta ao aumento no valor de K, garante que um componente do grafo K-associado
contenha todos os vrtices dos componentes do grafo (K 1)-associado que o formaram,
(K1)
(K)
i.e. C
C . O que signica que as conexes estabelecidas no so desfeitas ao
longo do aumento de K, e que componentes do grafo K -associado so provenientes da
adio de arestas que eventualmente unem componentes do grafo (K-1)-associado. Dessa
forma, um componente do grafo K -associado ir conter todos os componentes previamente
obtidos a partir dos mesmos vrtices.
A ideia que variando K e mantendo os melhores componentes encontrados durante
esse processo, possvel determinar o melhor valor de K, juntamente com a pureza, do
componente que representa a distribuio local dos dados. Podendo, esses valores, variarem para as diferentes regies do espao de dados. De forma que, cada componente
C , alm de estar associado pureza , tambm relacionado ao valor de K em que
foi formado, notado por K . O processo segue enquanto a taxa de crescimento hGi/K
continuar crescendo, ou seja, o algoritmo termina quando a taxa de crescimento, correspondente ao grafo K-associado, for menor do que a taxa do ltimo grafo obtido (grafo
(K 1)-associado), pela primeira vez. Para justicar esse critrio de parada, considere
encontrar o valor para o grau mdio de um componente do grafo K-associado, de modo
que, a pureza permanea inalterada, como mostrado na Equao (3.4). Seja (K1) e (K)
a pureza deste componente nos grafos (K 1)-associado e K-associado, respectivamente
e, hG(K) i a mdia do grau dos componentes do grafo K-associado.

(K)

(K1)

hG(K) i
hG(K1) i
=
2K
2(K 1)
(K)
hG i
hG(K1) i
=
2K
2K 2
(K)
2KhG i 2hG(K) i
2KhG(K1) i

=
2K
2K
2K
(K)
hG
i
= hG(K1) i
hG(K) i
K
hG(K) i
hG(K) i = hG(K1) i +
K

(3.4)

Note que, para que o valor da pureza de um componente do grafo (K 1)-associado


no sofra alteraes, quando recalculada para o mesmo componente no grafo K-associado,
a mdia do grau neste componente deve ser ao menos hG(K) i/K maior que a mdia do
grau no grafo anterior. Como o critrio depende somente da mdia do grau, pode-se
generalizar esta anlise para o grafo todo e no apenas um nico componente. Dessa
forma, qualquer aumento na mdia do grau, do grafo K-associado atual, maior que a essa
taxa hG(K) i/K, resultante do incremento de K, signica que o grafo K-associado ter
algum(s) componente(s) com pureza maior do que em relao ao grafo K-associado. Caso
contrrio, pode-se dizer que, intuitivamente, o crescimento do grafo atingiu um ponto de

CLASSIFICAO NO PARAMTRICA BASEADA NO GRAFO K -ASSOCIADO TIMO

63

saturao, onde no mais possvel manter a taxa em crescimento e como consequncia


a pureza mxima para cada componente j foi atingida.
O critrio de parada apresentado constitui uma heurstica que utiliza a taxa de crescimento da mdia do grau para interromper o processo de construo do grafo timo assim
que esta decresce. O critrio de parada que considera todos os componentes possveis
corresponde convergncia do nmero de componentes no grafo K-associado atual, para
o nmero de classes do problema. No entanto, para certos domnios de dados, este critrio
pode levar muitas iteraes para ser satisfeito, ao passo que, os componentes de maior
pureza so obtidos em poucas iteraes. Nos experimentos considerados neste trabalho,
o uso da heurstica como critrio de parada diminuiu o esforo computacional sem comprometer o desempenho do algoritmo.
Uma consequncia da denio da pureza, Equao (3.2), que vrtices isolados tem
pureza igual a zero, o que signica que esses vrtices no sero considerados no processo
de classicao. Vrtices isolados podem ser encontrados no grafo timo como reexo de
exemplos ruidosos ou outliers. Intuitivamente, quando uma instncia de dado encontra-se
cercado por instncias de classes diferente da sua na distribuio dos dados; o vrtice
que o representa no grafo ter diculdade para conectar-se vrtices da mesma classe.
Mesmo quando o valor de K sucientemente grande e esse tipo de vrtice conecta-se a
algum componente mais longe, esta nova congurao possivelmente no ser aceita, pois
esta conexo provavelmente degradar a pureza do componente que o vrtice isolado se
conectou tardamente.

3.2 Classicao no paramtrica baseada no grafo K-associado


timo
O objetivo desta seo apresentar o algoritmo para a construo do classicador que
utiliza o grafo K -associado timo como um modelo construdo a partir dos dados para
inferir a classe de novos dados de entrada. Uma vez que cada componente formado
por vrtices (instncias) de uma nica classe, pode-se calcular a probabilidade de um
novo vrtice pertencer a uma determinada classe, atravs do clculo da probabilidade do
novo vrtice pertencer a um dos componentes do grafo timo. Antes da apresentao do
classicador, considere as seguintes notaes.
Tipicamente uma instncia de treinamento representada por xi = (xi1 , xi2 , ..., xip , yi ),
sendo xij o j-simo atributo da i-sima instncia do conjunto de treinamento e yi a
classe associada instncia xi ; considerando um problema com classes tem-se, yi
= {1 , 2 , ..., }. A tarefa de classicao resume-se em determinar a classe, , associada
a um novo exemplo z = (z1 , z2 , ..., zp ). O vrtice correspondente ao exemplo de dado z
denotado por vz .

64

CLASSIFICAO DE DADOS BASEADO NO GRAFO K -ASSOCIADO TIMO

3.2.1 Descrio do mtodo de classicao proposto


De acordo com a teoria de Bayes (Hastie et al., 2009), a probilidade a posteriori de
um novo vrtice vz pertencer ao componente C , dado o nmero de vizinhos de vz que
pertencem ao componente C , denotado por Nvz ,C , denida na Equao (3.5).
P (Nvz ,C |C ) P (C )
P (Nvz )

P (vz C |Nvz ,C ) =

(3.5)

Como cada componente C teve origem em determinado grafo K-associado, o nmero


de vizinhos de vz , pertencentes ao componente C , Nvz ,C , deve considerar K como o
valor de K, no qual o componente C foi formado. Portanto, a probabilidade do vrtice vz
estabelecer Nvz ,C conexes com o componente C , considerando as K possveis conexes,
denida na Equao (3.6).
P (Nvz ,C |C ) =

|{vz ,K C }|
K

(3.6)

Na equao o conjunto vz ,K representa o conjunto dos K vizinhos mais prximos


de vz . O termo de normalizao, P (Nvz ), na Equao (3.5), pode ser determinado considerando todos os componentes, C , que vz tenha conectado no processo de denio dos
vizinhos mais prximos, ou seja, todos os componentes para os quais Nvz ,C 6= 0, como
denido na Equao (3.7).

P (Nvz ) =

P Nvz ,C |C P (C )

(3.7)

Nvz ,C 6=0

Como mencionado na Seo 3.1.1, a pureza, alm de reetir o nvel de mistura, pode ser
vista como a probabilidade de interconexo em um componente. Dessa forma, a pureza
normalizada pode agir como a probabilidade a priori de cada componente. De modo
que, para ser usada como probabilidade, a normalizao da pureza considera somente os
componentes que vz foi conectado, como mostra a Equao (3.8).
P (C ) =

(3.8)

Nvz ,C 6=0

Na maioria dos casos o nmero de componentes excede o nmero de classes, de acordo


o classicador timo de Bayes, como as probabilidades a posteriori so calculados para
cada componente, necessrio combinar as probabilidades a posteriori de todos os componentes que pertenam mesma classe para extrair a verdadeira probabilidade a posteriori
do novo exemplo pertencer a uma determinada classe. Dessa forma a probabilidade a
posteriori de um novo exemplo pertencer a uma classe ser a soma das probabilidades a
posteriori obtidas dos componentes com a mesma classe. Dessa forma, a probabilidade

CLASSIFICAO NO PARAMTRICA BASEADA NO GRAFO K -ASSOCIADO TIMO

65

de vz pertencer classe i , determinada como na Equao (3.9).


P (vz |i ) =

P (vz C |Nvz ,C )

(3.9)

=i
C

Onde C representa a classe dos vrtices no componente C . Finalmente o maior


valor entre as probabilidades a posteriori (Maximum A Posteriori) reete a classe mais
provvel para o novo exemplo, de acordo com a Equao (3.10).
(vz ) = arg max {P (vz |1 ) , ..., P (vz | )}

(3.10)

Na qual, (vz ) identica a classe atribuda ao vrtice vz e, por consequncia ao exemplo z. O classicador recomendado para tratar problemas multiclasses ( > 2) devido
organizao esparsa do grafo timo aliada medida de pureza que, como visto anteriormente, pode ser vista como uma probabilidade a priori para o classicador Bayesiano.
O Algoritmo 3.3 ilustra, em detalhes, os passos na classicao de um novo exemplo z,
representado como vrtice vz .
Algoritmo 3.3 Algoritmo do processo de classicao - classicador esttico
Entrada: X = {(xi , yi ), ..., (xN , yN )} {Conjunto de dados com classe associada},
G(ot) {Grafo K-associado timo} e z {Novo exemplo a ser classicado}
Sada: (vz ) {Classe atribuda ao exemplo z}
Kmax maiorK(G(ot) )
vz ,Kmax encontraV izinhos(X, z, Kmax )
para todo vi vz ,Kmax faa
C componente(G(ot) , vi )
se vi vz ,K ento
Nvz ,C Nvz ,C + 1
m se
m para
para todo C G(ot) e Nvz ,C 6= 0 faa
P (vz C ) (Nvz ,C /K )P (C )
P (N ) P (N ) + P (vz C )
m para
para j = 1 at faa
se C = j ento
P (j ) P (j ) + P (vz C )/P (N )
m se
m para
retorne (vz ) = argmax{P (1 ), . . . , P ( )}

No algoritmo, o mtodo maiorK() recupera o maior valor de K obtidos durante a fase


de construo do grafo timo, o mtodo encontraV izinho() encontra os Kmax vizinhos
mais prximos do exemplo que deve ser classicado z, note que este mtodo utiliza o
conjunto de entrada para determinar os vizinhos. O conjunto dos vizinhos do vrtice
vz , vz ,Kmax , usado para determinar a qual componente do grafo timo cada um deles
pertence, por meio do mtodo componente(). Uma vez denido a qual componente um
determinado vrtice pertence, verica-se se vi est na K -vizinhana de vz , i.e. se vi um
dos K vizinhos mais prximos de vz . Em caso armativo, o componente C possui uma
ligao vlida com o novo vrtice vz . O nmero de conexo vlidas, a cada componente

66

CLASSIFICAO DE DADOS BASEADO NO GRAFO K -ASSOCIADO TIMO

C , armazenado em N , que ser usado para estimar a probabilidade de vz pertencer


ao componente C , notada por P (vz C ). A probabilidade P (vz C ) depende do
valor de K e da pureza normalizada do componente C , notada por P (C ); P (N ) o
termo normalizador e pode ser calculado como a soma das pertinncias do novo exemplo
aos diversos componentes. Uma vez obtida as pertinncias por componentes, somam-se
as de mesma classe, como mostrado na Equao (3.9). A classe atribuda ao novo dado z
corresponde classe com maior probabilidade a posteriori.

3.2.2 Exemplo de classicao


Com o objetivo de deixar claro o funcionamento do classicador considere o seguinte
exemplo de classicao em um domnio articial. A Figura 3.3 ilustra um grafo timo
composto por cinco componentes (C1 , C2 , C3 , C4 e C5 ), no qual C1 pertence classe 1 , C2
e C3 pertencem classe 2 , enquanto que C4 e C5 pertencem classe 3 . Na gura tambm
so mostrados a pureza () de cada componente e o valor de K em que cada componente
foi construdo. O objetivo neste exemplo ilustrar todos os passos na classicao de
um novo exemplo de dado z, para isso o primeiro passo inseri-lo no grafo como um
novo vrtice vz . Uma vez abstrado para vrtice, necessrio encontrar os vizinhos mais
prximos. Como cada componente possui diferentes valores de K, preciso determinar os
K vizinhos mais prximos para cada componente. O que equivale a encontrar o nmero
de vizinhos determinado pelo valor do maior K (K = 4 neste exemplo). Note na Figura
3.3 que o vrtice a ser classicado vz possui conexes (em linha pontilhada) com os quatro
vrtices mais prximos, numeradas de acordo com a ordem de similaridade. Na verdade
estas conexes podem ser vistas como conexes imaginrias, pois somente serviro para
classicar o novo vrtice, uma vez que o novo vrtice no integrar a rede - considerando
o classicador esttico. Considerando o componente C1 , com K = 4, todas as quatro
ligaes so consideradas, j no caso onde K = 3, como ocorre com os componentes C2 e
C5 , apenas as ligaes 1, 2 e 3 so consideradas, enquanto que a ligao 4 ignorada. O
mesmo aplica-se ao caso K = 2, que ocorre nos componentes C3 e C4 , apenas as ligaes
1 e 2 so levadas em considerao.
Como j mencionado a tarefa predizer a classe do novo vrtice vz (representado como
estrela na gura). De acordo com a Equao (3.10), a classe do novo vrtice determinada
por meio do clculo da probabilidade a posteriori mxima de cada classe. Dessa forma,
necessrio calcular a probabilidade a posteriori do novo vrtice pertencer a cada um dos
componentes, segundo a Equao (3.5), e depois combin-las de acordo com cada classe
como na Equao (3.9). Portanto, inicialmente deve-se determinar P (vz |1 ), P (vz |2 ), e
P (vz |3 ).
No exemplo, a pureza de cada componente j foi calculada, no entanto para que a
mesma possa se comportar como probabilidade a priori de cada componente, a soma
entre as purezas de todos os componentes utilizados na classicao deve ser 1. Considere
a normalizao da pureza, como denida na Equao (3.8), feita para este estudo de caso.

CLASSIFICAO NO PARAMTRICA BASEADA NO GRAFO K -ASSOCIADO TIMO

Classe 2
C2
C3
K=3
K=2
= 0,81
= 0,33

Classe 1
C1
K=4
= 0,97
2

2
2

2
2

C1

C3

vz

2 2
2

2 C2

67

2 C4
2

2
2

2
2

Classe 3
C4
C5
K=2
K=3
= 0,5
= 0,79

C5

Figura 3.3: Exemplo de classicao do algoritmo KAOG em um domnio articial com


trs classes.

1
1 + 2 + 4 + 5
2
P (C2 ) =
1 + 2 + 4 + 5
4
P (C4 ) =
1 + 2 + 4 + 5
5
P (C5 ) =
1 + 2 + 4 + 5
P (C1 ) =

0, 97
0, 97 + 0, 81 + 0, 5 + 0, 79
0, 81
=
0, 97 + 0, 81 + 0, 5 + 0, 79
0, 5
=
0, 97 + 0, 81 + 0, 5 + 0, 79
0, 79
=
0, 97 + 0, 81 + 0, 5 + 0, 79
=

0, 32

(3.11)

0, 26

(3.12)

0, 17

(3.13)

0, 25

(3.14)

O prximo passo determinar a probabilidade de vz conectar-se ao componente C


dado K , denotada por P (Nvz ,C |C ), e denida na Equao (3.6), para = {1, 2, 3, 4, 5}.
Para o componente C1 com K1 = 4, como na Figura 3.3, apenas a conexo 4 de fato
conecta o novo vrtice vz ao componente C1 . Isto signica que a probabilidade de vz ser
conectado ao componente C1 , dado o nmero de ligaes permitidas K1 = 4, de 1/4,
dessa forma tem-se P (Nvz ,C1 |C1 ) = 1/4. Considere agora o clculo para o componente C2
que apresenta K2 = 3, dessa vez apenas a ligao 1 conecta o novo vrtice vz ao componente em questo C2 , o que resulta em P (Nvz ,C2 |C2 ) = 1/3. Considerando o componente
C3 , com K3 = 2, note que dentre os dois vizinhos mais prximos de vz , nenhum pertence
ao componente C3 , portanto P (Nvz ,C3 |C3 ) = 0. J o componente C4 , com K4 = 2, recebe
a conexo 2 como nica conexo, dentre as duas possveis, ento P (Nvz ,C4 |C4 ) = 1/2. Por
ltimo, um dos vrtices do componente C5 , que permite trs ligaes, o terceiro vizinho
mais prximo de vz , ento P (Nvz ,C5 |C5 ) = 1/3.

68

CLASSIFICAO DE DADOS BASEADO NO GRAFO K -ASSOCIADO TIMO

Finalmente, calcula-se o termo de normalizao, P (Nvz ), como denido na Equao


(3.7), que corresponde observao completa das conexes de vz na classicao corrente.
Na Figura 3.3, nota-se que as conexes de vz utilizadas na classicao foram: uma com o
componente C1 , uma com C2 , uma com C4 e uma com C5 . Dessa forma, P (Nvz ,C1 |C1 ) =
1/4, P (Nvz ,C2 |C2 ) = 1/3, P (Nvz ,C3 |C3 ) = 0, P (Nvz ,C4 |C4 ) = 1/2 e, P (Nvz ,C5 |C5 ) = 1/3.
Assim, o termo normalizador dado pela somatria das probabilidades de pertencer a
todos os componentes envolvidos, como mostra a Equao (3.15).

P (Nvz ) =

P Nvz ,C |C P (C )

(3.15)

Nvz ,C 6=0

1
1
1
0, 32 + 0, 26 + 0, 25
4
3
3
1
+
0, 17 = 0, 3343
2
=

Juntando os termos previamente calculados na Equao (3.5), obtm-se:


P (vz C1 |Nvz ,C1 ) =

P (vz C2 |Nvz ,C2 ) =

P (vz C4 |Nvz ,C4 ) =

P (vz C5 |Nvz ,C5 ) =

0, 32
0, 24
0, 3343

(3.16)

0, 26
0, 26
0, 3343

(3.17)

0, 17
0, 25
0, 3343

(3.18)

0, 25
0, 25
0, 3343

(3.19)

1
4

1
3

1
2

1
3

Uma vez encontradas as probabilidades de pertinncia de vz a cada um dos componentes, o passo seguinte somar as probabilidades referentes aos diferentes componentes
de uma mesma classe, como na Equao (3.9), assim tem-se:

P (vz |1 ) = P (vz C1 |Nvz ,C1 ) = 0, 24

(3.20)

P (vz |2 ) = P (vz C2 |Nvz ,C2 ) = 0, 26

(3.21)

P (vz |3 ) = P (vz C4 |Nvz ,C4 )


+ P (vz C5 |Nvz ,C5 ) = 0, 5

(3.22)

Por m, aplica-se a Equao (3.10) que corresponde em encontrar a mxima probabilidade a posteriori e como resultado verica-se que vz classicado como pertencente
classe 3 .

69

CLASSIFICAO NO PARAMTRICA BASEADA NO GRAFO K -ASSOCIADO TIMO

3.2.3 Superfcie de deciso


Como o algoritmo proposto utiliza relaes de vizinhana na classicao de novos
dados, o prximo exemplo explora as diferenas entre os algoritmos KAOG e K NN. Considere o conjunto com trs classes gerado articialmente e apresentado na Figura 3.4(a).
As superfcies de deciso relativa ao conjunto de dados apresentado na Figura 3.4(a) so
apresentadas na Figura 3.4(b) para 1NN, Figura 3.4(c) para 15NN e na Figura 3.4(d) para
o algoritmos proposto KAOG. Apesar das limitaes em revelar todas as caractersticas
dos algoritmos, considerando uma representao em duas dimenses com poucos dados,
ainda assim possvel notar algumas das maiores diferenas entre os algoritmos.
1

0.8

0.8

0.6

0.6

0.4

0.4

0.2

0.2

0.2

0.2

0.4

0.4

0.6

0.6

0.8

0.8

1
1

0.5

0.5

1
1

0.5

0.8

0.8

0.6

0.6

0.4

0.4

0.2

0.2

0.2

0.2

0.4

0.4

0.6

0.6

0.8

0.8

1
1

0.5

(c)

0.5

0.5

(b)

(a)

0.5

1
1

0.5

(d)

Figura 3.4: Comparao entre supercies de deciso entre K NN e KAOG. A Figura


(a) representa um conjunto com trs classes gerado articialmente; nas demais guras
apresentado a supercie de deciso gerada pelos algoritmos (b) 1-NN, (c) 15-NN e, (d)
KAOG.
Como pode ser visto nas Figuras 3.4(b)-(d), mtodos baseados em vizinhos mais prximos so por natureza no linear e multiclasse. Alm de que, o algoritmo KAOG capaz
de ajustar localmente distribuio dos dados, devido maneira que os componentes
so usados na classicao. Como resultado do processo de treinamento, o grafo timo
composto pelos componentes de maior valor de pureza, dentre os diversos componentes

70

CLASSIFICAO DE DADOS BASEADO NO GRAFO K -ASSOCIADO TIMO

obtidos na gerao dos grafos K-associados. Dessa forma, o grafo timo pode ser visto
como uma estrutura otimizada localmente que permite ao classicador agir de acordo
com a distribuio local das instncias. Uma analogia direta entre o algoritmo KAOG
e o algoritmo KNN pode ser estabelecida por meio da comparao de suas respectivas
superfcies de deciso. No algoritmo KNN, pequenos valores de K produzem superfcies
de deciso bastante ajustada aos exemplos de dados, ao passo que, valores altos para K
produzem superfcies de deciso mais gerais. Como o algoritmo proposto pode armazenar
componentes obtidos atravs de diferentes valores de K, consequncia que, a superfcie
de deciso apresentar localmente a caracterstica de certo componente. Por exemplo, em
reas com rudo o algoritmo tentar encontrar pequenos grupos que possam formar um
componente, evitando a criao de vrios componentes de um nico vrtice - o que seria
semelhante classicao feita pelo algoritmo 1NN. Enquanto que em reas relativamente
puras, o algoritmo tentar incrementar K com o objetivo de aumentar a inuncia desta
rea na classicao. Como j mencionado, o algoritmo proposto, KAOG, tambm possui mecanismos para a deteco e remoo de outliers, que consiste em remover do grafo
timo os vrtices isolados. A razo para que essas instncias permaneam desconectadas
deve-se a sua localizao em relao a outras instncias no espao de dados, possivelmente
envoltas a instncias de outra classe ou longe da distribuio dos dados.

3.3 Complexidade computacional


De acordo com o Algoritmo 3.2, o treinamento do classicador consiste na construo
de vrios grafos K-associados sequencialmente, incrementando K de um, at o ponto em
que a taxa hGi/K do grafo K-associado for menor que a do grafo (K 1)-associado.
Portanto, o critrio de parada depende do conjunto de treinamento, seu nvel de rudo,
nmero de classes e distribuio das classes. Assim, para determinar a complexidade do
algoritmo, considere Kmax como o valor mximo de K quando o critrio de parada fora
atingido. Note que Kmax no se congura como um parmetro, trata-se apenas de um
valor estimado do valor de parada usado para determinar a complexidade computacional
do algoritmo proposto. No geral, trata-se de um valor pequeno, por exemplo, em todos os
experimentos realizados neste trabalho Kmax < 20. De acordo com o algoritmo KAOG,
a construo do grafo, bem como a do classicador, consiste nos seguintes passos:
1. Calcular a matriz de distncia a partir do conjunto de treinamento;
2. Encontrar Kmax vizinhos mais prximos para o exemplo a ser classicado;
3. Para K = 1 at Kmax
(a) Construir o grafo K-associado correspondente;
(b) Encontrar todos os componentes no grafo K-associado atual;
(c) Calcular a pureza para todos os componentes;

COMPLEXIDADE COMPUTACIONAL

71

(d) Unir componentes, referentes aos grafos (K-1)-associados e ao grafo K-associado


como mostrado na Equao (3.3).
Dessa forma, a ordem de complexidade dos passos mencionados corresponde complexidade de construo do classicador. A complexidade para classicar um conjunto
com M novos exemplos usando o classicador ser analisado separadamente. Apesar de
muitos dos passos poderem ser otimizados, a analise conduzida considerando o uso de
mtodos bsicos. Ao nal desta seo, sero discutidas algumas abordagens e alguns
mtodos avanados que podem ser usados para melhorar a performance do algoritmo
proposto.
Primeiramente, considere a anlise da ordem de complexidade relativa fase de construo do classicador. Dado um conjunto de treinamento no formato atributo-valor
com N instncias e p atributos, a complexidade para calcular a matriz de distncia correspondente N (N 1)p que implica em uma ordem de complexidade de O(N 2 p). Para a
construo do grafo timo, necessrio determinar at Kmax vizinhos mais prximos para
cada uma das N instncias de entrada. Considerando o uso de um simples algoritmo de
ordenao como a ordenao por seleo (selection sort) (Cormen et al., 2009) e o fato
de que Kmax << N , pode-se dizer que so requeridas N operaes para encontrar um
nico vizinho, consequentemente so necessrias Kmax N operaes para encontrar Kmax
vizinhos. Sendo assim, a ordem de complexidade para encontrar Kmax vizinhos mais
prximos para as N instncias Kmax N 2 . O passo seguinte consiste em construir cada
um dos grafos K-associados. So necessrias KN operaes, pois existem K tentativas
de conexes para cada um dos N vrtices (Algoritmo 2). Assumindo o uso de busca em
largura para encontrar todos os componentes (funo encontraComponentes() no Algoritmo 2), o algoritmo tem ordem de complexidade de O(|V | + |E|), no qual o nmero
de vrtices igual ao nmero de instncias no conjunto de treinamento |V | = N , no
entanto o nmero de arestas |E| aumenta de acordo com K. Uma vez que Kmax << N ,
tem-se que o grafo K-associado ser esparso, ou seja |E| = O(N ), dessa forma a ordem de complexidade para encontrar todos os componentes em um grafo K -associado
O(N ). Uma vez encontrados os componentes, a medida de pureza pode ser calculada
simplesmente atravs da soma do grau dos N vrtices, o que tem ordem de complexidade de O(N ). Prosseguindo com a formao da rede, o prximo passo decidir se
componente atual - possivelmente resultado de unio entre dois ou mais componentes
do componentes do grafo (K-1)-associado, prefervel ao(s) componente(s) anterior(es).
Para isso necessrio comparar a pureza do componente atual (da rede K-associado)
com os componentes do ltimo grafo ((K 1)-associado) que o formaram. Sendo assim
a ordem de complexidade menor ou igual a O(N ) - pois N o nmero mximo de
componentes. Para a construo do grafo timo varia-se os valores de K, de 1 a Kmax ,
portanto, a complexidade do passo 3 Kmax N . Juntando os trs passos, a ordem de
complexidade O(N 2 p + Kmax N 2 + Kmax N ). Considere p << N e Kmax << N , a ordem
de complexidade para a construo do classicador O(N 2 ).

72

CLASSIFICAO DE DADOS BASEADO NO GRAFO K -ASSOCIADO TIMO

Com o objetivo de vericar a ordem de complexidade previamente estabelecida do


algoritmo KAOG, considere o seguinte experimento de tempo de execuo apresentado
na Figura 3.5. No experimento foram usados conjuntos de dados com diferentes tamanhos,
de 100 a 10.000 instncias. Cada resultado representa o tempo (em segundos) gasto para
construir o grafo timo a partir de um conjunto de dados de entrada no formato vetorial.
Os resultados consistem na mdia de 100 execues, e tambm so apresentados os valores
extremos (mnimo e mximo) dentre as 100 para cada conjunto. Os conjuntos de dados
foram gerados articialmente para toda execuo e consistem em dois atributos cujos
valores pertencem ao intervalo [0, 1] e com classe atribuda aleatoriamente considerando
os possveis valores {1, 2}. O experimento foi conduzido usando Java em um ambiente
Windows, com um equipamento de congurao Core 2 Duo 1.83 Ghz com 2 Gb de
memria.
40

35

30

Tempo (s)

25

20

15

10

0
100

1.000

2.000

3.000

4.000

5.000

6.000

7.000

8.000

9.000

10.000

Nmero de Padres

Figura 3.5: Tempo mdio de execuo seguido dos valores extremos na construo do
grafo timo, a partir de conjuntos de dados com diferentes tamanhos.
Considere, agora, a anlise da ordem de complexidade referente ao processo de classicao. Considerando M exemplos de teste, o clculo da matriz de distncia entre o
conjunto de treino e o de teste requer M N p operaes. Encontrar os Kmax vizinhos mais
prximos necessita de Kmax M N operaes. Dessa forma, tem-se O(M N p + Kmax M N ).
Assumindo que M << N , p << N e Kmax << N , a ordem de complexidade para classicar M exemplos, de O(M N ). Se M << N , a ordem para classicao de O(N ).
Como caso especial, a complexidade para classicar um novo dado de O(N ).
Repare que o processo mais caro computacionalmente o clculo da distncia entre o
novo exemplo e todas as instncias de treinamento, assim como nos mtodos baseados em
vizinhos mais prximos, dessa forma qualquer variao que possa ser implementado por

EXEMPLOS ILUSTRATIVOS E RESULTADOS EXPERIMENTAIS

73

um mtodo de vizinhos mais prximos com o objetivo de reduzir o tempo de execuo,


tambm pode ser implementado pelo algoritmo KAOG. Por exemplo, o uso de mtodos
baseados em rvores possibilita encontrar os vizinhos mais prximos sem ter que calcular
explicitamente a distncia para todas as instncias (Hernandez-Rodriguez et al., 2010), ou
de mtodos baseados em estimativas probabilsticas (Toyama et al., 2010). Outro trabalho
prope um mtodo baseado na estratgia de dividir para conquistar, e utiliza a Bisseco
de Lanczos (Chen et al., 2009b) para construir um grafo KNN com limite superior para
a complexidade da ordem de O(N p). Considerando este algoritmo na construo de cada
grafo K-associado, obtm-se O(K 2 N p + N c) = O(N ). Considerando essas melhorias no
apenas tempo computacional pode ser economizado, mas tambm o uso de memria pode
ser otimizado no algoritmo KAOG por meio do uso de tcnicas de reduo baseadas em
instncias (Wilson e Martinez, 2000).
A principal vantagem do algoritmo KAOG est no fato de no necessitar de seleo
de modelo, o que, em muitos casos computacionalmente mais caro que o prprio algoritmo de aprendizado. Por exemplo, uma execuo do mtodo de validao cruzada com
repetio para P -parties (ver Seo 2.3.2), demanda P vezes D vezes NP , onde D o
nmero de modelos considerados e NP o nmero de repeties consideradas. Portanto,
considerando NP = P , e.g. 10 repeties da validao cruzada de 10-conjuntos; a seleo
de modelo, neste caso requer P 2 D operaes, ou seja tem ordem de complexidade O(P 2 ),
sem contar a complexidade de treino de cada modelo. Comparado ao algoritmo KAOG,
que no exige seleo de modelo, portanto, complexidade de O(1) para a fase de seleo
for modelos, o que implica em uma grande vantagem no ajuste do classicador.

3.4 Exemplos ilustrativos e resultados experimentais


Nesta seo, alguns exemplos ilustrativos so apresentados com o objetivo de melhor
explicar os conceitos introduzidos, tais como, a medida de pureza, o grafo K -associado,
a construo do grafo timo e as diferenas entre os grafos K -associado e K -associado
timo. Tambm apresentado os resultado de classicao em domnios do repositrio
UCI (Asuncion e Newman, 2007) para o algoritmo proposto, bem como, uma anlise
comparativa considerando cinco outros classicadores multiclasse.

3.4.1 Construindo o grafo timo: um exemplo ilustrativo


Com o objetivo de ilustrar a formao do grafo timo, considere o conjunto de dados
formado a partir da base de dados Iris (Asuncion e Newman, 2007) considerando apenas os
atributos 1 e 4 bem como sua classe correspondente. Os dados de mesma classe repetidos
devido seleo de somente dois atributos foram removidos, resultando em uma base de
dados com 114 instncias de dados. As Figuras 3.6(a)-(d) mostram os grafos 1-associado,
2-associados, 3-associados e 4-associados, respectivamente. Em cada uma das guras, as
conexes pontilhadas (de cor magenta) representam o grafo K -associado e as conexes

74

CLASSIFICAO DE DADOS BASEADO NO GRAFO K -ASSOCIADO TIMO

(b)

(a)

0.9

0.8

0.7

(d)

(c)

0.6

0.5

0.4

(e)

0.3

Classe 1
k=2

Classe 2

0.2
k=4

Classe 3
0.1
k=3

Figura 3.6: Formo do grafo timo para o conjunto formado com o atributos 1 e 4 da base
de dados Iris. Conexes duplas entre vrtices so mostradas como simples por motivos de
visualizao. As guras corresponde a, (a) grafo 1-associado; (b) grafo 2-associado; (c)
grafo 3-associado; (d) grafo 4-associado e (e) grafo timo.

contnuas (de cor preta) representam os componentes de melhor pureza que sero inseridos
no grafo timo. A Figura 3.6(e) mostra o grafo timo; a barra de cor indica a pureza de
cada componente.
A Figura 3.6(a) mostra o grafo 1-associado, no qual a maioria dos componentes tem
pureza igual a 1, exceto os componentes que apresentam-se muito misturados com componentes de outras classes ou esto muito longe de qualquer outro exemplo da mesma
classe, o que acaba resultando em um componente formado por um nico vrtice isolado.
A Figura 3.6(b), mostra o grafo 2-associado, at ento vrios componentes pequenos
foram unidos em componentes maiores. Observe tambm que os componentes que esto
em uma rea de sobreposio de classes tm suas purezas diminudas em comparao
pureza desses componentes no grafo 1-associado, portanto, a unio desses componentes

EXEMPLOS ILUSTRATIVOS E RESULTADOS EXPERIMENTAIS

75

no aceita. A Figura 3.6(c) representa o grafo 3-associado. Neste caso, as purezas dos
componentes que esto em rea de sobreposio continuam a diminuir, ao mesmo tempo
em que a classe 1 torna-se um nico componente. Na Figura 3.6(d) a adio de conexes
j no aumenta a pureza do componente referente classe 1 . Entretanto, no possvel
saber quando o grafo timo ser obtido, por isso o processo segue at que o critrio de
parada seja satisfeito. Finalmente, a Figura 3.6(e) ilustra o grafo timo construdo ao
nal desse processo. Note que os vrtices que permaneceram isolados at o nal do processo de construo do grafo timo (considerados componentes de nico vrtice), esto
rodeados por vrtices de outras classes e, dessa forma so considerados rudos (outliers)
e consequentemente deixados de fora pelo algoritmo KAOG.
Note que, de acordo com a regra descrita na Equao (3.3), a unio de dois ou mais
componentes ser aceita, se e somente se, a pureza do novo componente for maior ou igual
s purezas de cada um dos componentes. Desta forma, o grafo timo , na maioria das
vezes, diferente do grafo K -associado, como pode ser visto na Figura 3.6.

3.4.2 Comparaes entre o grafo K-associado e o grafo K-associado timo


Com o objetivo de visualizar a construo do grafo K -associado e do grafo K -associado
timo, a partir de um conjunto de dados, e para elucidar as diferenas entre eles, esta
seo apresenta um exemplo articial e extrai algumas medidas de ambos os grafos. Os
experimentos foram conduzidos com o m de mostrar algumas caractersticas importantes
pertinentes a esses grafos, tais como, mdia do grau, nmero de componentes, coeciente
de agrupamento e pureza do grafo. Como a pureza uma medida de componentes,
considere a pureza do grafo como a mdia das purezas dos componentes ponderada pelo
seu tamanho, denotada por hi e denida na Equao (3.23).
R

hi =

s=1

N
R

(3.23)

Na equao, R o nmero de componentes no grafo timo, N e correspondem


ao nmero de vrtices e a pureza do componente C , respectivamente, e N o nmero
total de vrtices no grafo. A ideia capturar o comportamento dos grafos em um cenrio
em que a sobreposio entre as classes aumenta de maneira contralada. Para isso foi
considerado 3 classes com distribuies Gaussiana e 100 instncias cada uma, geradas em
10 distribuies diferentes, variando entre um cenrio em que se encontram totalmente
separadas para o cenrio onde as trs classes dividem a mesma distribuio. Sejam as
trs Gaussianas, N1 (1 , 1), N2 (2 , 1) e N3 (3 , 1), com instncias das classes 1 , 2 e 3
respectivamente. Dessa forma, as 10 distribuies so obtidas variando os centros (x1 , x2 )
de acordo com a Equao (3.24), onde j corresponde j-sima distribuio.

76

CLASSIFICAO DE DADOS BASEADO NO GRAFO K -ASSOCIADO TIMO

(a)

(c)

(b)

Figura 3.7: Distribuies Gaussianas com diferentes nveis de sobreposio.

j1 = (9 0, 5j; 0 + 0, 5j)
j2 = (0 + 0, 5j; 0 + 0, 5j) para

j = 0, . . . , 9

(3.24)

j3 = (4, 5; 9 0, 5j)
De maneira que, as trs Gaussianas aproximam-se uma das outras, em dez passos, at
convergirem para um centro nico (4,5;4,5). A Figura 3.7 ilustra trs instncias desses
conjuntos. Para cada conjunto, o grau de mistura entre as classes varia entre totalmente
separadas, como na Figura 3.7(a), passando por estgios intermedirios, como na Figura
3.7(b), a totalmente misturadas Figura 3.7(c).
A Figura 3.8 mostra os resultados das medidas mencionadas. Cada resultado a mdia
de 10 execues para cada grafo (3-associado, 5-associado e grafo timo) considerando
cada um dos 10 conjuntos. Na Figura 3.8 o eixo das abcissas (x) representa cada um
dos conjuntos de dados com diferentes sobreposies entre classes, ordenados de forma
ascendente quanto ao nvel de sobreposio, ou seja, a coordenada x = 1 representa o
conceito que apresenta as classes totalmente separadas, ao passo que a coordenada x = 10
representa o conceito no qual as classes dividem a mesma distribuio.
Considere o grafo K -associado, o aumento no valor de K resulta na diminuio do
nmero de componentes e, dado um valor razoavelmente grande para K, o nmero de
componentes converge para o nmero de classes. Note que quanto mais misturados esto as classes, no conjunto de dados, maior ser o valor de K para que o nmero de
componentes se iguale ao nmero de classes. Tendo esses fatos em mente, a pureza
pode ser entendida como uma troca entre o nmero de vizinhos e o inverso do tamanho
da vizinhana. Portanto, para manter um alto valor da pureza, um conjunto de dados
com distribuio de classes altamente sobrepostas tende a formar pequenos componentes
(grafo esparso localmente conectado), enquanto conjuntos que apresentam distribuio
de classes totalmente disjuntas formaro grandes componentes densamente conectados.
Esses fatos podem ser vericados na Figura 3.8(a), i.e., os grafos 3-associado, 5-associado
e o grafo timo resultam em grafos mais esparsos conforme a sobreposio aumenta, elevando o nmero de componentes no grafo. Na Figura 3.8(b), o baixo valor da mdia do

EXEMPLOS ILUSTRATIVOS E RESULTADOS EXPERIMENTAIS

77

200

Nmero de componentes

10
150
Mdia do grau

100

6
4

50
2
3
1

10

(a)

10

10

(b)
0,6
Coeficiente de agrupamento

Pureza <>

0,9
0,8
0,7
0,6
0,5
0,4
1

10

0,5
0,4
0,3
0,2
0,1
0

(c)

5
(d)

grafo 3associado

grafo 5associado

grafo timo

Figura 3.8: Resultados da aplicao dos grafos 3-associado, 5-associado e timo em 10


conjuntos de dados com diferentes graus de sobreposio entre classes.
grau evidencia a ecincia do grafo timo em produzir componentes conectados. Ainda
com relao Figura 3.8(b), pode-se notar que a mdia do grau diminui enquanto a sobreposio das classes aumenta, devido ao fato de cada vrtice (instncia) em um conjunto
com classes misturadas tem menos vizinhos da mesma classe, enquanto que cada vrtice
em um conjunto de dados com pouca mistura entre classes ter mais vizinhos da mesma
classe.
A Figura 3.8(c) apresenta o comportamento da medida de pureza para os grafos K associado, bem como para o grafo timo, medida que a sobreposio entre classes aumenta. Note que a pureza diminui enquanto a sobreposio entre as classes aumenta.
Geralmente, a pureza pode aumentar com o crescimento de K e atingir o valor timo
para algum K, entretanto, continuar aumentando o valor de K resultar em decrscimo
da pureza. Esta caracterstica pode ser observada na Figura 3.8(c), na qual o grafo 3associado tem maior pureza que o grafo 5-associado. Como o grafo timo construdo com
o objetivo de maximizar a pureza, este sempre apresentar pureza alta e baixo nmero
de arestas, se comparado aos grafos K -associados. Para analisar a Figura 3.8(d), considere a medida de coeciente de agrupamento denida por Watts e Strogatz (1998), como
mostrada na Equao (3.25).
cci =

2Nei
Nvi (Nvi 1)

e ccG =

1
cci
N i

(3.25)

78

CLASSIFICAO DE DADOS BASEADO NO GRAFO K -ASSOCIADO TIMO

Na qual, o coeciente medido para cada vrtice, dessa forma o vrtice vi tem coeciente de agrupamento cci . O coeciente do grafo ccG a mdia dos coecientes dos
vrtices. Na equao, Nvi o nmero de vizinhos de vi e Nei corresponde ao nmero de
vizinhos de vi que tambem so vizinhos entre si, i.e. formam um tringulo. O coeciente
de agrupamento varia no intervalo [0, 1] e quantica o nvel de conectividade na regio
do vrtice vi , i.e. corresponde ao nmero de arestas que existem entre os vizinhos de
um vrtice pelo nmero mximo de vizinhos que poderiam existir. Dessa forma, como
esperado, o coeciente de agrupamento aumenta com o aumento de K, para os grafos
K -associados, e diminui com o aumento da sobreposio entre as classes. Um fato interessante que o coeciente de agrupamento no grafo timo decresce mais rpido do que
nos grafos 3-associado e 5-associado, conforme a sobreposio entre as classes aumenta.
Isto se deve propriedade do grafo timo de preservar estruturas localmente conectadas
com o objetivo de manter a pureza alta.

3.4.3 Resultados comparativos e anlise estatstica


Esta seo apresenta os resultados de simulaes comparando o classicador baseado
no grafo K -associado timo (KAOG) e cinco outros algoritmos de classicao multiclasse. Trs deles so algoritmos que se baseiam nos vizinhos mais prximos, o KNN,
o KNN com peso e o KNN baseado em prottipos (Hastie et al., 2009). Para todos
os algoritmos que utilizam o conceito de vizinhos mais prximos, inclusive o algoritmo
KAOG, a distncia Euclidiana foi usada como medida de similaridade. Os demais algoritmos so o C4.5 (Quinlan, 1993) e uma verso multiclasse do SVM (M-SVM) (Vapnik,
1999). Os testes foram conduzidos considerando 15 base de dados multiclasse, ou seja
com > 2, onde corresponde ao nmero de classes; obtidas do repositrio de dados
UCI (Asuncion e Newman, 2007) e especicados na Tabela 3.1. Note que, exceto pelo
algoritmo KAOG, todos so paramtricos, dessa forma, o mtodo de validao cruzada
com repetio (Filzmoser et al., 2009) foi usado para ajustar os parmetros para cada
conjunto de dados. No caso dos algoritmos KNN e KNN com peso o nico parmetro o
nmero de vizinhos K a serem considerados. Para o ajuste do modelo foram usados todos
os valores de K no intervalo de 1 ao nmero de instncias na maior classe do conjunto
de treinamento. Para o algoritmo KNN baseado em prottipo, o parmetro consiste no
nmero de prottipos por classes que devero ser utilizados, para esta simulao foram
considerados todos os prottipos no intervalo [1, 30]. Um prottipo pode ser visto como
um padro representante de um agrupamento local de dados com caractersticas similares
e podem ser obtidos, por exemplo, pelo uso do algoritmo k-means (Hastie et al., 2009). No
caso do algoritmo SVM, a verso multiclasse escolhida foi a verso um-contra-um (oneagainst-one), na qual ( 1)/2 classicadores binrios (SVM) distinguem entre todo
par de classe atravs de algum esquema de votao. A verso multiclasse um-contra-um
prefervel sobre outras verses porque no geral obtm melhores resultados (Hsu e Lin,
2002). Com o objetivo de diminuir o espao de busca dentre os possveis modelos de

EXEMPLOS ILUSTRATIVOS E RESULTADOS EXPERIMENTAIS

79

Tabela 3.1: Especicaes dos domnios de dados utilizados.


Domnio

# Instncias

# Atributos

# Classes

Yeast

1484

10

Teaching

151

Zoo

101

16

Image

210

19

Wine

178

13

Iris

150

Glass

214

E.coli

336

Balance

625

Vowel

990

13

11

Libras

360

91

15

Hayes-Roth

132

Segment

2310

19

Vehicle

846

18

Wine Q. (Red)

1599

12

SVM, algums dos parmetros foram xados, tais como, o kernel utilizado foi o RBF
2
K(xi , xj ) = ekxi xj k , e o critrio de parada utilizado para o mtodo de otimizao
Karush-Kuhn-Tucker considerou violao inferior a 103 , como utilizado por Hsu e Lin
(2002). Para cada base de dados a seleo de modelo realizada considerando o parmetro
do kernel {24 , 23 , 22 , . . . , 210 } e o custo C {212 , 211 , 210 , . . . , 22 }, o que resulta em
125 possveis modelos (classicadores) para cada base de dados. Para o algoritmo C4.5,
tambm dois parmetros foram considerados, o fator de conana (condence factor) que
pode assumir os valores cf {0, 0.1, 0.25, 0.5, 0.8, 1}, onde os valores menores reetem
maior poda (portanto, para cf = 1 no ocorre poda). O outro parmetro refere-se ao
nmero mnimo de instncias de dados que um subconjunto deve ter para que este possa
ser particionado m {0, 1, 2, 3, 4, 5, 10, 15, 20, 50}. Os parmetros resultantes da seleo
de modelos para cada algoritmo em cada base de dados so notados na Tabela 3.2.

Os resultados do uso de cada algoritmo consistem na mdia de 100 processos de validaes cruzadas estraticado de 10 conjuntos (10-fold stratied cross-validation). A
Tabela 3.3 apresenta os resultados de classicao de conjunto de teste seguido pelo
desvio-padro. Para cada resultado tambm so mostrados os parmetros ajustados na
fase de seleo de modelo pelo mtodo de validao cruzada dupla repetida, bem como
a posio do algoritmo em relao aos demais para cada base de dados. Para cada uma
das 15 bases de dados, foram gerados dois novos conjuntos com diferentes nveis de rudo.
Os conjuntos foram gerados a partir dos dados originais por meio da alterao aleatria

80

CLASSIFICAO DE DADOS BASEADO NO GRAFO K -ASSOCIADO TIMO

Tabela 3.2: Parmetros resultantes da seleo de modelo. Parmetros ajustados por


algoritmo, KNN e KNN com peso (K), KNN prottipo (p), C4.5 (cf ;m) e M-SVM (C;
).
Domnio

KNN

KNN c/ peso

KNN Prot.

C4.5

M-SVM

Yeast

(k=15)

(k=16)

(p=1)

(0,1;5)

(211 ; 20 )

Yeast (5%)

(k=19)

(k=16)

(p=1)

(0,1;5)

(25 ; 22 )

Yeast (10%)

(k=11)

(k=11)

(p=1)

(0,1;15)

(210 ; 21 )

Teaching

(k=1)

(k=9)

(p=29)

(1;0)

(26 ; 23 )

Teaching (5%)

(k=19)

(k=19)

(p=1)

(1;15)

925 ; 22 )

Teaching (10%)

(k=1)

(k=13)

(p=28)

(1;1)

(29 ; 22 )

Zoo

(k=1)

(k=1)

(p=2)

(0,1;0)

(21 ; 21 )

Zoo (5%)

(k=1)

(k=3)

(p=2)

(1;0)

(21 ; 22 )

Zoo (10%)

(k=5)

(k=3)

(p=2)

(0,5;5)

(23 ; 22 )

Image

(k=3)

(k=3)

(p=16)

(0,8;3)

(210 ; 23 )

Image (5%)

(k=3)

(k=3)

(p=15)

(1;0)

(29 ; 22 )

Image (10%)

(k=4)

(k=6)

(p=20)

(0,5;5)

(25 ; 22 )

Wine

(k=1)

(k=1)

(p=28)

(0,5;1)

(211 ; 22 )

Wine (5%)

(k=5)

(k=9)

(p=17)

(1;3)

(210 ; 23 )

Wine (10%)

(k=5)

(k=7)

(p=25)

(0,1; 5)

(29 ; 20 )

Iris

(k=19)

(k=19)

(p=3)

(0,25;2)

(22 ; 23 )

Iris (5%)

(k=19)

(k=19)

(p=1)

(1;0)

(20 ; 22 )

Iris (10%)

(k=20)

(k=19)

(p=1)

(0,5;5)

(21 ; 23 )

Glass

(k=1)

(k=1)

(p=6)

(0,1;3)

(210 ; 24 )

Glass (5%)

(k=7)

(k=5)

(p=9)

(0,1;5)

(28 ; 23 )

Glass (10%)

(k=5)

(k=5)

(k=9)

(0,1;4)

(210 ; 23 )(2)

E.coli

(k=9)

(k=9)

(p=2)

(0,25;3)

(212 ; 29 )

E.coli (5%)

(k=13)

(k=11)

(p=1)

(0,1;4)

(21 ; 22 )

E.coli (10%)

(k=7)

(k=13)

(p=1)

(0,25;15)

(22 ; 22 )

Balance

(k=1)

(k=11)

(p=8)

(0,5;1)

(27 ; 20 )

Balance (5%)

(k=13)

(k=13)

(p=1)

(0,25;1)

(22 ; 23 )

Balance (10%)

(k=14)

(k=12)

(p=1)

(0,25;15)

(22 ; 23 )

Vowel

(k=1)

(k=11)

(p=8)

(0,5;0)

(27 ; 20 )

Vowel (5%)

(k=3)

(k=4)

(p=28)

(0,5;0)

(25 ; 22 )

Vowel (10%)

(k=4)

(k=5)

(p=29)

(0,25;2)

(25 ; 23 )

Libras

(k=1)

(k=1)

(p=13)

(0,8;1)

(27 ; 22 )

Libras (5%)

(k=1)

(k=5)

(p=8)

(1;0)

(27 ; 23 )

Libras (10%)

(k=5)

(k=5)

(p=15)

(0,1;3)

(28 ; 23 )

Hayes-Roth

(k=1)

(k=3)

(p=8)

(1;0)

(212 ; 23 )

Hayes-Roth (5%)

(k=1)

(k=4)

(p=9)

(0,8;5)

(212 ; 210 )

Hayes-Roth (10%)

(k=3)

(k=3)

(p=9)

(0,1;50)

(25 ; 23 )

Segment

(k=1)

(k=5)

(p=25)

(1;0)

(211 ; 20 )

Segment (5%)

(k=4)

(k=6)

(p=29)

(1;0)

(28 ; 21 )

Segment (10%)

(k=6)

(k=7)

(p=28)

(0,1;5)

(29 ; 21 )

Vehicle

(k=3)

(k=5)

(p=10)

(0,5;2)

(210 ; 23 )

Vehicle (5%)

(k=6)

(k=6)

(p=9)

(0,1;3)

(210 ; 23 )

Vehicle (10%)

(k=7)

(k=7)

(p=10)

(0,1;10)

(212 ; 23 )

Wine Q. Red

(k=1)

(k=19)

(p=27)

(1;0)

(29 ; 21 )

Wine Q. Red (5%)

(k=5)

(k=19)

(p=29)

(1;0)

(211 ; 21 )

Wine Q. Red (10%)

(k=1)

(k=19)

(p=26)

(0,1;2)

(210 ; 22 )

EXEMPLOS ILUSTRATIVOS E RESULTADOS EXPERIMENTAIS

81

5 e 10% das classes originais. Os resultados de simulao conduzidos nesses novos dados
tambm so apresentados na Tabela 3.3. Como pr-processamento, cada instncia foi
normalizada para ter magnitude 1, dividindo cada atributo pela distncia da instncia
origem. Ou seja, a instncia xi = (xi1 , xi2 , ..., xip , yi ) normalizado dividindo cada

1
atributo xij por ( pj=1 x2ij ) 2 .

Para comparar mltiplos classicadores em mltiplos domnios de dados ser usado um


mtodo descrito por Demsar (2006) (bem como as referncias mencionadas no trabalho).
Nesta metodologia, ordena-se, de forma descendente, as mdias de acertos de classicao
para cada conjunto e, atribui-se a posio de cada algoritmo nesta ordem. A mdia das
posies de cada algoritmo ento calculada e usada no teste de Friedman para vericar se
as mdias so signicativamente diferentes da mdia das posies (3, 5 no caso estudado).
O teste de Friedman usa a distribuio F para calcular o valor crtico que ser usado
para rejeitar a hiptese nula, denida segundo um grau de conana. Considere Na o
nmero de algoritmos testados e Nd o nmero de bases de dados utilizados, o valor crtico
denido por meio do clculo do valor da distribuio F para os graus de liberdade
(Na 1) e (Na 1) (Nd 1). No caso estudado Na = 6, Nd = 15 e considerando grau
de conana de 0, 05, o valor crtico para o experimento F (5; 70) 2, 35. Dessa forma,
qualquer resultado para o teste de Friedman maior que o valor crtico rejeita a hiptese
nula. No caso em questo, o teste de Friedman resulta em FF 7, 49, o que conrma a
rejeio da hiptese nula, portanto os algoritmos estudados no so equivalentes.
At agora o que se pode dizer sobre os algoritmos estudados que eles no so equivalentes nos resultados de teste, para as bases de dados consideradas. Com o objetivo
de estabelecer alguma concluso considerando a performance do algoritmo proposto em
relao aos demais, necessrio prosseguir com um teste post-hoc. Como comentado por
Demsar (2006), no se deve comparar todos os algoritmos par a par quando deseja-se
comparar um novo algoritmo com algoritmos j existentes. Para tal propsito, existem
mtodos de teste como o de Bonferroni-Dunn, que consiste em comparar um algoritmo
controle, neste caso o KAOG, com os demais, evitando comparaes desnecessrias. Considere a aplicao do teste de Bonferroni-Dunn, a diferena critica (DC) calculada para
um determinado nvel de signicncia. Qualquer diferena maior que DC entre a mdia
das posies, para um dado par de algoritmos, conrma que eles so signicativamente
diferentes. De volta ao caso em estudo o valor crtico para nvel de signicncia de 0, 05,
para o teste de Bonferroni-Dunn de DC = 1, 76. Portanto, qualquer diferena na mdia das posies (entre dois algoritmos) maior que este valor justica a superioridade do
algoritmo com menor valor para a mdia.
Para o nvel de signicncia de 0, 05, e enquanto esses algoritmos e bases de dados
sejam considerados, pode-se concluir que o algoritmo proposto (KAOG) apresentou resultados signicativamente melhores que o KNN baseado em prottipos. As comparaes
par a par entre o algoritmo KAOG e os demais algoritmos resultaram em diferena menor

82

CLASSIFICAO DE DADOS BASEADO NO GRAFO K -ASSOCIADO TIMO

Tabela 3.3: Resultados de comparao considerando quinze domnios, cada qual com trs
niveis rudo. Cada resultado corresponde mdia de teste medida em 100 resultados de
validao cruzada, seguida pelo respectivo desvio padro e a posio comparativa com
relao aos demais algoritmos.
Domnio

KAOG

KNN

KNN c.p.

KNN Prot.

C4.5

M-SVM

Yeast

53,63,8 (5)

58,73,4(3)

60,93,6(1)

48,02,7(6)

55,83,6(4)

58,94,8(2)

Yeast (5%)

50,73,6(5)

53,93,9(3)

54,34,1(2)

44,92,8(6)

52,23,7(4)

54,55,3(1)

Yeast (10%)

46,83,9(5)

49,83,6(2)

50,63,7(1)

38,83,2(6)

47,94,3(3)

47,33,9(4)

Teaching

62,511,6(2)

59,610,2(3)

63,012,3(1)

58,39,0(4)

58,214,9(5)

52,57,9(6)

Teaching (5%)

59,516,3(1)

53,93,9(4)

56,04,0(2)

44,92,8(6)

50,83,3(5)

54,55,3(3)

Teaching (10%)

55,17,5(1)

55,012,1(2)

47,912,6(4)

46,012,5(6)

52,314,8(3)

46,816,7(5)
96,36,4(2)

Zoo

97,05,2(1)

96,15,9(4)

96,25,8(3)

93,67,1(6)

95,85,3(5)

Zoo (5%)

84,114,2(1)

81,610,8(5)

82,510,2(3)

81,814,0(4)

83,111,1(2)

74,39,3(6)

Zoo (10%)

76,311,6(1)

72,113,9(4)

69,113,0(6)

75,86,9(2)

75,214,9(3)

71,911,0(5)

Image

75,37,5(5,5)

75,38,2(5,5)

75,48,2(4)

75,510,2(3)

80,77,6(2)

86,77,4(1)

Image (5%)

64,311,3(6)

64,89,3(4)

67,18,4(3)

64,78,5(5)

74,79,0(1)

71,47,0(2)

Image (10%)

56,28,0(5)

56,110,0(6)

62,610,3(3)

56,98,5(4)

62,710,9(2)

69,07,1(1)

Wine

85,38,5(3)

84,18,5(4,5)

84,18,2(4,5)

81,411,9(6)

91,76,7(2)

94,45,8(1)

Wine (5%)

76,210,2(3)

74,010,0(5)

74,510,1(4)

69,09,7(6)

82,54,1(2)

85,57,0(1)

Wine (10%)

69,910,4(3)

68,810,4(4)

67,010,7(5)

61,99,3(6)

76,610,0(2)

78,312,4(1)

Iris

97,43,2(2)

97,93,4(1,5)

97,93,3(1,5)

97,33,2(4)

95,05,8(6)

97,04,6(5)

Iris (5%)

88,68,8(1)

88,57,7(2)

88,48,0(3)

84,07,3(6)

86,07,6(5)

88,06,8(4)

Iris (10%)

81,49,4(3)

84,29,2(1)

79,410,1(5)

80,014,4(4)

78,810,1(6)

82,69,5(2)

Glass

72,58,1(1)

71,98,6(2)

71,89,0(3)

67,311,8(5)

66,99,4(6)

69,55,6(4)

Glass (5%)

62,511,6(3)

64,69,0(1)

62,410,1(4)

58,513,1(6)

64,08,6(2)

61,36,5(5)

Glass (10%)

57,99,5(4)

53,79,3(5)

59,910,3(3)

52,88,0(6)

60,811,3(1)

60,04,7(2)

E.coli

85,86,4(4)

86,55,2(3)

87,45,4(1)

80,45,2(6)

83,66,1(5)

86,78,2(2)

E.coli (5%)

79,09,2(2)

78,56,4(3)

79,46,3(1)

69,46,8(6)

76,27,1(5)

78,27,2(4)

E.coli (10%)

65,88,2(5)

71,96,9(2)

72,46,9(1)

59,312,3(6)

67,47,1(4)

70,27,3(3)

Balance

94,92,5(3)

94,72,6(4)

96,72,1(2)

76,65,7(6)

89,63,7(5)

98,20,9(1)

Balance (5%)

79,54,6(4)

83,14,5(2)

86,64,0(1)

71,74,3(6)

79,45,0(5)

82,33,1(3)

Balance (10%)

72,05,2(5)

75,84,6(3)

78,34,2(1)

64,95,7(6)

73,35,4(4)

76,93,6(2)

Vowel

98,90,7(1)

97,81,0(3)

98,80,9(2)

96,61,8(5)

78,64,3(6)

97,51,9(4)

Vowel (5%)

85,73,9(1)

83,93,4(2)

72,76,7(5)

78,53,8(4)

65,74,7(6)

83,13,8(3)

Vowel (10%)

74,56,4(1)

73,73,4(2)

63,78,0(5)

66,94,3(4)

54,74,7(6)

72,13,8(3)

Libras

85,45,3(2)

84,85,5(3,5)

84,85,4(3,5)

55,741,2(6)

71,67,5(5)

86,65,0(1)

Libras (5%)

71,96,9(2)

69,46,7(4)

72,86,7(1)

44,633,2(6)

58,68,5 (5)

70,07,6(3)

Libras (10%)

59,95,9(2)

59,77,2(4)

61,87,2(1)

37,528(6)

50,78,2(5)

58,18,5(3)

Hayes-Roth

55,712,6(2)

54,912,4(3)

56,813,2(1)

44,611,3(6)

46,710,5(4)

45,413,1(5)

Hayes-Roth (5%)

52,412,4(1)

51,312,7(2)

47,413,6(3)

44,011,7(4)

46,610,5(5)

42,917,2(6)

Hayes-Roth (10%)

49,913,5(1)

49,512,1(2)

45,013,2(4)

47,711,6(3)

46,810,5(5)

33,411,6(6)

Segment

93,71,5(3)

93,61,6(4,5)

93,61,4(4,5)

60,93,2(6)

94,51,2(2)

96,61,2(1)

Segment (5%)

80,32,3(5)

82,72,3(3)

82,32,4(4)

53,33,1(6)

84,72,3(2)

86,52,4(1)

Segment (10%)

74,92,8(3)

74,72,4(4)

72,42,7(5)

46,33,2(6)

75,62,5(2)

77,63,7(1)

Vehicle

67,94,4(3)

67,34,0(5)

67,64,1(4)

60,05,5(6)

70,73,5(2)

84,43,4(1)

Vehicle (5%)

58,84,5(5)

60,14,4(3)

60,94,3(4)

51,65,0(6)

61,94,6(2)

75,04,0(1)

Vehicle (10%)

52,54,7(5)

53,74,0(4)

56,84,5(3)

47,24,5(6)

58,54,5(2)

67,15,6(1)

Wine Q. Red

61,83,6(2)

61,33,4(3)

64,03,8(1)

38,93,1(6)

59,82,4(5)

60,43,2(4)

Wine Q. Red (5%)

57,93,9(1)

55,53,2(4)

57,54,0(2)

38,43,5(6)

53,41,9(5)

55,62,1(3)

Wine Q. Red (10%)

50,83,1(3)

50,43,5(4)

54,13,6(1)

33,33,3(6)

50,23,2(5)

52,33,2(2)

2,63

3,50

2,46

5,40

4,26

2,66

2,93

3,20

3,00

5,30

3,63

2,90

2,83

3,30

2,82

5,35

3,84

2,82

Mdia das posies


nos dados originais
Mdia das posies
nos dados com rudo
Mdia das posies
em todos os dados

EXEMPLOS ILUSTRATIVOS E RESULTADOS EXPERIMENTAIS

83

que o valor crtico DC, o que signica que a diferena entre eles estatisticamente insignicante dado as condies de anlise. Portanto, apesar do algoritmo KNN com peso
apresentar desempenho ligeiramente superior ao do algoritmo proposto, KAOG, nas bases
de dados originais, a diferena na mdia das posies muito pequena para armar sua
superioridade. Estes resultados conduzem concluso estatstica: enquanto considerado esses domnios de dados, o algoritmo proposto no apresenta diferena signicativa
em comparao com os algoritmos KNN, KNN com peso, M-SVM e C4.5. Em outras palavras, o algoritmo KAOG apresenta desempenho similar aos algoritmos testados,
com exceo ao KNN baseado em prottipo. Este resultado bastante interessante para o
algoritmo proposto, pois o KAOG no exige seleo de modelo. O que signica que o classicador proposto apresenta preciso de classicao comparvel a bons classicadores,
sem a necessidade de ajustar qualquer parmetro, o que torna o algoritmo KAOG uma
opo eciente na classicao multiclasse.
Avanando com a anlise, considere os domnios com rudo (Nd = 30) bem como o
resultado para todos os domnios considerados (Nd = 45) para o teste de Friedman. Como
feito anteriormente para as bases de dados originais, o primeiro passo determinar o valor
de F para avaliar a hiptese nula. Considerando as novas conguraes, os valores para
os domnios com rudo e para todos os domnios so respectivamente F (5; 145) 2, 27 e
F (5; 220) 2, 25. O clculo para o teste de Friedman para ambos os casos resulta em
FF = 15, 52 e FF = 23, 55, resultando na negao da hiptese nula para ambos os casos.
O prximo passo consiste no clculo da diferena crtica DC; para o caso dos domnios
com rudo, a diferena resulta em DC = 1, 24. Novamente, qualquer diferena maior que
DC considerado estatisticamente signicante, o que leva a concluso similar concluso
sobre os conjuntos originais. O ltimo grupo a ser analisado o grupo composto por todos
os domnios, neste grupo a diferena crtica encontrada DC = 0, 4. A comparao entre
o algoritmo KAOG e os demais algoritmos para todos os domnios mostra que o algoritmo
proposto tem melhor performance que os algoritmos KNN, KNN baseado em prottipo
e C4.5, ao passo que possui performance comparvel aos algoritmos KNN com peso e
M-SVM.

84

CLASSIFICAO DE DADOS BASEADO NO GRAFO K -ASSOCIADO TIMO

Captulo

4
Classicao incremental usando o grafo
K -associado timo

Devido principalmente mudana de conceito, no possvel para um classicador


esttico, treinado somente com um conjunto inicial, ser utilizado na classicao de dados
no estacionrios mantendo desempenho aceitvel. Para tal propsito, necessrio que o
classicador seja atualizado constantemente durante o processamento do uxo de dados, o
que caracteriza o aprendizado incremental. Este termo identica, de maneira geral, todo
tipo de sistema de aprendizado capaz de aprender durante o processo de classicao.
O que signica que o sistema de aprendizado deve incorporar conhecimento de novos
exemplos rotulados e classicar novos exemplos no rotulados, em qualquer ordem de
chegada ou independente de serem apresentados em conjuntos ou individualmente. O caso
especco em que as instncias de dados rotuladas ou no rotuladas de um uxo de dados
so apresentadas individualmente consiste em um problema de aprendizado em tempo
real. Em ambos os casos, o tempo gasto no treinamento, ou atualizao, do classicador
uma restrio importante para esse tipo de sistema. O que, alm de inviabilizar o
uso de classicadores com alta complexidade computacional, tambm diculta o uso de
classicadores que possuem muitos parmetros - dado o grande volume de dados neste
tipo de aplicao, o custo associado seleo de modelos alto.
O bom desempenho do algoritmo esttico, KAOG, bem como algumas de suas caractersticas, como a ausncia de parmetro e a baixa complexidade computacional, inspiraram a extenso de sua pesquisa para domnios de dados com distribuio no estacionria (Bertini Jr. et al., 2011a). Intuitivamente, as propriedades do classicador esttico podem ser adaptadas para satisfazer os objetivos e as restries inerentes classicao incremental. A continuao da pesquisa neste sentido resultou no desenvolvimento
da verso incremental do algoritmo KAOG, chamada KAOGINC. Basicamente, a maior
85

86

CLASSIFICAO INCREMENTAL USANDO O GRAFO K -ASSOCIADO TIMO

diferena do algoritmo incremental em relao ao algoritmo esttico, est no grafo usado na classicao de novos exemplos - dado que, no contexto incremental, o grafo
uma estrutura dinmica que precisa ser atualizada com novos conhecimentos e livrar-se
de conhecimentos antigos. De acordo com as categorizaes de algoritmos incrementais,
apresentadas na Seo 2.4.1, o classicador proposto enquadra-se nas categorias de e algoritmos com armazenamento parcial de instncias e de conceitos. Como car claro
adiante nesta seo, o algoritmo KAOGINC utiliza instncias de dados armazenadas para
o clculo da distncia para a classicao de novos exemplos de dados, mas tambm se
desfaz de padres antigos ao longo do tempo. J a segunda categorizao, armazenamento parcial de conceitos, deve-se constante troca de componentes no grafo - dado
que cada componente representa parte da descrio de um conceito. Cada componente
parametrizado com o m de mensurar sua atividade e performance, de modo que possam ser retirados do grafo devido a alteraes nestes parmetros - causados por eventuais
mudanas de conceito.
No que segue, ser apresentado em detalhes o classicador incremental KAOGINC
seguido pela complexidade computacional do algoritmo. Tambm apresentada uma
comparao com o algoritmo esttico, KAOG, em domnios no estacionrios, com o
objetivo de validar a proposta incremental. Como o algoritmo incremental possui um
parmetro, este anlisado quanto ao seu comportamento, na mesma seo em que a
poda do grafo apresentada. Por ltimo, algumas comparaes com outros algoritmos de
aprendizado incremental, em domnios reais e articiais, so apresentados, seguidos pela
anlise estatstica dos resultados obtidos.

4.1 O mtodo incremental para dados com distribuio no estacionria


Considerando um cenrio no qual, dados rotulados e no rotulados so apresentados
em um uxo de dados S = {X1 , Z1 , . . . , Xt , Zt , . . . , XT , ZT }, podendo ser processado
como uma sequncia de diferentes conjuntos com dados rotulados Xt e no rotulados e
Zt . Os objetivos de um classicador indicado para processar uxo de dados so, manter
um desempenho estvel e aceitvel em relao porcentagem de acertos na classicao
e, ao tempo gasto no processamento de novos dados. De acordo com Giraud-Carrier
(2000), para satisfazer esses objetivos um classicador deve implementar as seguintes
tarefas durante a fase de aplicao: (i) incorporar novos conhecimentos, provindos de
dados rotulados ao longo do tempo, (ii) predizer as classes dos dados no rotulados e (iii)
desfazer-se de conhecimento antigo que no ser mais utilizado.
O algoritmo de aprendizado incremental proposto, KAOGINC, anlogo ao algoritmo
esttico, KAOG, utiliza um grafo gerado a partir dos dados para estimar as probabilidades
pertinncia de um novo exemplo em relao aos vrios componentes do grafo. No entanto,
para que possa ser usada na classicao incremental, a estrutura do grafo no pode ser

O MTODO INCREMENTAL PARA DADOS COM DISTRIBUIO NO ESTACIONRIA

87

esttica como o grafo timo - usado na classicao estacionria. Por essa razo, o algoritmo KAOGINC utiliza uma verso dinmica do grafo timo, chamada grafo principal. O
grafo principal formado por meio da adio contnua dos componentes pertencentes aos
vrios grafos timos, construdos a partir de cada conjunto rotulado apresentado durante
a aplicao do classicador. O esquema geral de como as tarefas, previamente descritas,
so desempenhadas pelo algoritmo proposto, KAOGINC, por meio de alteraes no grafo
principal, mostrado na Figura 4.1.

Fluxo de dados

...

Conjunto
Rotulado Xt

Grafo
timo

Adiciona

Conjunto No
Rotulado Zt

Conjunto
Rotulado Xt+1

Grafo
Principal

Grafo
Principal

...

Remoo pela
regra de no
utilizao

Conjunto Zt
Classificado

Remoo por
poda

Treino/Atualizao

Classificao

Remoo de Componentes

(a)

(b)

(c)

Figura 4.1: Esquema de processamento de uxo de dados, apresentados em conjuntos


rotulados e no rotulados, realizado pelo algoritmo KAOGINC.
Na Figura 4.1, duas das trs tarefas representadas, dizem respeito manuteno do
classicador e correspondem s tarefas que o tornam incremental, a saber atualizao do
grafo principal, com novo conhecimento (Figura 4.1(a)), e remoo de conhecimento antigo
Figura (4.1(c)). A tarefa (i) refere-se atualizao (ou treinamento) do classicador com
novos conceitos. No algoritmo proposto a atualizao do grafo principal acontece toda vez
que um novo conjunto rotulado apresentado. O procedimento consiste em criar um grafo
timo a partir do novo conjunto rotulado atual, Xt , e adicion-lo ao grafo principal, como
mostrado na Figura 4.1(a). A tarefa (ii), como mostrado na Figura 4.1(b), corresponde
classicao de dados no rotulados, e realizada sempre que um conjunto com dados
no rotulados apresentado ao classicador. O processo de classicao incremental
semelhante ao processo realizado pelo algoritmo esttico, com a nica resalva de que,
no caso incremental, usa-se o grafo principal como estrutura para inferir a classe dos
novos exemplos de dados. A tarefa (iii) est relacionada diretamente ao tamanho do
grafo principal, bem como ao desempenho do classicador, e corresponde eliminao
de componentes do grafo. Como mostrado na Figura 4.1(c), os componente podem ser
retirados do grafo por meio da poda ou da regra de no utilizao, explicadas adiante. A
retirada de componentes controla o tamanho do grafo principal, e interfere diretamente
no tempo e no desempenho de classicao. O algoritmo KAOGINC apresentado em

88

CLASSIFICAO INCREMENTAL USANDO O GRAFO K -ASSOCIADO TIMO

detalhes no Algoritmo 4.1.


Algoritmo 4.1 Classicador incremental KAOGINC
Entrada: S = {X1 , Z1 , ..., XT , ZT } {Fluxo de dados, conjuntos rotulados e no rotulados}
Xt = {(x1 , y1 ), ..., (xN , yN )} {Conjuntos rotulados apresentados ao longo do tempo}
Zt = {z1 , ..., zM } {Conjuntos no rotulados apresentados ao longo do tempo}
{Parmetro de esquecimento}
Sada: (z) {classe para os padres no rotulados}
repita
se Xt ento
poda(GP , Xt )
GP GP KAOG(Xt )
seno
para todo zj Zt faa
(zj ) classif icadorIncremental(GP , zj )
m para
para todo C GP faa
se t > ento
GP GP C
m se
m para
m se
at que S =

Inicialmente o algoritmo KAOG() (Seo 3.1.2) cria o grafo K-associado timo a


partir do conjunto de treinamento X1 , idntico ao que seria produzido no contexto do
classicador esttico. Ento o grafo timo adicionado ao grafo principal, GP , para que
seja usado na classicao de novos padres no rotulados. Como mostrado no Algoritmo
4.1, sempre que um conjunto rotulado disponibilizado, durante a fase de classicao,
o algoritmo KAOGINC cria um grafo timo, utilizando o algoritmo KAOG, e o adiciona
no grafo principal. Lembre-se que o grafo timo formado por componentes, variando
no intervalo N Nc , sendo N o nmero de vrtices no grafo, Nc o nmero de
componentes e o nmero de classes.
A adio de novos componentes no grafo principal atualiza o grafo com dados dos
novos conceitos, mas tambm promove o crescimento do grafo. Para evitar o crescimento
descontrolado do grafo principal, o algoritmo KAOGINC possui duas formas para retirar
do grafo os componentes indesejados, a regra de no utilizao e a poda. A regra de no
utilizao de componentes retira do grafo principal todo componente que no esteja sendo
usado na classicao de novos exemplos. Esta denida por meio do parmetro que
determina o nmero de classicaes de novos exemplos, feitas pelo algoritmo, para as
quais, qualquer componente pode permanecer no grafo principal sem que seja utilizado.
Considere que o componente C tenha um parmetro de esquecimento, notado por t ,
cujo objetivo seja armazenar o nmero de classicaes consecutivas em que o componente C no foi utilizao. Este parmetro utilizado para indicar que um determinado
componente no mais til e pode ser retirado do grafo principal. Para exemplicar o
mecanismo de retirada de componentes do grafo principal, considere a vida til do componente C . No momento em que o componente C criado, o parmetro de esquecimento
inicializado, t = 0 e, incrementado de um, toda vez que este no for utilizado na

O MTODO INCREMENTAL PARA DADOS COM DISTRIBUIO NO ESTACIONRIA

89

classicao de um novo exemplo. Entretanto, sempre que o componente C for utilizado,


t zerado. O componente C retirado do grafo principal quando o parmetro de esquecimento for maior que o limiar pr-determinado, t > . Note, no algoritmo 4.1, que a
retirada dos componentes feita depois da classicao do conjunto, ao invs de vericar
ao nal de cada classicao. Dessa forma, alm de economizar tempo computacional
no atrapalha no processo de classicao e permite um relaxamento na regra de remoo
de componentes, ou seja, o componente ser retirado do grafo se este no for utilizado
durante classicaes ou mais em um conjunto no rotulado.
Como visto a retirada de componentes pela regra de no utilizao realizada durante
a fase de classicao de dados ainda no vistos, portanto, no possvel saber se a classicao resultou em acerto ou erro - o nico objetivo vericar se todos os componentes
esto sendo usados. Dessa forma, imagine que um componente no mais represente o
conceito corrente, ainda assim este pode permanecer no grafo somente cometendo erros,
dado que este no ser removido do grafo pela regra de no utilizao. Isso ocorre devido
a rudos presentes nos dados que possam ser confundido com o conceito passado, representado pelo componente em questo. Esse tipo de situao se agrava quando ocorre uma
mudana no conceito, principalmente se a mudana ocorrer somente na distribuio das
classes. Neste caso, como somente as classes sero alteradas, os novos dados localizar-seo no mesmo espao de atributos que os dados do conceito anterior e sero classicados
erroneamente por esses componentes. J, se a mudana de conceito ocorrer devido
alterao na distribuio dos dados, a retirada de componentes de conceitos anteriores
depender do espao de atributos para o qual os novos dados mudaram-se, ou seja, se os
espaos de atributos dos dados antigos no se inter-relacionarem com o espao dos novos
dados, eventualmente os componentes antigos sero retirados do grafo em iteraes.
Consequentemente, conclui-se que o parmetro de esquecimento, apesar de medir a utilizao dos componentes no grafo, no suciente para retirar do grafo os componentes
de conceitos passados que permanecem no grafo provocando erro, especialmente durante
as mudanas de conceitos.
O outro artifcio, mais rigoroso, para remoo de componentes do grafo principal a
poda, implementada pelo mtodo poda() no Algoritmo 4.1. Basicamente, a poda consiste
em retirar do grafo principal todo componente cuja utilizao resultou em erro. Para isso
o mtodo de poda utiliza o mtodo de classicao em um conjunto rotulado para vericar
os erros e eliminar os componentes associados a eles. Portanto, a poda comporta-se de
acordo com o erro do classicador, quando o classicador mantm porcentagem de acertos
alta, por exemplo, durante conceito estvel, a poda sutil retirando do grafo principal
somente alguns componentes devido a rudo ou sobreposio entre os dados. J se o
classicador apresenta muitos erros, a poda agressiva, por exemplo, quando ocorre uma
mudana de conceito a queda no desempenho do classicador faz com que a poda elimine
muitos dos componentes do conceito antigo. A poda til principalmente quando ocorre
mudanas de conceito, pelo fato desta remover rapidamente os componentes de conceitos

90

CLASSIFICAO INCREMENTAL USANDO O GRAFO K -ASSOCIADO TIMO

antigos. O que permite ao classicador recuperar rapidamente o desempenho de classicao deteriorado pela sobreposio de componentes de diferentes classes, ocasionado
pela mudana de conceito. Durante as fases de conceito esttico, a poda ajuda a manter
o tamanho do grafo principal estvel, retirando do grafo principalmente os componentes
que, somente pela regra de no utilizao, poderiam permanecer no grafo cometendo erro.
Quando um conjunto no rotulado apresentado, o algoritmo classica todo exemplo do conjunto utilizando o classicador apresentado no Algoritmo 4.2, representado
pelo mtodo classif icadorIncremental() no Algoritmo 4.1. As nicas diferenas entre
os mtodos classif icadorIncremental() utilizado no KAOGINC, e o mtodo de classicao utilizado pelo algoritmo KAOG, que no caso incremental, o algoritmo controla o
parmetro t dos componentes. Bem como a procura por vizinhos mais prximos, como
explicada adiante, realizada utilizando informaes dos componentes para amenizar o
esforo computacional no clculo das distncias, devido ao grande volume de dados envolvido neste tipo de aplicao. Os detalhes do processo de classicao do classicador
incremental so mostrados no Algoritmo 4.2.
Algoritmo 4.2 Algoritmo do processo de classicao - classicador incremental
Entrada: GP {Grafo principal} e
z {novo exemplo a ser classicado}
Sada: (vz ) {Classe atribuda ao exemplo z}
repita
temV izinho falso
C encontraP roximoV izinho(c, z)
vz ,K encontraV izinhos(X , z, K )
para todo vi C faa
se vi vz ,K ento
N N + 1
temV izinho verdadeiro
m se
m para
at que no temV izinho
para todo C GP faa
se Nvz ,C 6= 0 ento
t 0
P (vz C ) (Nvz ,C /K )P (C )
P (N ) P (N ) + P (vz C )
seno
t t + 1
m se
m para
para j = 1 at faa
se C = j ento
P (j ) P (j ) + P (vz C )/P (N )
m se
m para
retorne (vz ) = argmax{P (1 ), . . . , P ( )}

No processo de classicao do KAOGINC, diferente do classicador esttico, a classicao depende do nmero de vrtices no grafo principal que, em geral, possui muito mais
vrtices que nos grafos timos. Considerando a grande quantidade de vrtices, comparar
todo novo vrtice com todos os vrtices do grafo, em busca dos vizinhos mais prximos,

O MTODO INCREMENTAL PARA DADOS COM DISTRIBUIO NO ESTACIONRIA

91

torna-se custoso no contexto de aprendizado incremental. Para suavizar o custo computacional envolvido no clculo da distncia entre todos os vrtices do grafo principal,
considere que cada componente C possua um centro associado, c , calculado como na
Equao (4.1).

c = (c1 , . . . , cj , . . . , cp ) tal que cj =

vi C

xj

(4.1)

Na equao cada atributo cj corresponde mdia dos valores dos atributos dos dados
cujos vrtices pertencem ao componente C , e N o nmero de vrtices no componente
C . Dessa forma, no processo de classicao, ao invs de calcular a distncia entre uma
nova instncia e todas as instncias que compem o grafo principal, calcula-se inicialmente
as distncias entre a nova instncia e os centros dos componentes. Uma vez calculadas
as distncias, os componentes so considerados em ordem crescente de proximidade para
o novo vrtice e, ento, procura-se pelos vizinhos mais prximos dentre os vrtices do
componente em questo. No Algoritmo 4.2 o mtodo encontraP roximoV izinho() retorna
o prximo componente na ordem de prximidade, calculado entre z e o vetor c, com os
centros dos componentes, i.e. na primeira chamada retorna o componente de centro
mais prximo, na segunda, o componente cujo centro o segundo mais prximo, e assim
por diante. Seja vz o vrtice referente ao exemplo z que deve ser classicado, e C o
componente com centro mais prximo do vrtice vz . O prximo passo encontrar, dentre
os vrtices pertences a C , os K vizinhos mais prximos de vz , determinado pelo mtodo
encontraV izinhos(), que os procura no conjunto de dados X que formou o componente
C . Depois disso, o componente com o segundo centro mais prximo considerado,
prosseguindo dessa forma at o ponto em que um componente C no possuir nenhum
vrtice dentre os K vizinhos mais prximos do vrtice a ser classicado vz . No Algoritmo
este mecanismo de parada controlado pela varivel temV izinho.
Uma vez determinada as conexes, dene-se as probabilidades de pertinncia para
cada componente, de maneira semelhante feita no algoritmo esttico. No entanto, no
algoritmo incremental, para que um componente permanea no grafo principal este deve
ser usado com frequncia, ou retirado do grafo, de acordo com a regra de no utilizao.
De modo que, a cada classicao, todo componente C nos quais vz no se conectou
Nvz ,C = 0, tm seu parmetro de tempo, t , incrementado de um. Ao passo que toda
vez que um componente C for usado, i.e. Nvz ,C > 0, o parmetro t zerado.
Como visto o a Algoritmo KAOGINC processa conjuntos de dados apresentados em
sequncia, como um uxo de dados. Por ser incremental, o algoritmo utiliza cada conjunto
rotulado para construir um grafo timo e adiciona-lo ao grafo principal. Portanto, o bom
desempenho do algoritmo depende da formao dos componentes a partir dos conjuntos
rotulados. De modo que, se o conjunto de dados for muito pequeno, este provavelmente
no formar bons componentes pelo fato de no representar bem o espao de dados, i.e.
pequena a probabilidade dos exemplos, presentes no conjunto, serem prximos uns dos
outros a ponto de formar um componente que represente bem o espao de dados em que se

92

CLASSIFICAO INCREMENTAL USANDO O GRAFO K -ASSOCIADO TIMO

encontra. Ao passo que, conjuntos maiores apresentam uma amostragem maior do dado
em questo, o que aumenta a probabilidade de formao de componentes que representem
de maneira apropriada o espao de dados em que se encontra.

4.2 Complexidade computacional


Considere obter a complexidade computacional para o classicador incremental proposto, KAOGINC. Para isso, considere a diviso do algoritmo em trs partes, como
ilustrado no esquema da Figura 4.1, 1) treinamento ou atualizao do grafo principal,
2) classicao de novos dados e 3) poda e remoo de componentes do grafo principal
pela regra de no utilizao. Como o uxo de dados apresentado em conjuntos que no
necessariamente tm o mesmo nmero de instncias, para esta anlise, considere que os
conjuntos rotulados tenham em mdia N instncias e os conjuntos no rotulados M . De
maneira anloga, considere Nc o nmero de componentes do grafo timo, obtido a partir
de um conjunto rotulado Xt .
A primeira parte corresponde construo do grafo timo, sendo esta idntica anlise
feita na Seo 3.3, uma vez que o algoritmo a construo dos grafos timos realizada
pelo algoritmo KAOG. Dessa forma, a construo de cada grafo timo tem ordem de
complexidade de O(N 2 ), lembrando que o quadrado, neste caso, deve-se ao clculo da
matriz de distncia. Vale ressaltar que o grafo principal no construdo diretamente,
mas sim pela adio dos componentes formados nos grafo timos e, o processo de adio de
componentes no grafo principal consome Nc iteraes e da ordem de O(Nc ). Portanto, a
atualizao do grafo principal tem complexidade de O(N 2 ), devido a construo do grafo
timo.
Considere agora obter a ordem de complexidade do processo de classicao para o
classicador incremental proposto. Como visto, no Algoritmo 4.2, os vizinhos para o
novo vrtice so procurados em duas etapas, primeiro considera-se os centros dos componentes e, para cada componente considerado, determina-se os vrtices vizinhos. Este
artifcio torna o processo computacionalmente mais eciente porque considera o nmero
de componentes no grafo principal, Ncp , ao invs do nmero de vrtices NXp , que por
sua vez muito maior que o nmero de componentes NXp >> Ncp . Dessa forma, alm
do clculo da distncia entre o novo vrtice e todo centro de componente, que feita em
Ncp iteraes, tambm necessrio ordenar as distncias e calcular as distncias para
os vrtices de cada componente considerado. Considere encontrar os componentes mais
prximos, um a um, medida que for necessrio; utilizando o mtodos de ordenao por
vz o nmero de componentes considerados como vizinhos
seleo (selection sort). Seja N
vz << Ncp . Desse modo, pode-se
at que o critrio de parada seja satisfeito e, note que N
vz Ncp iteraes, e o clculo das distncias para encontrar
encontrar os componentes em N
os vizinhos mais prximos dentre os vrtices pertences aos componentes considerados em
vz Nvp iteraes, onde Nvp corresponde ao nmero mdio de vrtices por componentes no
N

CLASSIFICAO INCREMENTAL VS. ESTTICA EM DADOS COM MUDANA DE


CONCEITOS
93

vz Ncp +
grafo principal. O que signica que a classicao pode ser realizada em Ncp + N
vz Nvp iteraes; como Ncp >> N
vz e Nvp pequeno, a complexidade depende do nmero
N
de componentes no grafo, portanto tem ordem de complexidade O(Ncp ).
A terceira e ltima parte, a poda e remoo por no utilizao, refere-se a retirada
de componentes do grafo. A retirada de componentes por no utilizao pode ser feita
simplesmente vericando o parmetro de tempo de cada componente, portanto da ordem
de O(Ncp ). A poda consiste em classicar um conjunto rotulado, de forma que, se o
conjunto possui N instncias, a ordem de complexidade corresponde classicao destas
instncias, que ocorre em NL Ncp iteraes. Considerando que N << Ncp , pode-se dizer
que a ordem da poda tambm corresponde O(Ncp ).
Portanto, a complexidade do classicador incremental proposto depende do tamanho
dos conjuntos de dados rotulados de forma quadrtica, devido ao clculo da matriz de
distncia, e do nmero de componentes no grafo principal de forma linear tanto para a
classicao e remoo de componentes. O nmero de componentes no grafo principal,
por sua vez, depende do parmetro de esquecimento e da distribuio dos dados. Note
que, como na Seo 3.3, a complexidade para o classicador incremental foi derivada
considerando o uso de mtodos clssicos. No entanto, assim como na verso esttica, a
verso incremental tambm se benecia de mtodos avanados, por exemplo, no clculo
das distncias ou para encontrar os componentes mais prximos.

4.3 Classicao incremental vs. esttica em dados com mudana


de conceitos
Como visto no Captulo 3, o classicador esttico apresenta desempenho comparvel
classicadores bem conhecidos e do estado da arte. No entanto, um classicador esttico designado a classicar exemplos de dados pertencentes distribuio dos dados
do conjunto em que foi treinado. Algoritmos de aprendizado esttico no apresentam
mecanismos para reconhecer e reagir mudanas de conceito. Com o objetivo de analisar
o comportamento de um classicador esttico em um ambiente dinmico e compar-lo
abordagem incremental, considere os seguintes experimentos com os classicadores propostos KAOG e KAOGINC. Sejam dois domnios de dados articiais que apresentam
mudanas de conceito, o primeiro com mudana de conceito gradual e o segundo com
mudanas de conceito podendo variar entre gradual e abrupta.
Para o primeiro experimento, considere que em ambos os casos o classicador foi
treinado inicialmente com uma instncia do subconjunto apresentado na Figura 4.2(a).
O restante do conjunto original foi dividido em 7 grupos de dados, representando uma
mudana de conceito gradual (ver Figuras 4.2(b)-(h)) e apresentados sequencialmente aos
classicadores. Um classicador esttico, assim como o KAOG, presume que o conceito
aprendido no treinamento original no ser alterado e no dispe de mecanismos para processar dados rotulados aps a fase de treinamento. Por essa razo, somente os conjuntos

94

CLASSIFICAO INCREMENTAL USANDO O GRAFO K -ASSOCIADO TIMO

de teste so apresentados aps o treinamento. J o classicador incremental KAOGINC


tem habilidade para continuar aprendendo depois do treinamento inicial, durante a fase
de uso do classicador. Dessa forma, o classicador pode processar exemplos rotulados,
que so apresentados ao longo do tempo.
5

10
10

10
10

(a)

10
10

(b)

10
10

(e)

10
10

(f)

10
10

(g)

(d)

10
10

(c)

10
10

(h)

Figura 4.2: Domnio articial dividido sequencialmente em grupos, simulando um domnio


no estacionrio com mudana de conceito gradual. Os padres em evidncia representam
o subconjunto corrente.
A Figura 4.3 mostra o resultado da comparao para o domnio no estacionrio,
ilustrado na Figura 4.2, entre as abordagens de aprendizado esttica e incremental do classicador baseado no grafo K -associado timo, respectivamente KAOG e KAOGINC. Os
resultados so a mdia de 10 execues, para cada execuo um grafo timo foi construdo
considerando 400 instncias de treinamento (200 de cada classe) gerados aleatoriamente
dentro da distribuio do subconjunto da Figura 4.2(a). Os conjuntos de teste possuem
200 instncias no rotuladas (100 para cada classe), tambm gerados aleatoriamente de
acordo com a distribuio do subconjunto atual. O classicador incremental tambm recebe antes de cada conjunto de teste um conjunto rotulado com 100 instncias rotuladas
(50 cada classe).
A diferena signicativa no desempenho entre as abordagens, como mostra a Figura
4.3, deve-se ao fato de que o classicador esttico, uma vez treinado, no ter a capacidade
de adquirir conhecimento, ao passo que o classicador incremental adquire conhecimento,
continuamente - ao longo do processo de classicao. Para o experimento, a porcentagem
de acertos foi calculada para cada dado de teste de forma cumulativa, ou seja, atualizada
para cada novo resultado.
Note na Figura 4.3, que os primeiros 200 exemplos ambos classicadores mantm um
desempenho perfeito, acertando todas os exemplos de teste que pertencem ao conceito
aprendido. J na primeira troca de conceito o desempenho do classicador esttico comea
a cair a uma determinada taxa de erro. Logo adiante, quando ocorre a segunda troca de
conceito, o desempenho do classicador esttico piora, aumentando a taxa de erro. Note,

CLASSIFICAO INCREMENTAL VS. ESTTICA EM DADOS COM MUDANA DE


CONCEITOS
95
110
100

Porcentagem de acerto

90

KAOG classificador esttico


KAOGINC classificador incremental

80
70
60
50
40
30
20
0

200

400

600
800
Fluxo de dados

1000

1200

1400

Figura 4.3: Resuldado de classicao utilizando os algoritmos KAOG e KAOGINC para


o domnio articial apresentado na Figura 4.2.
no entanto, que a curva de desempenho do classicador esttico apresenta somente esses
dois pontos de inexo, relativos a primeira e segunda troca de conceito. O motivo
pelo qual a taxa de erro no sofre alteraes aps a segunda troca de conceito que
nesta ocasio o classicador esttico j no acerta mais nenhum exemplo de teste e a
porcentagem de acertos deteriorada. Esta queda brusca no desempenho do classicador
esttico pode ser facilmente entendida por meio da Figura 4.2. Sejam os subconjuntos
apresentados na Figura 4.2(a), o conceito aprendido pelo classicador esttico e, tambm
o primeiro conceito de teste, neste caso os exemplos de teste no apresentam dvida ao
classicador. J na sequncia do experimento, na Figura 4.2(b), os conceitos de teste de
ambas as classes apresenta uma pequena mudana, com a tendncia de uma dirigir-se ao
encontro da outra. Nesta situao, considerando a proximidade entre o conjunto de teste
e o conjunto utilizado no treinamento, pode-se induzir que parte do conjunto de teste
ser classicada corretamente, por estar mais prxima ao conjunto correto. De maneira
anloga, alguns erros devero ocorrer, pelo fato de que o lado de cada conjunto de teste
oposto ao conceito correto encontra-se mais prximo ao conceito que representa a classe
oposta. Ainda seguindo esta ideia, nota-se que a partir do conceito estabelecido na Figura
4.2(c), os conjuntos de teste de determinada classe comeam a dar a volta na outra classe,
o que faz com que os dados de teste quem sempre mais prximos aos dados de treino
da classe contraria. De forma que, o classicador esttico treinado com o conceito inicial
(Figura 4.2(a)) torna-se obsoleto, pois os dados pertencem a novos conceitos que no
foram aprendidos pelo classicador esttico.
Para o prximo experimento, considere o domnio articial estabelecido como referncia no estudo de mudana de conceito, proposto por Street e Kim (2001) e nomeado em
aluso a este trabalho, como conceitos SEA (SEA concepts). Este domnio consiste na
gerao de um conjunto de dados, cada qual formado por trs atributos, todos com valores
gerados aleatoriamente no intervalo [0, 10]. O domnio, por denio, possui duas classes

96

CLASSIFICAO INCREMENTAL USANDO O GRAFO K -ASSOCIADO TIMO

que so atribudas com base nos atributos x1 e x2 . Se determinada instncia apresenta a


soma dos atributos x1 e x2 menor, ou igual, que um determinado limiar , x1 + x2 ,
ento a este atribudo a classe 1 , caso a inequao no seja satisfeita atribui-se a classe
2 . Para simular a mudana de conceito ao longo do tempo, considere o conjunto completo formado por 70.000 instncias divididas em 4 subconjuntos com 17.500 instncias
cada, sendo que, no experimento 10.000 instncias foram usadas como treino e 7.500 como
teste. O que dene cada subconjunto justamente o limiar , que age como o vis na
denio do hiperplano que divide as duas classes e tem o efeito de simular a mudana
de conceito abrupta, quando este alterado repentinamente.
Nos experimentos, o conjunto que exprime os conceitos SEA dividido em 500 subconjuntos com 140 instncias, no qual 80 so de treino e 60 de teste1 . No experimento,
o classicador incremental inicia treinando com o primeiro conjunto de treinamento de
80 instncias. J o classicador esttico treinado com um conjunto de 700 instncias,
o que equivale quinta iterao do classicador incremental, considerando treino e teste.
No que segue o conceito SEA apresentado em conjuntos de treino com 80 instncias e
conjuntos de teste com 60 instncias. O algoritmo incremental recebe os conjuntos de
treino e teste intercaladamente, ao passo que o algoritmo esttico KAOG recebe somente
os conjuntos de teste.
A Figura 4.4 apresenta o resultado da comparao entre os algoritmos KAOG e
KAOGINC no domnio SEA. Os conceitos foram gerados de acordo com os seguintes limiares, Figura 4.4(a) = {7; 9; 6; 9, 5}, Figura 4.4(b) com = {8; 6; 8; 7, 5}, Figura 4.4(c)
= {3; 5; 7; 9} e Figura 4.4(d) com = {9, 5; 8; 6; 4}. O resultado compreende a mdia
de 20 execues para cada algoritmo, considerando diferentes geraes do domnio SEA.
Cada um dos 500 resultados, em cada experimento, compreende a mdia da porcentagem
de erro nos conjuntos de teste.
Como esperado, nos quatro experimentos apresentados nas Figuras 4.4(a)-(d), o classicador esttico apresentou bons resultados enquanto os exemplos de teste apresentados
pertenciam ao conceito aprendido. Em outras palavras, at que ocorra a primeira troca
de conceito, o problema apresentado corresponde a um problema esttico e, dessa forma,
tratado naturalmente por um classicador esttico. Por essa razo o desempenho de
ambos os classicadores no primeiro conceito so semelhantes - inclusive na variao dos
resultados. H, no entanto, uma pequena vantagem por parte do classicador incremental
sobre o esttico em alguns pontos no primeiro conceito dos quatro experimentos. Esta
vantagem deve-se ao fato de que o conjunto de treinamento usado pelo classicador esttico, apesar de representar o conceito em questo, pode no abranger todo o espao de
atributos do conceito. O que no ocorre com o classicador incremental por consequncia
de sua constante atualizao.
Ainda considerando os experimentos da Figura 4.4, verica-se que toda vez que ocorre
a primeira mudana de conceito, o classicador esttico apresenta maior taxa de erros
1

Esta proporo mantida para todos os experimentos que envolvem o conceito SEA.

CLASSIFICAO INCREMENTAL VS. ESTTICA EM DADOS COM MUDANA DE


CONCEITOS
97
30

25
(a)

25
20
15
10
5
0
0

100

200
300
Conjuntos de teste

400

500

40

15

10

0
0

100

200
300
Conjuntos de teste

400

500

400

500

50
(c)

(d)

KAOG
KAOGINC

35

KAOG
KAOGINC

40

30

Porcentagem de erro

Porcentagem de erro

KAOG
KAOGINC

20
Porcentagem de erro

Porcentagem de erro

(b)

KAOG
KAOGINC

25
20
15
10

30

20

10
5
0
0

100

200
300
Conjuntos de teste

400

500

0
0

100

200
300
Conjuntos de teste

Figura 4.4: Comparaes de desempenho entre o algoritmo esttico KAOG e sua exteno
incremental KAOGINC, considerando o domnio SEA gerado considerando diferentes conjuntos de limiares, a saber, (a) = {7; 9; 6; 9, 5}; (b) = {8; 6; 8; 7, 5}; (c) = {3; 5; 7; 9};
(d) = {9, 5; 8; 6; 4} com o objetivo de simular diferentes mudanas de concetios.
e maior variao nos resultados, sendo esta variao, consequncia da instabilidade do
classicador ao lidar com um novo conceito. Por outro lado, o classicador incremental
reage mudana de conceito rapidamente. Nota-se que ocorre um pico na curva de erros
no instante em que ocorre a mudana de conceito, mas passadas algumas iteraes, o
novo conceito aprendido e a taxa de erro volta a nveis aceitveis. Tambm possvel
perceber que quanto mais abrupto a mudana de conceito maior o pico na taxa de erros.
Nos casos estudados, a mudana mais abrupta ocorre na Figura 4.4(a) na terceira troca
de conceitos2 , seguido pela segunda, o que implica nos maiores picos.
A Figura 4.4(b) mostra uma situao de mudana de conceito recorrente, em que um
conceito passado volta a ocorrer. No caso em questo, o primeiro e o terceiro conceito so
idnticos, portanto o classicador esttico apresenta bom desempenho em ambos, uma vez
que foi treinado com instncias de dados do primeiro conceito. J a mudana que separa
o terceiro e quarto conceitos, bem suave, mudando pouco os dados do quarto conceito 2

Para o do domnio SEA quanto maior a diferena entre os limiares, mais abrupta a mudana.

98

CLASSIFICAO INCREMENTAL USANDO O GRAFO K -ASSOCIADO TIMO

o que explica o pequeno aumento na taxa de erro por parte do classicador esttico. As
Figuras 4.4(c) e (d) mostram um cenrio de mudana de conceito gradual, onde o limiar
cresce ou decresce, respectivamente, de maneira gradual afastando o hiperplano corrente
cada vez mais do hiperplano referente ao conceito original. Por essa razo a taxa de erros
do classicador esttico aumenta a cada vez que o novo conceito se afasta do conceito
aprendido. Considerando agora o classicador incremental, repare que na Figura 4.4(c),
a taxa de erro tem incio por volta de 1 a 2% e tende a crescer ao longo do tempo at
chegar a 3 a 4%. Situao oposta apresentada na Figura 4.4(d), onde a taxa de erro
tem incio em 4 ou 5% e termina em 1 ou 2%. Isto se deve ao fato de como os limiares
inuenciam no conjunto gerado. Como as classes so denidas de acordo com a soma de
dois atributos e, como esses atributos variam no intervalo [0, 10], a situao em que se
espera igual probabilidade para ambas as classes, ocorre quando o limiar est prximo de
10. Assim, limiares pequenos favorecem o crescimento da classe 1 sobre a classe 2 , o
que interfere na taxa de erros do classicador. Este fato tambm pode ser vericado nos
resultados do classicador esttico que apresenta maior taxa de erros na Figura 4.4(d)
devido ao problema no balanceamento das classes citado anteriormente.
Em resumo, classicadores estticos no so desenvolvidos para classicar dados que
possam sofrer mudanas de conceito. Esses classicadores assumem que o conceito, ou a
distribuio dos dados em questo no ser alterado. O que limita a atuao de classicadores estticos a conjuntos de dados estacionrios ou, eventualmente, a algum problema
no estacionrio muito especco, no qual vale a premissa de que mudanas de conceito
no ocorram. Em uma abordagem incremental, no entanto, o sistema classicador
denido de maneira que este possa identicar mudanas no conceito e reagir a isso. Como
mostrado nas Figuras 4.3 e 4.4, a abordagem incremental detectou todas as mudanas
de conceito e foi capaz de recuperar o desempenho de classicao prontamente. Cabe
ressaltar que nesta seo foram comparadas duas abordagens diferentes de aprendizado
com o objetivo no de estabelecer o melhor, mas sim de ilustrar os problemas que um
classicador esttico apresenta em um contexto dinmico. A Seo 4.5 compara e analisa
o algoritmo KAOGINC com outros algoritmos incrementais, a m de estabelecer a real
contribuio da abordagem proposta.

4.4 Anlise de parmetros para o algoritmo KAOGINC


Como o classicador incremental KAOGINC paramtrico, nesta seo ser exposta
uma breve anlise da variao de seu parmetro, . A seo tambm apresenta a anlise
do efeito do uso da poda nos desempenho do classicador, aliado regra de no utilizao. Considere, inicialmente, a anlise da variao do parmetro , que dene o nmero
mximo de classicaes em que cada componente pode permanecer no grafo sem ser
usado. O experimento ilustra duas implementaes para cada valor de , uma em que
a poda no utilizada, que visa evidenciar o comportamento do parmetro . E outra

ANLISE DE PARMETROS PARA O ALGORITMO KAOGINC

99

combinado a poda com a regra de no utilizao, com o objetivo de vericar o comportamento da poda para diferentes valores de . Para cobrir um intervalo razovel de valores,
considere o parmetro variando no intervalo [1, 100] e assumindo valores intervalados
de 5, {1, 5, 10, . . . , 100}, resultando em 21 modelos de classicadores. Para os experimentos foi usado o domnio SEA (Street e Kim, 2001), como descrito na Seo 4.3, com os
mesmos conjuntos de limiares usados nos experimentos reportados na Figura 4.4, a saber,
(a) = {7; 9; 6; 9, 5}, (b) = {8; 6; 8; 7, 5}, (c) = {3; 5; 7; 9} e (d) = {9, 5; 8; 6; 4}. O
algoritmo KAOGINC foi executado 20 vezes para cada valor do parmetro , com diferentes instncias do domnio SEA geradas a cada execuo. Portanto, para cada valor de
obteve-se a mdia do erro, corresponde a 20 execues, para cada conjunto de teste ao
longo do domnio SEA. A Figura 4.5 compreende mdia do erro dos conjuntos de testes
referentes a cada um dos conjuntos citados.
5,5
(b)

sem poda
com poda

7
6
5
4
3
0

10

20

(c)

30

40

50

60

70

80

90 100

4
3,5

2,5
0

10

20

30

40

6
(d)

sem poda
com poda

4
3,5
3
2,5

50

60

70

80

90 100

50

60

70

80

90 100

sem poda
com poda

5,5
Porcentagem de erro

4,5
Porcentagem de erro

4,5

2
0

sem poda
com poda

5
Porcentagem de erro

Porcentagem de erro

(a)

5
4,5
4
3,5
3

10

20

30

40

50

60

70

80

90 100

2,5
0

10

20

30

40

Figura 4.5: Mdia do erro para diferentes valores do parmetro considerando o domnio
SEA gerado com diferentes conjuntos de limiares, a saber (a) = {7; 9; 6; 9, 5}; (b) =
{8; 6; 8; 7, 5}; (c) = {3; 5; 7; 9}; (d) = {9, 5; 8; 6; 4}.
A Figura 4.5 compreende quatro verses do domnio SEA, ligeiramente diferentes uma
das outras. Note que, ainda assim, os valores para o parmetro , que resultaram nos
melhores desempenhos, foram diferentes para cada domnio. Isso mostra que mesmo para
domnios relativamente parecidos, o valor de pode no ser o mesmo, sendo que para

100

CLASSIFICAO INCREMENTAL USANDO O GRAFO K -ASSOCIADO TIMO

cada domnio existe um intervalo de valores de que proporciona o melhor desempenho


do algoritmo. Por exemplo, considerando os modelos dos classicadores que no utilizam
a poda, na Figura 4.5(a), um bom intervalo para a escolha de [8, 15]; j na Figura
4.5(b), o parmetro pode ser escolhido no intervalo [15, 30]. De maneira similar, bons
intervalos de valores para o parmetro mostradas nas simulaes das Figuras 4.5(c) e
(d) seriam, [15, 25] e [12, 25], respectivamente. De modo que, qualquer valor escolhido
nestes intervalos produziro bons classicadores, uma vez que a curva de erros mostra a
tendncia no aumento do erro em relao variao do parmetro e no corresponde em
determinar um nico valor timo para este.
Considerando agora o uso da poda de forma concomitante regra de no utilizao.
Note que com o uso da poda, o algoritmo alterado, o que torna necessrio selecionar
novamente o modelo, fato que tambm explica as diferenas nos desempenhos dos algoritmos. Considere a seleo de modelo feita anteriormente, mas agora considerando
classicadores que programem a eliminao de componentes que cometem erro. Pode-se
dizer que, como esperado, quanto maior o valor de maior o efeito da poda, uma vez que
o aumento de aumenta o nmero de componentes no grafo. De maneira geral, nota-se
que a poda tende a diminuir a taxa de erro, bem como a inuncia do parmetro , pois
diminui a diferena na taxa de entre valores prximos de . Outro ponto interessante
que o uso da poda, nos quatro domnios, no s aumentou o tamanho dos intervalos de
valores de que produzem bons resultados, mas tambm a magnitude dos valores em si,
por exemplo, na Figura 4.5(a) passou de [8, 15] sem o uso da poda, para [15, 30], com
o uso da poda, e assim tambm para os demais domnios.Vale ressaltar que, apesar da
poda ter resultado em melhora para todos os modelos testados neste experimentos, pode
acontecer que, para algum domnio o uso da poda resulte em piora no desempenho, de
maneira que, esta pode ser retirada da implementao do algoritmo.
Considere agora vericar as diferenas no desempenho ao longo da apresentao do
domnio, entre um valor de , pertencente ao intervalo de bons valores, obtidos anteriormente, e dois outros valores tomados ao acaso. Para evidenciar o comportamento
do parmetro considere o algoritmo sem o uso da poda. Para este experimento considere, a variante do domnio SEA como gerado na Figura 4.5(c), com os seguintes limiares
= {3, 5, 7, 9}, e os valores = 20, como o valor escolhido dentro do intervalo estimado, e
os valores = 45 e = 65, tomados ao acaso fora do intervalo em questo. Os resultados
como mostrado na Figura 4.6.
Note que, o aumento de , invariavelmente, aumenta o tempo de recuperao do classicador nas mudanas de conceito. Quanto maior o valor de mais tempo um componente
permanece no grafo sem ser usado, o que por um lado aumenta a amostragem de dados em
conceitos estticos, o que, at certo ponto, pode melhorar o desempenho do classicador.
Por outro lado, quando ocorre uma mudana de conceito, os componentes obtidos em
conceitos anteriores permanecero no mnimo iteraes no novo conceito, o que geralmente atrapalha a classicao de novos dados. Valores pequenos para , apesar de tornar

ANLISE DE PARMETROS PARA O ALGORITMO KAOGINC

101

25

Porcentagem de erro

20

= 20
= 45
= 65

15

10

0
0

50

100

150

200
250
300
Conjuntos de teste

350

400

450

500

Figura 4.6: Comparao de desempenho entre os modelos do classicador KAOGINC


referentes aos parmetros = 20, = 45, = 65 no domnio SEA.
o classicador mais exvel, possibilitando-o recuperar-se rapidamente em mudanas de
conceito, tambm o torna menos abrangente em conceitos estticos, fazendo com que
seu desempenho piore. Os efeitos que a variao de provoca no classicador sugere
que, o desempenho em conceito esttico e a recuperao de desempenho nas mudanas
de conceitos, so situaes conitantes. O que obriga o usurio a ponderar entre bom
desempenho em conceito esttico e rpida recuperao nas mudanas de conceitos. Essa
ponderao pode ser feita com sucesso se houver algum conhecimento prvio, por exemplo, se o usurio, de alguma forma, sabe que no ocorrer mudanas de conceito ou que
ocorrero poucas alteraes, ento pode ser ajustado de modo a otimizar o desempenho
nos conceitos estticos. J, o caso oposto acontece quando se sabe que o domnio apresenta muitas mudanas de conceito, neste caso opta-se por com valores menores para
facilitar a renovao de componentes e a recuperao rpida de desempenho. No entanto,
considerando aplicaes apresentadas em uxo de dados, ca difcil obter conhecimento
prvio sobre o acontecer no futuro. Alm disso, o que se deseja de um classicador incremental que este mantenha bom desempenho em reas de conceito esttico e recupere-se
com rapidez nas mudanas de conceitos. Felizmente, possvel aperfeioar o classicador
proposto KAOGINC otimizando seu desempenho tanto em conceitos esttico como na
mudana de conceito, por meio da implementao da poda. Como o aumento no tempo
de recuperao do classicador est relacionado a erros provenientes do uso de componentes de conceito(s) anterior(es) na classicao de novos dados; a soluo retirar do
grafo todo componente que est envolvido em erro de classicao de exemplos do conjunto de teste. Como a escassez de dados no problema em aplicaes de classicao
em uxo de dados, a eliminao de vrtices do grafo no resulta em perda de informao,

102

CLASSIFICAO INCREMENTAL USANDO O GRAFO K -ASSOCIADO TIMO

mas sim na melhora do classicador. A Figura 4.7 ilustra como o aumento nos valores
de inuencia negativamente a retomada do desempenho quando ocorre a mudana de
conceito para o classicador que no usa poda, comparado com a verso do classicador
que implementa a poda.
25

20
(a)

com poda
sem poda

20

16

Porcentagem de erro

Porcentagem de erro

(b)

com poda
sem poda

18

14
12
10
8
6

15

10

4
2
0

100

200
300
Conjuntos de teste

400

500

25

(d)

com poda
sem poda

200
300
Conjuntos de teste

400

500

400

500

com poda
sem poda

20
Porcentagem de erro

20
Porcentagem de erro

100

25
(c)

15

10

0
0

0
0

15

10

100

200
300
Conjuntos de teste

400

500

0
0

100

200
300
Conjuntos de teste

Figura 4.7: Comparao das taxas de erro considerando diferentes modelos do algoritmo
KAOGINC quanto permanncia ou retirada dos componentes associados a erros de
classicao. Na Figura os modelos foram gerados com, (a) = 5, (b) = 30, (c) = 60
e (d) = 95.
A poda tem o objetivo de eliminar do grafo os componentes que cometeram erros,
tais componentes podem ter sido formados por rudo nos conjuntos de treinamento ou
representavam conceitos passados e ainda permanecem no grafo. Dessa forma, possvel
melhorar a performance em conceito esttico variando e obter resposta rpida mudana
de conceito devido poda. Na Figura 4.7 o que se percebe de imediato que quanto maior
o valor de maior o efeito aparente da poda. Na Figura 4.7(a), praticamente no h
vantagem no uso da poda, pois como tem valor pequeno, a substituio de componentes
no grafo ocorre rapidamente e o uso da poda irrelevante. Como j mencionado, acontece
que esta troca constante de componentes no grafo resulta em perda de desempenho.

ANLISE DE PARMETROS PARA O ALGORITMO KAOGINC

103

Na Figura 4.7(b) nota-se que a poda tem um efeito positivo em relao retomada
de desempenho na mudana de conceito. Nas trs mudanas de conceito, o algoritmo
KAOGINC com poda recuperou-se com maior rapidez e, ao mesmo tempo, manteve
desempenho comparvel ao algoritmo KAOGINC sem poda durante as fases estticas dos
conceitos. Nas Figuras 4.7(c) e (d) o algoritmo KAOGINC com poda continuou sendo
melhor que a verso sem poda, no entanto nesses casos, assume valor muito grande
para este domnio. Evidncias disso so que, o aumento de comparado com a Figura
4.7(b), no resultou em melhora no desempenho em conceito esttico e, mesmo com a
implementao da poda, a retomada de desempenho mais demorada se comparada
Figura 4.7(b). Como j explicado, a melhora em conceito esttico ocorre at certo valor
de . J a diminuio na eccia da poda tem relao com o tamanho do grafo, com
o tamanho do conjunto usado para realizar a poda e com a porcentagem de erros do
classicador, uma vez que a poda depende da classicao de dados ainda desconhecidos
do classicador.
Como visto, enquanto aumenta tambm aumenta o tempo de ajuste em relao ao
nmero de componentes no grafo, e que isto tem relao direta com o tamanho do grafo.
Quanto maior o grafo, maior o tempo que ser gasto para que o mesmo volte a equilibrarse em relao ao nmero de componentes, aps uma mudana de conceito, como mostra a
Figura 4.8. Isso se deve ao fato de que, mesmo aumentando o valor de , se algum desses
componentes envolverer-se em erro, o mesmo retirado do grafo. Ao passo que, sem o uso
da poda, quando um componente usado, mesmo se em uma situao que resulte em erro,
o mesmo tem seu parmetro de tempo zerado. O que signica que este componente dever
esperar mais iteraes para ser retirado do grafo. O que faz com que o erro aumente
conforme aumenta, quando a poda no considerada. Como esperado, o aumento no
valor de implica no aumento no nmero mdio de componentes no grafo. A Figura 4.8
ilustra o nmero de componentes no grafo ao longo da apresentao do domnio SEA.
Note na Figura 4.8(a) que o uso da poda no resulta em grande vantagem com relao
ao tamanho do grafo, de fato, a poda mantm o grafo um pouco menor em relao
verso que no usa poda, durante os conceitos estticos. No entanto, essa pequena
diferena no resulta em ganho no desempenho do classicador. Note que no existe
diferena entre as verses durante as mudanas de conceito, devido ao pequeno valor
de . J na Figura 4.8(b), a diferena no nmero de componentes maior em reas
de conceito esttico e tende a aumentar quando ocorre mudanas de conceitos. Quando
ocorre a mudana de conceito, o algoritmo que implementa a poda, livra-se rapidamente de
componentes de conceito antigo, o que possibilita ao classicador retomar rapidamente
o desempenho. De maneira anloga ao que ocorre com a taxa de erro, a variao no
nmero de componentes tambm afetada pelo tamanho do grafo, pois quanto maior o
grafo mais tempo levar para os componentes de conceitos passados serem substitudos
por componentes do conceito atual. Como mostra as Figuras 4.8(c) e 4.8(d), o aumento
de causa o aumento do grafo.

CLASSIFICAO INCREMENTAL USANDO O GRAFO K -ASSOCIADO TIMO

200
175
150
100
com poda
sem poda

50

Nmero de componentes

Nmero de componentes

104

900
800
700
600
400
com poda
sem poda

200

(a)
100

(b)

200
300
400
Conjuntos de teste

1800
1600
1450
1300

800
com poda
sem poda
200
0
0

500

Nmero de componentes

Nmero de componentes

0
0

0
0

100

200
300
400
Conjuntos de teste

500

2700
2500
2250
2000
1500
com poda
sem poda

500

(c)
100

200
300
400
Conjuntos de teste

(d)
500

0
0

100

200
300
400
Conjuntos de teste

500

Figura 4.8: Comparao entre modelos em relao ao nmero de componentes considerando as diferentes verses do algoritmo quanto permanncia ou retirada dos componentes associados a erros de classicao. A Figura (a) corresponde a modelos gerado
com = 5, a (b) = 30, (c) = 60 e (d) = 95.
Independente do uso da poda note que o tamanho do grafo varia de acordo com o
conceito corrente, isso mostra a capacidade do algoritmo em ajustar-se distribuio dos
dados. De fato o nmero de vrtices tende a permanecer constante ao longo do tempo, o
que varia a estruturao dos vrtices em componentes. Isto signica que os componentes
so formados de modo a adequarem-se ao conceito corrente. Cada conceito representa
uma distribuio diferente, e resulta em componentes com padres de conexo, tamanho
e purezas diferentes. Para ilustrar esse fato considere a Figura 4.9, onde a Figura 4.9(a)
mostra como os componentes variam em tamanho de acordo com o conceito em questo;
ao passo que na Figura 4.9(b) mostrada a variao no nmero de vrtices para as mesmas
execues.
Para evidenciar a diferena no tamanho dos componentes em resposta ao conceito
corrente, os experimentos utilizaram mudanas de conceitos mais abruptas que nos experimentos anteriores, gerando o domnio SEA com os seguintes limiares = {7; 9; 6; 9, 5}.
Nos experimentos foi considerado = 25, e os resultados so a mdia de 20 execues.
Retirar todo componente que se associou a pelo menos um erro durante a fase de
teste pode parecer uma condio muito severa. Imagine a situao onde um outlier ou

RESULTADOS EXPERIMENTAIS
2500

700
Nmero de vrtices

Nmero de componentes

800

105

600
500

200

0
0

(a)
100

200
300
400
Conjuntos de teste

500

2000
1750
1500

500
0
0

(b)
100

200
300
400
Conjuntos de teste

500

Figura 4.9: Relao entre nmero de componentes e nmero de vrtices no grafo principal
ao longo do processamento do domnio SEA. Para este experimento foi considerado os
seguintes limiares = {7; 9; 6; 9, 5}.
rudo pertencente a um conjunto utilizado para estimar o desempenho do classicador
bem como realizar a poda. Este outlier ou rudo pode, eventualmente, localizar-se em
alguma rea bem denida do espao de dados, representada por componentes de uma
determinada classe, diferente do dado ruidoso. Como resultado, no momento de classicao desta instncia, esta situao ocasionar erros nos componentes usados na sua
classicao e consequentemente em sua eliminao. No entanto, por mais que algumas
vezes bons componentes sejam retirados do grafo injustamente, o desempenho do classicador no afetado de maneira considervel. Isto porque a ocorrncia de outliers ou
rudos relativamente incomum e ocorrem em intervalos esparsos no espao de dados. O
que faz com que o desempenho do classicador no seja alterado.
Note que nos experimentos realizados neste trabalho, a poda foi realizada considerando
os conjuntos de teste. Isto pressupe que as classes das instncias no conjunto de teste
sejam conhecidas. Se o objetivo avaliar o classicador ou mesmo compar-lo com outro
classicador, esta suposio pode ser feita, e os conjuntos de teste so usados como validao. No entanto, em uma situao real, as classes dos dados que devem ser classicados
no so disponveis. Dessa forma, a poda para o classicador KAOGINC deve ser realizada utilizando o prximo conjunto de treino antes que os componentes provenientes
deste conjunto sejam adicionados no grafo. Esta abordagem frequentemente usada
em algoritmos incrementais na literatura (Tsymbal et al., 2006), (Scholz e Klinkenberg,
2007).

4.5 Resultados experimentais


Nesta seo so apresentados alguns resultados comparativos considerando o algoritmo incremental proposto, KAOGINC, contra os algoritmos apresentados na Seo 2.4,
a saber, os algoritmos OnlineTree2, SEA, WCEA e DWM-NB, em diversos domnios
articiais e reais.

106

CLASSIFICAO INCREMENTAL USANDO O GRAFO K -ASSOCIADO TIMO

Nas sees subsequentes so apresentados os 10 domnios utilizados na comparao bem como uma breve anlise dos resultados para cada um deles. Os resultados
para os algoritmos usados como comparativos, so apresentados sobrepostos ao resultado do KAOGINC para efeito de comparao. Dentre os domnios considerados, seis
deles so articiais e bastante usados na literatura, ver, por exemplo, (Street e Kim,
2001),(Gama et al., 2004),(Hulten et al., 2001); os demais so domnios reais disponibilizados para uso pblico, a saber, Elec2, Poker Hand, Spambase e KDD99, e podem
ser encontrados nos repositrios (Asuncion e Newman, 2007) e (Hettich e Bay, 1999). Os
domnios reais so apresentados em conjuntos intercalados rotulados e no rotulados, e
o resultado para essas bases consiste na mdia de 20 execues de cada algoritmo. J
os uxos de dados para os domnios reais considera somente conjuntos rotulados e da
forma S = {X1 , X2 , . . . , XT }. De modo que, para estimar os erros dos algoritmos nesses
domnios o conjunto Xt usado como teste antes de ser apresentado como treino. Todas
bases reais foram apresentadas uma nica vez para os algoritmos, como em uma situao
real.
A seleo de parmetros para os algoritmos paramtricos (todos exceto o OnlineTree2)
considerou a porcentagem mdia de acertos em dados de teste ao longo do uxo de dados.
Os modelos foram selecionados simplesmente escolhendo-se o de melhor resultado em
cada domnio. Para cada algoritmo foi considerado os seguintes valores de parmetros,
KAOGINC, parmetro de esquecimento {1, 2, 3, . . . , 70}; SEA, tamanho do comit
{3, 5, 7, . . . , 71}; WCEA, tamanho de comit {2, 3, 4, . . . , 70}; DWM-NB, nmero
de iteraes para vericao do comit {1, 5, 10, . . . , 70}. A ltima seo apresenta
o teste estatstico realizado considerando as taxas de acertos ao longo de todo o uxo
de dados para todos os domnios testados, com o objetivo de denir a contribuio do
algoritmo proposto.

4.5.1 Conceito SEA


Considere o domnio SEA proposto por Street e Kim (2001) e apresentado na Seo
4.3, para os limiares = {8; 9; 7; 9, 5}, e que domnio apresentado aos classicadores em
conjunto de treino e teste, nesta ordem, com 80 e 60 instncias cada conjunto, respectivamente. A Figura 4.10, ilustra a comparao entre os algoritmos vistos neste trabalho e
o algoritmo proposto KAOGINC.
Para estes resultados a seleo de modelos para os algoritmos paramtricos resultou
nos seguintes valores de parmetro: KAOGINC com = 30, SEA com tamanho de comit
de 25, WCEA tambm com 25 classicadores no comit e DWM-NB com = 50. Este
domnio , talvez, o mais considerado na validao de algoritmos de classicao incremental e de tempo real. Por essa razo, muitos resultados tm sido publicados, inclusive
em alguns dos trabalhos cujos algoritmos so utilizados neste trabalho para efeito de
comparao. Como o caso do trabalho de Street e Kim (2001), que props o domnio, e
tambm nos trabalhos que apresentaram os algoritmos DWM-NB (Kolter e Maloof, 2007)

RESULTADOS EXPERIMENTAIS

107

25

20
(a)

(b)

KAOGINC
OnlineTree2

KAOGINC
SEA

Porcentagem de erro

Porcentagem de erro

20
15

10

15

10

0
0

100

200
300
Conjuntos de teste

400

500

20

0
0

100

200
300
Conjuntos de teste

400

500

400

500

25
(c)

(d)

KAOGINC
WCEA

KAOGINC
DWMNB

Porcentagem de erro

Porcentagem de erro

20
15

10

15

10

0
0

100

200

300

Conjuntos de teste

400

500

0
0

100

200
300
Conjuntos de teste

Figura 4.10: Comparaes de desempenho entre os algoritmos KAOGINC e (a) OnlineTree2; (b) SEA; (c) WCEA e (d) DWM-NB para o domnio SEA. A seleo de modelos
resultou nos seguintes parmetros, KAOGINC = 30; SEA = 25; WCEA = 25 e
DWM-NB = 50.

e OnlineTree2 (Nnez et al., 2007). importante ressaltar que cada autor considerou a
apresentao do domnio de acordo com o problema que este se props a tratar e, por essa
razo, pode ser que alguns resultados sejam diferentes dos apresentados neste trabalho.
Um desses casos ocorre com o algoritmo OnlineTree2, que foi proposto originalmente para
domnios de dados apresentados em tempo real. Na Figura 4.10(a), no entanto, nota-se
que o algoritmo OnlineTree2 apresenta bom desempenho at a segunda mudana de conceito, mas depois disso, demora em retomar o desempenho aps cada mudana de conceito.
Isto se deve ao fato de que o algoritmo OnlineTree2 no reage bem a mudana de conceito
abrupta, pois leva vrias iteraes para adaptar-se totalmente ao novo conceito. J os
algoritmos baseados em comit tm grande capacidade de adaptao, uma vez que aps
cada mudana de conceito, o comit pode restaurar-se com novos classicadores em um
nmero de iteraes equivalente metade da capacidade do comit, para o caso do algoritmo SEA, por exemplo. Os comits com peso tm a capacidade de recuperarem-se mais

108

CLASSIFICAO INCREMENTAL USANDO O GRAFO K -ASSOCIADO TIMO

rapidamente, uma vez que podem ponderar a favor do classicador treinado no conceito
mais novo, como o caso dos algoritmos WCEA e DWM-NB. Mesmo assim, o melhor
desempenho foi obtido pelo classicador proposto KAOGINC. Apesar de no se tratar
de um comit, o algoritmo KAOGINC tem grande capacidade de adaptao, pois alm
de incorporar conhecimento toda vez que um novo conjunto apresentado, este desfaz-se
de conhecimento antigo por meio do parmetro de esquecimento, bem como livra-se de
rudos por meio da poda.

4.5.2 Hiperplano mvel


Este domnio simula um hiperplano que dene duas classes e move-se ao longo do
tempo. Neste problema, denido em (Hulten et al., 2001) e (Fan, 2004), tipicamente, cada
instncia possui dimenso p = 10 e cada atributo gerado aleatoriamente no intervalo
[0, 1]. Considere o hiperplano denido na Equao (4.2), onde ai so pesos inicializados
aleatoriamente no intervalo [1, 1]. O hiperplano separa o espao de atributo em dois,
atribuindo as classes, 1 caso a Equao (4.2) seja satisfeita e 2 , caso contrrio.
p

ai xi a0

(4.2)

i=1

O domnio possui dois tipos de mudana de conceito, gradual e abrupto. Para simular
a mudana gradual, considere que q atributos (q p) sejam constantemente alterados.
Ou seja, Os pesos ai , para i = 1, . . . , q, so atualizados toda vez que um novo dado
gerado, de acordo com a Equao (4.3).
ai = ai + si

(4.3)

Isso faz com que o hiperplano se mova com velocidade dada por ( = 0, 0001, nos
experimentos) e s {1, 1} indica a direo para a qual o hiperplano se move. Toda vez
que os pesos so atualizados o limiar a0 tambm atualizado, conforme a Equao (4.4).
p
1
ai
a0 =
2 i=1

(4.4)

Para simular o desvio de conceito abrupto, s atualizado com probabilidade de 10%


a cada 5.000 exemplos, o que, na prtica faz com que o hiperplano mude de direo.
Nas simulaes foram usados um total de 40.000 exemplos. Os dados so apresentados
aos classicadores, sequencialemente, em conjuntos de treino e teste, cada qual com 50
instncias. A Figura 4.11, mostra as comparaes entre o algoritmo proposto e os demais
algoritmos.
Como mencionado, este domnio apresenta dois tipos de mudana de conceito, gradual
e abrupta. O que exige que o classicador se adapte a diferentes situaes ao longo do
processamento. O algoritmo proposto obteve boa performance, cando com o segundo
melhor desempenho com relao mdia nos conjuntos de teste. O algoritmo SEA obteve

RESULTADOS EXPERIMENTAIS
35

40
(a)

(b)

KAOGINC
OnlineTree2

30
25
20

10
0

100

50
(c)

200
300
Conjuntos de teste

400

20

35
30
25
20

100
(d)

KAOGINC
WCEA

40

10
0

200
300
Conjuntos de teste

400

30
25
Porcentagem de erro

Porcentagem de erro

25

15

15

KAOGINC
DWMNB

20
15
10
5

15
10
0

KAOGINC
SEA

30
Porcentagem de erro

Porcentagem de erro

35

45

109

100

200
300
Conjuntos de teste

400

0
0

100

200
300
Conjuntos de teste

400

Figura 4.11: Comparaes de desempenho entre o algoritmo KAOGINC e (a) OnlineTree2;


(b) SEA; (c) WCEA e (d) DWM-NB para o domnio Hiperplano. A seleo de modelos
resultou nos seguintes parmetros, KAOGINC = 30; SEA = 25; WCEA = 25 e
DWM-NB = 50.

performance bastante similar ao algoritmo proposto, o que mostra que ambos possuem
excelente capacidade de adaptao. O melhor desempenho foi obtido pelo algoritmo
DWM-NB, que apresentou uma diferena signicativa com relao aos demais. Os fatores que permitiram esse timo desempenho so o fato de no haver restrio quanto
ao nmero de classicadores que compem o comit, e o alto valor para o parmetro
que esta associado frequncia em que o comit revisado. Esses fatores permitem
que o comit, formado pelo algoritmo DWM-NB, armazene classicadores treinados em
diversos conceitos, mas dando mais peso aos classicadores que acertam, alm do fato de
diferenciar-se dos outros comits quanto ao tipo do algoritmo base. Os algoritmos WCEA
e OnlineTree2, apresentaram desempenhos discretos comparados aos demais. Principalmente, o algoritmo OnlineTree2, que apesar de apresentar bons resultados em domnios
com mudana de conceito gradual, no obteve bom desempenho, devido principalmente
s constantes mudanas abruptas.

110

CLASSIFICAO INCREMENTAL USANDO O GRAFO K -ASSOCIADO TIMO

4.5.3 Crculos

Esta base de dados gerado com dados em duas dimenses, x1 e x2 , pertencentes


ao intervalo [0, 1], onde as classes so determindas de acordo com a Equao (4.5). Se a
equao for satisfeita, atribui-se a classe 1 , caso contrrio a classe 2 atribuida.

(x1 a)2 + (x2 b)2 > r2

(4.5)

Na equao, a e b correspondem s coordenadas do centro do crculo e r ao raio. Para


o experimento, o conjunto gerado formado de 10.000 instncias, divididos em conjuntos
de treino e teste com 25 instncias cada, e apresentados intercaladamente, treino e teste,
para os classicadores. Para simular o desvio de conceito, a cada 2.500 iteraes, a
incrementado de 0, 2 e r de 0, 05, iniciando com os valores, a = 0, 2, b = 0, 5 e r = 0, 15.
Trata-se portanto, de um domnio com mudanas de conceito gradual, uma vez que o
crculo sofre alteraes suaves no centro e no raio. A Figura 4.12 mostra as comparaes
entre o algoritmo proposto e os algoritmos considerados para comparao.
Note que, por tratar-se de um domnio com mudana de conceito gradual, o algoritmo OnlineTree2 obteve bom desempenho, cando atrs somente do algoritmo proposto
KAOGINC, com relao a mdia de acertos. Este resultado mostra que o algoritmo
proposto consiste em uma boa opo para qualquer tipo de mudana de conceito. Os
algoritmos baseados em comit tiveram performance pior, principalmente os que utilizam
pesos, como o DWM-NB e o WCEA. Note que o desempenho desses algoritmos piorou
entre a primeira e terceira mudana de conceito, este fato provalvelmente est relacionado
alterao no nmero de exemplos de dados por classe. No primeiro conceito, a classe 1
menor que a classe 2 pois consiste nos exemplos que encontram-se dentro do crculo.
Ao passo que o raio do crculo aumenta, a classe 1 tende a aumentar, no entanto, durante esse processo tambm comea a ocorrer sobreposio entre classes. Por essa razo os
conceitos intermedirios apresentam maior diculdade para os classicadores. No ltimo
conceito a diferena entre as classe menor, bem como a sobreposio, o que explica a
pequena melhora no desempenho.

RESULTADOS EXPERIMENTAIS
25

25
(a)

(b)

KAOGINC
OnlineTree2

20

KAOGINC
SEA

20
Porcentagem de erro

Porcentagem de erro

111

15

10

15

10

0
0

50

100
150
Conjuntos de teste

200

0
0

50

100
150
Conjuntos de teste

200

25

35
(c)

(d)

KAOGINC
WCEA

30

KAOGINC
DWMNB

Porcentagem de erro

Porcentagem de erro

20
25
20
15
10

15

10

5
5
0
0

50

100
150
Conjuntos de teste

200

0
0

50

100
150
Conjuntos de teste

200

Figura 4.12: Comparaes de desempenho entre os algoritmos KAOGINC e (a) OnlineTree2; (b) SEA; (c) WCEA e (d) DWM-NB para o domnio Crculos. A seleo de
modelos resultou nos seguintes parmetros, KAOGINC = 10; SEA = 5; WCEA
= 35 e DWM-NB = 25.

4.5.4 Seno
O conjunto Seno tambm constitudo de dois atributos, x1 e x2 , gerados aleatoriamente no intervalo [0, 1], e a classe atribuda de acordo com a Equao (4.6).
0.5 + 0.3sen(3x1 ) > x2

(4.6)

Como nos casos anteriores, atribui-se a classe 1 se a equao satisfeita e 2 caso


constrrio. Para os experimentos, foram gerados 10.000 instncias e o mudana de conceito abruta simulado com a repentina troca na atribuio das classes, realizada trs
vezes neste caso. A Figura 4.13, mostra os resultados para os algoritmos considerados no
domnio Seno.
Neste domnio, os algoritmos utilizaram os parmetros KAOGINC com = 8, o
SEA com 3, WCEA com 25 e DWM-NB com = 10. Nota-se que o domnio exige que o

112

CLASSIFICAO INCREMENTAL USANDO O GRAFO K -ASSOCIADO TIMO

(a)

100
Porcentagem de erro

Porcentagem de erro

100

(b)

KAOGINC
OnlineTree2

80
60
40
20

50

Porcentagem de erro

100
150
Conjuntos de teste

60
40

0
0

200

80
60
40

50
(d)

KAOGINC
WCEA

100
Porcentagem de erro

(c)

100
150
Conjuntos de teste

200

KAOGINC
DWMNB

80
60
40
20

20
0
0

80

20

0
0

100

KAOGINC
SEA

50

100
150
Conjuntos de teste

200

0
0

50

100
150
Conjuntos de teste

200

Figura 4.13: Comparaes de desempenho entre os algoritmos KAOGINC e (a) OnlineTree2; (b) SEA; (c) WCEA e (d) DWM-NB para o domnio Seno. A seleo de modelos
resultou nos seguintes parmetros, KAOGINC = 8; SEA = 3; WCEA = 25 e
DWM-NB = 10.

classicador recupere-se rapidamente, pois a distribuio varia rapidamente, o que explica


o tamanho pequeno para os comits - exceto o WCEA, que obteve seu melhor desempenho
com comit com 25 rvores de deciso. Como se trata de um domnio composto por 3
mudanas de conceito abruptas, o classicador OnlineTree2 obteve o pior desempenho,
uma vez que o mesmo no se atualiza rapidamente quanto aos algoritmos baseados em
comit, ou mesmo o algoritmo KAOGINC. Como mostra a Figura 4.13, o algoritmo
proposto obteve o melhor resultado, principalmente durante as fases de conceito estticos.
Apesar de apresentar alta taxa de erro nas mudanas de conceito (por volta de 85%), o
algoritmo KAOGINC apresentou tima recuperao, ainda melhor do que a recuperao
apresentada pelo algoritmo WCEA, que foi o algoritmo que apresentou maior estabilidade
neste domnio.

RESULTADOS EXPERIMENTAIS

113

4.5.5 Gaussianas
O domnio Gaussianas consiste na gerao de duas distribuies Gaussianas, uma com
centro (0, 0) e desvio padro 1 e outra com centro (2, 0) e desvio padro 4. Pada cada
distribuio atribuda uma classe, que se inverte a cada 2.500 instncias, o conjunto
total compreende 10.000 instncias. As classe no so exatamente balanceadas, para a
gerao de uma nova instncia, sorteia-se qual distribuio ser usada, e consequentemente sua classe, de modo que as Gaussianas tm tamanho similar mas no igual. Este
domnio simula mudana de conceito abrupta em um cenrio com dados com rudo - Gaussianas sobrepostas. As comparaes entre o algoritmo proposto KAOGINC e os demais
algoritmos utilizados para comparao so apresentados na Figura 4.14.
100

100
(a)

(b)
90

80
70
60
50
40

60
50
40
30

20

20

10
0

50

100
150
Conjuntos de teste

10
0

200

90

(d)

KAOGINC
WCEA

80
Porcentagem de erro

70
60
50
40
30

100
150
Conjuntos de teste

200

KAOGINC
DWMNB

70
60
50
40
30
20

20
10
0

50

90
(c)

Porcentagem de erro

70

30

80

KAOGINC
SEA

80
Porcentagem de erro

Porcentagem de erro

90

KAOGINC
OnlineTree2

10
50

100
150
Conjuntos de teste

200

0
0

50

100
150
Conjuntos de teste

200

Figura 4.14: Comparaes de desempenho entre os algoritmos KAOGINC e (a) OnlineTree2; (b) SEA; (c) WCEA e (d) DWM-NB para o domnio Gaussianas. A seleo de
modelos resultou nos seguintes parmetros, KAOGINC = 5; SEA = 3; WCEA = 20
e DWM-NB = 3.
O domnio tambm apresenta mudanas de conceito abruptas, por essa razo o algoritmo OnlineTree2 comportou-se como no domnio Seno, ou seja, apresentou diculdades
na recuperao de desempenho aps cada mudana de conceito. Os algoritmos paramtri-

114

CLASSIFICAO INCREMENTAL USANDO O GRAFO K -ASSOCIADO TIMO

cos obtiveram melhores resultados, com os seguintes parmetros, KAOGINC com = 5,


o SEA com 3 , WCEA com 20 e DWM-NB com = 3. Novamente, como no domnio
Seno, nota-se que este exige que o classicador recupere-se rapidamente, por essa razo
o tamanho pequeno para os comits (exceto o WCEA). Pode-se notar que o desempenho
entre os algoritmos SEA e WCEA e o algoritmo KAOGINC foram similares, algumas
poucas diferenas entre eles so: o algoritmo SEA obteve mdia de erro na mudana
de conceito em torno de 80%, portanto maior que a do KAOGINC (65%) e do WCEA
(40%). J o algoritmo WCEA, mais uma vez, obteve desempenho bastante estvel, no
entanto, mostrou-se lento na recuperao de desempenho em comparao com os algoritmos KAOGINC e SEA. O melhor desempenho foi apresentado pelo algoritmo DWM-NB,
tanto em porcentagem de acertos, em conceito esttico, como em recuperao de desempenho aps mudana de conceito. Nota-se que, apesar de desempenhos parecidos entre
os algoritmos SEA, WCEA e KAOGINC, o algoritmo proposto obteve ligeira vantagem,
cando atrs somente do algoritmo DWM-NB.

4.5.6 Misto
Este domnio assemelha-se ao Seno, entretanto, este apresenta quatro atributos dos
quais, dois deles, so bipolares (x1 e x2 {1, 1}) e os demais x3 e x4 pertencem ao
intervalo [0, 1]. A classe 1 atribuda se a Equao 4.7 for satisfeita para algum dos
atributos, x1 , x2 ou x3 .
0.5 + 0.3sen(3x4 ) > x1 , x2 , x3

(4.7)

Para os experimentos, o conjunto completo consiste de 10.000 e as classes so ordem


deatribuio das classes invertida a cada 2.500 instncias, simulando desvio de conceito abrupto em um domnio misto. Novamente, os conjuntos possuem 25 instncias de
treinamento e so apresentados intercaladamente.
Note que este domnio apresenta duas classes bastante misturadas e tambm simula
mudana de conceito abrupta. Essas caractersticas colaboram para o mau desempenho
do algoritmo OnlineTree2, que foi o pior dos algoritmos testados neste domnio. Ainda
com relao ao algoritmo OnlineTree2, pode-se dizer que ocorreu superadaptao deste
no processamento do primeiro conceito. O que, apesar de ter proporcionado bom desempenho no conceito em questo, dicultou a atualizao da rvore aps a mudana
de conceito - o que justica o pssimo desempenho no segundo conceito. De fato, a superadaptao inicial atrapalhou todo o restante do processamento, no terceiro conceito,
igual ao primeiro, a rvore foi atualizada com exemplos do segundo conceito - que agora
atrapalha a classicao de novos dados.
Os demais algoritmos obtiveram bom desempenho, principalmente os algoritmos baseados em comit que usam peso, em especial o WCEA que apresentou o melhor desempenho.
Note que o algoritmo SEA, demorou por volta de 9 iteraes para retomar o desempenho,

RESULTADOS EXPERIMENTAIS

(a)

Porcentagem de erro

80
60
40
20
0
0

50
(c)

Porcentagem de erro

100

100
150
Conjuntos de teste

60
40
20

50

100
150
Conjuntos de teste

60
40
20

50
(d)

100

200

KAOGINC
SEA

80

0
0

200

KAOGINC
WCEA

80

0
0

100

Porcentagem de erro

Porcentagem de erro

100

(b)

KAOGINC
OnlineTree2

115

100
150
Conjuntos de teste

200

KAOGINC
DWMNB

80
60
40
20
0
0

50

100
150
Conjuntos de teste

200

Figura 4.15: Comparaes de desempenho entre os algoritmos KAOGINC e (a) OnlineTree2; (b) SEA; (c) WCEA e (d) DWM-NB para o domnio Misto. A seleo de modelos
resultou nos seguintes parmetros, KAOGINC = 18; SEA = 19; WCEA = 20 e
DWM-NB = 30.
o que corresponde aproximadamente renovao de metade do comit com 19 classicadores. O KAOGINC, por sua vez, apresentou o melhor desempenho em conceito esttico, no entanto, apresentou alta taxa de erro nas mudanas de conceito, o que degradou
sua performance.

4.5.7 Preo de energia eltrica


Este domnio, conhecido como Elec2, formado por dados reais que correspondem
a dados sobre o mercado de eletricidade coletados no estado Australiano de New South
Wales e descrito por Harries (1999) e Gama et al. (2004). O domnio consiste de 45.312
instncias de dados, sendo que cada uma delas foi coletada em um intervalo de 30 minutos,
entre 7 de Maio de 1996 e 5 de Dezembro de 1998. Cada instncia possui 5 atributos e
uma classe, que indica se o preo aumentou ou diminuiu em relao ao preo anterior.
Dentre os atributos, dois deles so de tempo, dia da semana, variando no intervalo [1, 7];

116

CLASSIFICAO INCREMENTAL USANDO O GRAFO K -ASSOCIADO TIMO

e perodo do dia, no intervalo [1, 48]. Os atributos x3 e x4 correspondem demanda em


New South Wales, em Victoria e o quinto atributo corresponde ao montante de energia
reservada para ser transferida de um estado para outro. A tarefa prever se o preo
aumentar ou diminuir ao longo do tempo.
Como trata-se de dados reais, os experimentos foram organizados de forma diferente,
como sugerido por (Nnez et al., 2007), os dados so processados em semanas, ou seja,
cada conjunto de dados possui 336 instncias (com exceo do primeiro com 288). Como
no h muitos dados e, considerando que em uma situao real no se pode perder dados
rotulados; todos os conjuntos no uxo de dados so rotulados. A estimativa do erro
feita considerando o novo conjunto como conjunto de teste - classicando suas instncias.
Sendo que este depois usado como treino. A Figura 4.16 mostra a porcentagem de erro
das previses de gasto por semana dada pelos algoritmos incrementais considerados para
comparao neste trabalho.
70

70
(a)

60

KAOGINC
SEA

60
Porcentagem de erro

Porcentagem de erro

(b)

KAOGINC
OnlineTree2

50
40
30
20

50
40
30
20

10
0

20

40
60
80
100
Conjuntos de teste

120

140

10
0

20

40
60
80
100
Conjuntos de teste

120

140

120

140

70
(c)
60
50
40
30
20
10
0

KAOGINC
DWMNB

70
Porcentagem de erro

Porcentagem de erro

80 (d)

KAOGINC
WCEA

60
50
40
30
20

20

40
60
80
100
Conjuntos de teste

120

140

10
0

20

40
60
80
100
Conjuntos de teste

Figura 4.16: Comparaes de desempenho entre os algoritmos KAOGINC e (a) OnlineTree2; (b) SEA; (c) WCEA e (d) DWM-NB para a base de dados reais Elec2. A seleo
de modelos resultou nos seguintes parmetros, KAOGINC = 65; SEA = 25; WCEA
= 25 e DWM-NB = 1.

RESULTADOS EXPERIMENTAIS

117

Pode-se observar que os trs algoritmos que apresentaram melhor performance foram o
SEA, o KAOGINC e o OnlineTree2, sendo que os dois primeiros tiveram performance similar entre si e pouco superior do OnlineTree2. O algoritmo WCEA novamente foi o mais
estvel, no entanto, apresentou desempenho pior que os demais algoritmos. O algoritmo
DWM-NB tambm apresentou performance ruim, principalmente porque a porcentagem
de acerto variou muito.
Como na maioria dos domnios reais, as mudanas de conceito no so obvias como
nos domnios articiais. E, alm disso, esse tipo de domnio bem mais suscetvel
rudos, que muitas vezes, em situaes reais exige a aplicao de algum tipo de ltro
(Allen e Mills, 2004), para que o uxo de dados possa ser processado. Os experimentos
realizados neste trabalho, no consideram o uso de ltro, devido ao carter comparativo
dos testes bem como do escopo do trabalho.

4.5.8 Classicao de mo no jogo de pquer


Este domnio consiste em 25.010 instancias de dados. Cada instncia refere-se a um
exemplo de mo no jogo de pquer, onde cada mo consiste de cinco cartas dentre as
52 possveis. Cada carta representada por dois atributos, naipe e nmero, resultando
em um total de 10 atributos. A classe descreve a pontuao da combinao das cinco
cartas e representa as 10 possveis mos no jogo de pquer, a saber, = {trash, one
pair, two pairs, three of a kind, straight, ush, full house, four of a kind, straight ush,
royal ush}. O objetivo , dado uma sequncia de 5 cartas, classicar a mo de pquer
em uma das 10 categorias quanto sua pontuao. Os experimentos foram conduzidos
sem repetio, o conjunto inicial composto pelos primeiros 1.010 instncias, e o uxo de
dados composto por 240 conjuntos de 100 combinaes de 5 cartas cada.
O interessante neste domnio o fato de ser multiclasse, o que da oportunidade de
vericar o desempenho dos algoritmos testados em bases com mais de duas classes. O
que se observa nos resultados que os algoritmos apresentaram performances no muito
diferentes entre si. No entanto, pode-se armar que os algoritmos mais estveis foram o algoritmo DWM-NB e o KAOGINC, sendo que estes foram os dois melhores neste domnio,
com uma pequena vantagem do algoritmo proposto KAOGINC. O fato do domnio possuir
mais que duas classes favorece o algoritmo KAOGINC que naturalmente multiclasse.
J o algoritmo DWM-NB favorecido por no possuir limitao no nmero de classicadores no comit, dado que, dessa forma mais algoritmos base podem ser usados para
representar as vrias classe. Os demais algoritmos baseados em comit tm a desvantagem
de precisar alterar muitas vezes os algoritmos base quanto classe que representa; o que
tambm explica a maior variao nos resultados desses algoritmos. Por ltimo o algoritmo
OnlineTree2 obteve resultado equivalente aos algoritmos WCEA e SEA, provavelmente
devido a motivo semelhante - diculdade na atualizao devido ao nmero de classes.

118

CLASSIFICAO INCREMENTAL USANDO O GRAFO K -ASSOCIADO TIMO

90

90
(a)

70
60
50
40
30

70
60
50
40
30

20

20

10

10

0
0

50

90 (c)

100
150
Conjuntos de teste

200

0
0

250

50

100 (d)

KAOGINC
WCEA

Porcentagem de erro

80

KAOGINC
SEA

80
Porcentagem de erro

Porcentagem de erro

80

Porcentagem de erro

(b)

KAOGINC
OnlineTree2

70
60
50
40
30
20

100
150
Conjuntos de teste

200

250

200

250

KAOGINC
DWMNB

80

60

40

20

10
0
0

50

100
150
Conjuntos de teste

200

250

0
0

50

100
150
Conjuntos de teste

Figura 4.17: Comparaes de desempenho entre os algoritmos KAOGINC e (a) OnlineTree2; (b) SEA; (c) WCEA e (d) DWM-NB para a base de dados reais Poker Hand. A
seleo de modelos resultou nos seguintes parmetros, KAOGINC = 33; SEA = 35;
WCEA = 35 e DWM-NB = 10.

4.5.9 Filtro de Spam


Problema clssico de deteco de spam consiste em determinar se uma mensagem
eletrnica spam ou no, duas classes, portanto. O domnio contm 4601 instncias
com 54 atributos cada. Todos os atributos so contnuos e correspondem frequncia
de repetio de palavras, caracteres ou maisculas e minsculas. Para os testes com este
domnio o conjunto inicial possui 1.001 instncias, e os demais conjuntos, todos rotulados,
possuem 45 instncias. Como nos demais domnios reais todos os conjuntos so rotulados
e a estimativa do erro de classicao feita utilizando o prximo conjunto para testar
o classicador, antes de us-lo como treino. A Figura 4.18 mostra os resultados dos
algoritmos da comparao entre o algoritmo KAOGINC e os demais.
Na tarefa de ltro de spam, segundo o domnio utilizado, os algoritmos baseados
em comit obtiveram vantagem em relao aos demais. O algoritmo SEA apresentou
o melhor resultado, em porcentagem de acerto. O algoritmo mais estvel foi o DWM-

RESULTADOS EXPERIMENTAIS
90

90
(a)

Porcentagem de erro

Porcentagem de erro

60
50
40
30

70
60
50
40
30

20

20

10

10
20

90

40
60
Conjuntos de teste

KAOGINC
SEA

80

70

0
0

80

100

0
0

20

90
(c)

(d)

KAOGINC
WCEA

80
70
60
50
40
30

100

40
30

10
100

80

50

10
80

100

60

20

40
60
Conjuntos de teste

80

70

20

20

40
60
Conjuntos de teste
KAOGINC
DWMNB

80
Porcentagem de erro

Porcentagem de erro

(b)

KAOGINC
OnlineTree2

80

0
0

119

0
0

20

40
60
Conjuntos de teste

Figura 4.18: Comparaes de desempenho entre os algoritmos KAOGINC e (a) OnlineTree2; (b) SEA; (c) WCEA e (d) DWM-NB para a base de dados reais Spam. A seleo
de modelos resultou nos seguintes parmetros, KAOGINC = 8; SEA = 15; WCEA
= 28 e DWM-NB = 13.
NB uma vez que no apresentou variaes na mudana de conceito, principalmente a
variao apresentada pelos demais algoritmos no incio do processamento. Os algoritmos
KAOGINC e OnlineTree2 apresentaram desempenho semelhante, no entanto, aqum do
desempenho apresentado pelos algoritmos baseados em comit. Neste domnio o uso de
vrios classicadores provou-se ser mais eciente que apenas um algoritmo adaptativo.

4.5.10 Deteco de intrusos em redes de computadores


Este domnio corresponde ao desao proposto para a conferncia KDD99. Consiste
em identicar intrusos em uma rede de computadores tendo como base um conjunto de dados com 311.029 instncias que armazenam informaes sobre uma determinada conexo.
Uma conexo corresponde a uma sequencia de pacotes TCP com tempos denidos para
incio e m. Neste tempo, os dados passam de um emissor a um receptor sob um determinado tipo de protocolo. Cada conexo (instncia) rotulada como normal ou como um

120

CLASSIFICAO INCREMENTAL USANDO O GRAFO K -ASSOCIADO TIMO

ataque, sendo que existem 22 tipos diferentes de ataques. Dessa forma, desejvel que um
sistema classicador seja capaz de, no s determinar se ocorreu ataque, mas tambm que
tipo de ataque aconteceu. Para as simulaes neste trabalho, somente a primeira tarefa
atribuda aos classicadores, i.e. determinar a ocorrncia de ataque; trata-se portanto de
uma tarefa com duas classes. Para o experimento, o conjunto inicial foi diferenciado dos
demais, e possui 1.029 instncias, os demais conjuntos possuem 100 instncias e so apresentados sequncialmente de acordo com a ordem apresentada na base real. Este domnio
o maior utilizado neste trabalho, corresponde a uma situao real e um bom teste para
os algoritmos, principalmente no que diz respeito estabilidade e tempo de execuo. A
Figura 4.19 ilustra os resultados da classicao dos algoritmos para o domnio KDD99.
(a)

(b)

KAOGINC
OnlineTree2

100

Porcentagem de erro

100

Porcentagem de erro

KAOGINC
SEA

80
60
40

80
60
40

20

20

500

1000

1500

2000

2500

3000

500

(c)

(d)

KAOGINC
WCEA

1500

2000

2500

3000

2500

3000

KAOGINC
DWMNB

100

Porcentagem de erro

Porcentagem de erro

100
80
60
40
20

80
60
40
20

0
0

1000

Conjuntos de teste

Conjuntos de teste

0
500

1000

1500

2000

Conjuntos de teste

2500

3000

500

1000

1500

2000

Conjuntos de teste

Figura 4.19: Comparaes de desempenho entre os algoritmos KAOGINC e (a) OnlineTree2; (b) SEA; (c) WCEA e (d) DWM-NB para a base de dados reais KDD99. A seleo
de modelos resultou nos seguintes parmetros, KAOGINC = 18; SEA = 15; WCEA
= 28 e DWM-NB = 30.
Note que este apresenta diversas mudanas de conceito abruptas que, apesar de detectadas por todos os algoritmos testados, cada um reagiu de maneira diferente. Note
na Figura 4.19(a) que o algoritmo OnlineTree2 apresentou o pior resultado, observe que
o algoritmo apresentou diculdade aps vrias mudanas de conceito e errou todas as

RESULTADOS EXPERIMENTAIS

121

instncias do conjunto repetidas vezes durante vrias iteraes, demorando a retomar o


desempenho. O algoritmo OnlineTree2 no s apresentou o pior desempenho com relao
porcentagem de acertos, mas tambm foi o algoritmo mais demorado nas simulaes.
O algoritmo SEA tambm apresentou resultado insatisfatrio, o maior problema ocorreu
durante as mudanas de conceito, sendo que na maioria das vezes o algoritmo errou a
classe de todas as instncias do conjunto. Uma possvel explicao que tenha ocorrido
superadaptao durante as fases de conceito estvel, uma vez que o comit renovado
retirando o algoritmo que mais comete erro. Os algoritmos baseados em comit com peso
obtiveram melhor resultado, possivelmente pelo fato de evitarem superadaptao devido
ao uso de peso tambm no processo de retirada de classicadores do comit. O algoritmo
KAOGINC apresentou o melhor resultado dentre os algoritmos testados, mostrando ser
uma opo a considerar no processamento de uxo de dados.

4.5.11 Anlise estatstica


Esta seo apresenta a anlise dos resultados dos algoritmos incrementais nos 10
domnios apresentados nas Sees 4.5.1 - 4.5.10. Para a comparao dos resultados foi
usada a mdia de acertos ao longo do processamento do uxo de dados, i.e. mdia da
porcentagem de erro nos conjuntos de teste. Assim como na Seo 3.4.3, o mtodo de
anlise estatstica escolhido foi o teste de Friedman, descrito em detalhes por Demsar
(2006). O mtodo no depende de parmetros e equivalente ao mtodo ANOVA com
medidas repetidas. O passo inicial consiste em ordenar os melhores desempenho para
cada domnio de dados. Dessa forma, considere as mdias de acerto dos algoritmos para
os domnios considerados nesta comparao. Bem como a cada resultado atribudo a
posio do resultado em relao aos demais para cada domnio mostrado na Tabela 4.1. A
mdia das posies para cada algoritmo ser usada para a comparao entre os algoritmos
e apresentada ao nal da tabela.
O primeiro passo, no teste de Friedman, determinar se os resultados diferem da
hiptese nula. Rejeitar a hiptese nula importante pois garante que os algoritmos
diferem entre si, em relao ao desempenho. Originalmente, Friedman (Friedman, 1937),
(Friedman, 1940), props utilizar a distribuio 2 com um grau de liberdade (Na 1),
para negar a hiptese nula, como mostra a Equao (4.8).

Na (Na 1)2
12Nd

2F =
pj 2
Na (Na 1) j
4

(4.8)

Na qual Na corresponde ao nmero de algoritmos comparados, Nd ao nmero de


domnios usados na comparao e pj a mdia da posio do j-simo algoritmo. Entretanto,
Iman e Davenport (1980) mostraram que a distribuio usada por Friedman conservadora (Demsar, 2006), e propuseram utilizar a Equao (4.9), que distribuda de acordo

122

CLASSIFICAO INCREMENTAL USANDO O GRAFO K -ASSOCIADO TIMO

Tabela 4.1: Resultados da comparao entre o algoritmo proposto KAOGINC e os demais


algoritmos incrementais, considerando a mdia de acertos em conjuntos de teste ao longo
do tempo. A tabela tambm apresenta a posio de cada algoritmo em relao aos demais
para cada domnio no estacionrio.
Domnio

KAOGINC OnlineTree2

SEA

WCEA

DWM-NB

SEA

96,625 (1)

92,936 (5)

94,717 (4)

95,200 (2)

95,188 (3)

Hiperplano

84,429 (3)

72,285 (5)

84,793 (2)

79,048 (4)

93,816 (1)

Crculos

96,438 (1)

92,039 (2)

91,340 (3)

88,549 (5)

89,577 (4)

Seno

92,531 (1)

55,436 (5)

84,924 (3)

86,441 (2)

81,469 (4)

Gaussianas

83,337 (2)

62,687 (5)

82,035 (4)

83,124 (3)

88,301 (1)

Misto

93,951 (2)

53,287 (5)

82,421 (4)

94,674 (1)

88,524 (3)

Elec2

62,204 (2)

59,517 (3)

62,282 (1)

50,077 (5)

55,472 (4)

Poker hand

52,462 (1)

43,325 (4)

47,458 (3)

42,266 (5)

48,875 (2)

Spambase

82,371 (4)

80,248 (5)

85,468 (1)

84,437 (3)

84,677 (2)

KDD99

97,493 (1)

49,315 (5)

94,288 (4)

97,389 (2)

96,671 (3)

1,8

4,4

2,9

3,2

2,7

Mdia das
posies

com a distribuio F e apresenta dois graus de liberdades, (Na 1) e (Na 1) (Nd 1).
FF =

(Nd 1)2F
Nd (Na 1) 2F

(4.9)

O teste de Friedman utiliza a distribuio F para rejeitar a hiptese nula, calculada


para os dois graus de liberdade (Na 1) e (Na 1) (Nd 1), que no experimento
corresponde ao valor da funo F (4, 36) = 2, 63, para grau de conana = 0, 05. Dessa
forma, qualquer valor para FF maior que F (4, 36) = 2, 63, rejeita a hiptese nula. Para o
estudo de caso em questo, 2F = 14, 16, e este ser usado no clculo da estimativa FF de
acordo com a Equao 4.9; como Na = 5 e Nd = 10, FF 4, 93, o que rejeita a hiptese
nula. Portanto, at agora pode-se dizer que os algoritmos no so equivalentes.
Uma vez rejeitada a hiptese nula, prossegue-se com um teste post-hoc. Novamente
como na Seo 3.4.3 o teste escolhido o teste de Bonferroni-Dunn, que indicado para a
validao de um algoritmo controle, no caso o KAOGINC. Segundo o teste de BonferroniDunn, se a diferena entre as mdias das posies entre o algoritmo controle e algum
outro algoritmo, for maior que a diferena crtica; o algoritmo que tiver menor media
considerado superior. A diferena crtica pode ser calculada como mostra a Equao
(4.10).

DC = q

Na (Na + 1)
6Nd

(4.10)

Na qual q corresponde ao um valor crtico para o teste de Bonferroni-Dunn, deter-

RESULTADOS EXPERIMENTAIS

123

minado pelo nmero de classicadores e pelo grau de conana, para o caso em questo
q0,05 = 2, 498. Para o estudo de caso em questo, com = 0, 05, a diferena crtica
DC 1, 44. As diferenas entre as medias das posies entre o algoritmo KAOGINC e
os demais correspondem a, OnlineTree2: 4, 4 1.8 = 2, 6 > 1, 44; SEA: 2, 9 1, 8 = 1, 1 <
1, 44; WCEA: 3, 2 1, 8 = 1, 4 < 1, 44; DWM-NB: 2, 7 1, 8 = 0, 9 < 1, 44.
De acordo com esses resultados, pode-se dizer que o algoritmo proposto KAOGINC
foi signicativamente melhor que o algoritmo OnlineTree2. J com relao aos demais,
a concluso estatstica que os dados no foram sucientes para diferenciar o algoritmo
KAOGINC dos algortimos testados quanto ao desempenho. Note que, a diferena entre o
algoritmo KAOGINC e o WCEA bastante prxima diferena crtica, para = 0, 05.
J se o grau de conana for considerado = 0, 1; o valor para a diferena crtica
DC 1, 29. Aumentando o grau de conana, diminui a certeza no resultado (de 95
para 90%), o que relaxa a diferena entre os algoritmos. Portanto para = 0, 1, tem-se
que o algoritmo KAOGINC estatisticamente superior que os algoritmos OnlineTree2 e
WCEA.
Como mostrado na anlise estatstica, o algoritmo proposto foi melhor que dois dos
quatro algoritmos usados como na comparao, o algoritmo OnlineTree2 e o WCEA. Com
relao aos demais, SEA e DWM-NB, no foi possvel diferencia-los estatisticamente, no
entanto, o algoritmo KAOGINC obteve a melhor mdia de posies entre os algoritmos. Em vista desses resultados, pode-se dizer que, quando considerados os domnios
em questo sob as condies testadas, i.e. dados apresentados em conjuntos, o algoritmo
KAOGINC considerado a melhor opo entre os algoritmos testados.
Em relao aos desempenhos dos demais algoritmos nos testes realizados, concluise que, o algoritmo OnlineTree2 foi o pior dos algoritmos testados, devido ao fato da
demora na atualizao da sua nica rvore de deciso. O algoritmo mostrou-se bom
para domnios que apresentam mudana de conceito gradual, no entanto, sob mudana
de conceito abrupta, o mesmo leva muitas iteraes para atualizar toda a rvore, o que
impacta negativamente no desempenho do algoritmo. Outra desvantagem est relacionada
ao tamanho do uxo de dados, uma vez que este foi o algoritmo mais lento entre os
testados. O algoritmo WCEA, apesar de no ter apresentado bons resultados em todos
os domnios, mostrou-se bastante estvel quanto ao desempenho em diversos domnios. O
principal problema est relacionado ao tempo de execuo, pois a atualizao do algoritmo
envolve validao cruzada. Fato que tambm impede que o algoritmo seja usado para
processar dados em tempo real.
O algoritmo DWM-NB apresentou timos resultados e cou em segundo na comparao. O ponto forte do algoritmo a falta de restrio quanto ao tamanho do comit,
uma vez que, dessa forma, possvel armazenar mais conceitos. A maneira em que o
algoritmo pondera os classicadores base no comit impede que classicadores treinados
em conceitos antigos interram negativamente na classicao. No entanto o ponto forte
do algoritmo tambm pode ser um problema para seu desempenho, pois como o algo-

124

CLASSIFICAO INCREMENTAL USANDO O GRAFO K -ASSOCIADO TIMO

ritmo treina um novo classicador cada vez que o comit comete um erro, pode acontecer
que muitos classicadores sejam criados - o que pode ocasionar perda de desempenho e
problemas de utilizao de memria, principalmente em dados ruidosos. Por ltimo, o
algoritmo SEA o mais simples dos algoritmos testados, consiste simplesmente em um
comit de classicares resolvido por simples votao. A simplicidade, no entanto, resulta
em bom desempenho de tempo, apresentou o menor tempo de execuo dentre os algoritmos testados. No geral, o algoritmo bastante robusto e considerado padro como
comparativo nos testes de algoritmos incrementais. Um dos pontos fracos a demora na
retomada de desempenho quando ocorre mudana de conceito brusca. Em casos que o
comit precisa ser totalmente atualizado, o nmero de iteraes necessrias se equivale
metade do nmero de classicadores no comit, uma vez que este resolvido por votao
simples.
Como concluso geral, todos os algoritmos testados podem ser considerados no processamento de uxo de dados, dado a restrio de cada um. Apesar de relativamente
poucos domnios terem sido considerado para a realizao dos testes, algoritmo proposto
provou-se uma alternativa a ser considerado na classicao incremental de uxo de dados.

Captulo

5
Concluses

Este trabalho abordou a classicao de dados utilizando grafos em dois contextos


diferentes, a saber, dados com distribuio estacionria, i.e. onde a distribuio dos
dados no se altera ao longo do tempo; e classicao de dados com distribuio no
estacionria, na qual a distribuio dos dados sofre alteraes ao longo do tempo. Em
vista destes problemas, dois algoritmos foram desenvolvidos, o algoritmo esttico, KAOG,
para situaes onde a distribuio no se altera, e a verso deste algoritmo que implementa
aprendizado incremental, nomeado KAOGINC, para as tarefas que apresentam mudana
de conceito. Ambos os algoritmos baseiam-se no grafo K-associado timo (ou principal) e
na medida de pureza para estabelecerem a probabilidade de pertinncia de um novo dado
aos vrios componentes do grafo e, dessa forma, atribuir a classe mais provvel. Apesar
disso, os algoritmos so independentes no que se refere aplicaes, considere inicialmente
a anlise do algoritmo esttico KAOG.
Como mostrado no Captulo 3, o algoritmo esttico, KAOG, baseia-se em um grafo
especial, chamado grafo K-associado timo. Este, por sua vez, formado selecionando-se
os melhores componentes, segundo a medida de pureza, dentre uma sequncia de grafos
K-associados; como somente so escolhidos os melhores componentes, o grafo resultante
timo em relao pureza. A medida de pureza, denida para componentes, parte
central do algoritmo, pois esta quantica o nvel de mistura local de cada componente. De
forma que, dado um exemplo a ser classicado, a pureza pode atuar como probabilidade
de conexo para cada componente. Sendo que, esta depois de normalizada, usada pelo
classicador como probabilidade a priori para estimar a classe de novos dados. Como
o grafo K-associado timo construdo com os componentes de maior pureza ao longo
de vrios grafos K-associados, os componentes no grafo timo, muito provavelmente, no
foram formados considerando o mesmo valor de K. Intuitivamente cada componente no
grafo timo o componente que melhor representa a regio do espao de dados formada
125

126

CONCLUSES

pelos dados que o compe. Portanto, lgico pensar que, assim como na classicao feita
pelo KNN, onde diferentes domnios de dados so melhores representados por diferentes
valores de K, de forma anloga, em um nico domnio plausvel que diferentes regies
do espao de dados sejam melhores representadas por valores diferentes de K. Esta propriedade do grafo K-associado timo, no s permite uma melhor representao do espao
de dados, mas resulta em um processo de treinamento que no utiliza parmetros. A independncia de parmetros signica que o algoritmo pode ser usado sem a necessidade de
seleo de modelos, o que em alguns casos pode ser um fator indesejado, uma vez que a
falta de variabilidade do algoritmo pode atrapalhar seu desempenho em alguns domnios.
No entanto, considerando o algoritmo proposto, os resultados obtidos experimentalmente
mostraram que este se equivale a algoritmos paramtricos do estado-da-arte na classicao de dados. Este resultado, em particular, favorece o algoritmo proposto, novamente,
devido ao fato deste no possuir parmetros e no exigir seleo de modelos, o que o
torna uma escolha atrativa na prtica considerando problemas de classicao de dados
multiclasse.
O bom desempenho do classicador esttico, KAOG, em domnios de dados com distribuio estacionria, demonstrou o potencial da abordagem em lidar com problemas
de classicao, o que motivou o desenvolvimento da verso incremental. A verso incremental do algoritmo, basicamente, baseia-se na reestruturao do grafo utilizado pelo
classicador, chamado grafo principal, neste caso. Para que este possa ser utilizado em
domnios de dados com distribuio no estacionria, as atualizaes devem compreender
a insero de novos conhecimentos e a retirada de conhecimento antigo que no mais
usado. No caso do algoritmo incremental proposto, a classicao realizada por meio
do clculo da pertinncia de um novo padro aos componentes do grafo, de forma que
a insero e a remoo consideram as operaes adio e remoo de componentes no
grafo principal. medida que os conjuntos de dados rotulados so apresentados, o algoritmo KAOGINC, utiliza o algoritmo KAOG para a construo do grafo timo a partir
do conjunto de dados atual. Os componentes do grafo timo recm-construdo so ento
adicionados no grafo principal. A remoo considera duas abordagens, a poda e a regra
de no utilizao. A poda retira do grafo principal todo componente associado a erro e,
como mostrado na Seo 4.4, quando aplicada em conjunto com a regra de no utilizao,
o classicador apresenta melhores resultados. A regra de no utilizao, por sua vez,
utiliza o parmetro para indicar o nmero de novos exemplos classicados para os quais
qualquer componente pode permanecer sem que seja utilizado. Como visto na Seo 4.4,
este parmetro apresenta uma faixa de valores onde o desempenho melhora, sendo esta
dependente do domnio em questo. A Seo 4.5 apresentou os resultados experimentais
entre o algoritmo proposto e quatro algoritmos atuais. Os resultados foram favorveis
ao algoritmo proposto, uma vez que este foi melhor, em relao mdia do erro, entre
os demais algoritmos. De fato, o teste estatstico mostrou que o algoritmo KAOGINC
superior a dois dos quatro algoritmos testados e, com relao aos demais, o nmero de

PRINCIPAIS CONCLUSES E CONTRIBUIES DO TRABALHO

127

domnios no foi suciente para diferenci-los.


Como concluso geral pode-se dizer que este trabalho mostrou que o uso de grafos
merece ser mais explorado no aprendizado supervisionado. Ambos os algoritmos propostos apresentaram timo desempenho nas tarefas a que foram aplicados. Em especial,
o algoritmo esttico KAOG, apresentou resultados comparados a algoritmos considerados clssicos na classicao multiclasse, o que no tarefa trivial para um classicador.
Ressaltando o fato que o algoritmo no possui parmetros, e dessa forma, evita a fase
de seleo de modelo em aplicaes prticas. Com relao ao algoritmo incremental,
KAOGINC, os resultados obtidos foram mais promissores, apesar de testado em poucos
conjuntos de dados, ainda assim o algoritmo apresentou o melhor resultado dentre os algoritmos testados. Os resultados experimentais, juntamente com as anlises estatsticas,
justicam a pesquisa futura e a aplicao dos algoritmos em outros domnios de dados.

5.1 Principais concluses e contribuies do trabalho


Com base nos resultados de classicao obtidos utilizando os algoritmos propostos
neste trabalho, podem-se estabelecer as seguintes concluses:
A abstrao de conjuntos de dados como grafos consiste em uma poderosa forma
de representao de dados. Este tipo de estrutura carrega informaes no s de
vizinhos mais prximos, mas tambm informaes de vrtices em outros nveis de
vizinhana. Alm disso, permite modelar os dados de modo a evidenciar as estruturas presentes na distribuio dos dados, como agrupamentos ou reas esparsas de
dados.
Mtodos baseados em grafos so extensamente considerados em aplicaes de aprendizado de mquina, como no agrupamento de dados e na classicao semissupervisionada - principalmente na transduo. Mtodos supervisionados tm sido muito
pouco pesquisados sob a abordagem de grafos na literatura. Este trabalho props
dois mtodos para solucionar problemas de classicao, em especial para dados
vetoriais, com distribuio estacionria e no estacionria. O uso deste tipo de representao mostrou-se apropriado para ser usado em aplicaes de classicao de
dados. Por meio das anlises ao longo do texto, nota-se que algoritmos de classicao baseado em grafos tm varias vantagens e, portanto promissora.
A medida de pureza tem como principal objetivo quanticar a mistura nos dados
de um componente. No entanto, esta tambm pode ser usada para caracterizar
classes de um conjunto de treinamento. A caracterizao da estrutura de uma
determinada classe, como distribuio, nvel de mistura com outras classes, formato,
entre outras, importante no somente no domnio de classicao, mas tambm
em outras aplicaes como na visualizao de dados (Khler et al., 2006). De forma
que, a medida de pureza descrita neste trabalho um passo nesta direo.

128

CONCLUSES

Como visto no Captulo 4, o classicador incremental baseado no grafo timo obteve


excelentes resultados na classicao de dados no estacionrios. Este fato mostra
que o uso de grafos no s possibilita bom desempenho na classicao de dados com
distribuio estacionria, mas tambm consiste em uma forma de representao que
permite atualizao rpida atualizao do grafo e dos conceitos e consequentemente,
na retomada de desempenho.
Redes complexas constitui uma rea de pesquisa extensamente estudada nos ltimos
anos. Porm, a maioria dos resultados focalizam a anlise estrutural ou aspectos
dinmicos de redes j existente ou articialmente construdas. De forma que, pouca
ateno tem sido dada transformao de outro tipo de dados para redes. Este
trabalho uma tentativa nesta direo, contribuindo, desta forma, com a pesquisa
em redes complexas.
Em vista do desenvolvimento das duas abordagens para classicao de dados com
diferentes distribuies, bem como, dos resultados obtidos, as principais contribuies do
trabalho foram:
Contribuir com a rea de pesquisa de mtodos de classicao basedos em grafos.
Proposta de uma nova tcnica de formao do grafo, a partir de um conjunto de
dados vetoriais, facilitando a anlise de dados.
Aprofundamento de anlise da medida de pureza, usada para quanticar o nvel de
sobreposio entre diferentes classes.
Desenvolvimento de um mtodo no paramtrico para classicao de dados multiclasse.
Desenvolvimento de um algoritmo de aprendizado incremental;

5.2 Sugestes para pesquisas futuras


Como este trabalho apresentou dois tipos de classicadores, pode-se elencar algumas
sugestes de pesquisa referente a cada um deles.
Classicador esttico: Algumas sugestes de pesquisa referente ao algoritmo de aprendizado, KAOG, so:
Utilizar diferentes medidas de similaridade, bem como, medidas que permitam ao
classicador KAOG lidar com atributos nominais.
Modicar o algoritmo para que possa se aplicado na classicao de dados relacionais.

SUGESTES PARA PESQUISAS FUTURAS

129

Derivar variaes para a medida de pureza, por exemplo considerar duas camadas
de vizinhos para cada vrtice, ou considerar pesos no clculo, etc.
Utilizar outras maneiras de construir o grafo, por exemplo, usar a laplaciana da
matriz de adjacncia na construo do grafo otimo.
Desenvolver um algoritmo que utilize a pureza, ou alguma variao desta, para
aprender tambm com dados no rotulados.
Classicador incremental: As sugestes de pesquisa futura para o algoritmo incremental
devem incluir:
Aprendizado em tempo real, no qual o classicador precisa processar (incorporar
conhecimento ou classicar) um nico dado assim que este apresentado. O classicador atual, quando de posse de nico dado rotulado, o insere como um componente
isolado. Pesquisas futuras devero considerar adicion-lo em componentes j existentes, recalculado a pureza e atualizando os parmetros.
Desenvolvimento de soluo para diminuir o tempo exigido pela poda em situaes
reais. Detectar a mudana de conceito e ativar o mecanismo de poda, desativando-o
quando o classicador retomar nveis aceitveis de desempenho.
Aplicao de algoritmos avanados que possam diminuir o tempo de processamento
do algortimo KAOGINC, como algoritmos para determinar os vizinhos mais prximos com ordem de complexidade menor.
Desenvolvimento de um algoritmo capaz de incluir conhecimentos provindos de dados rotulados e no rotulados no contexto de classicao em tempo real. Apenas
recentemente mtodos para tratar uxo de dados sob a perspectiva do aprendizado
semissupervisionado, tm sido propostos. Entretanto, esse mtodos, em sua maioria, consistem em aplicaes para algum problema especco, como classicao de
trafego (Erman et al., 2007) e deteco de intrusos (Yu et al., 2008) em redes de
computadores.

130

CONCLUSES

Referncias Bibliogrcas

Aha et al.(1991) D. Aha, D. Kibler, e M. Albert. Instance-based learning algorithms.


Machine Learning, 6:3766. Citado na pg. 45
Albert e Barabsi(2002) R. Albert e A.-L. Barabsi. Statistical mechanics of complex
networks. Review of Modern Physics, 74:4797. Citado na pg. 2, 15
Allen e Mills(2004) R. Allen e D. Mills. Signal Analysis : Time, Frequency, Scale, and
Structure. IEEE Press, 1 o edio. Citado na pg. 117
Allwein et al.(2000) E. Allwein, R. Schapire, e Y. Singer. Reducing multiclass to binary :
a unifying approach for margin classiers. Journal of Machine Learning Research, 1:
113141. Citado na pg. 26
Angiulli e Pizzuti(2005) F. Angiulli e C. Pizzuti. Outlier mining in large highdimensional data sets. IEEE Transactions on Knowledge and Data Engineering, 17:
203215. Citado na pg. 23
Asuncion e Newman(2007) A. Asuncion e D. Newman. UCI machine learning repository. University of California, Irvine, School of Information and Computer Sciences,
2007. http://www.ics.uci.edu/mlearn/MLRepository.html. Citado na pg. 56, 73, 78, 106
Belkin e Niyogi(2003) M. Belkin e P. Niyogi. Laplacian eigenmaps for dimensionality
reduction and data representation. Neural Computation, 15:13731396. Citado na pg. 1,
18
Belkin e Niyogi(2004) M. Belkin e P. Niyogi. Semi-supervised learning on manifolds.
Machine Learning, 56:209239. Citado na pg. 3, 18
Belkin et al.(2004) M. Belkin, I. Matveeva, e P. Niyogi. Regularization and semisupervised learning on large graphs. Em Proceedings of the Conference on Computational Learning Theory, volume 8, pginas 624638. Citado na pg. 19
Belkin et al.(2005) M. Belkin, P. Niyogi, e V. Sindhwani. On manifold regularization.
Em Proceedings of the International Workshop on Articial Intelligence and Statistics,
pginas 1724. Citado na pg. 19
Belkin et al.(2006) M. Belkin, P. Niyogi, e V. Sindhwani. Manifold regularization :
a geometric framework for learning from labeled and unlabeled examples. Journal of
Machine Learning Research, 1:148. Citado na pg. 21
131

132

REFERNCIAS BIBLIOGRFICAS

Bertini Jr. et al.(2011a) J. Bertini Jr., L. Zhao, e A. Lopes. A graph-based algorithm for
non-stationary multi-class classication. em submisso Pattern Recognition Letters.
Citado na pg. 85
Bertini Jr. et al.(2011b) J. Bertini Jr., L. Zhao, R. Motta, e A. Lopes. A graph-based
algorithm for multi-class classication. verso revisada em submisso Information
Sciences. Citado na pg. 55
Bishop(2006) C. Bishop. Pattern recognition and machine learning. Springer.
pg. 22

Citado na

Blatt et al.(1973) M. Blatt, S. Wiseman, e E. Donamy. Information theory and an


extension of the maximum likelihood principle. Em Proceedings of the International
Symposium on Information Theory, pginas 267281. Citado na pg. 27
Blatt et al.(1996) M. Blatt, S. Wiseman, e E. Donamy. Clustering data through an
analogy to the potts model. Em Advances in Neural Information Processing System,
volume 8, pginas 416422. Citado na pg. 17
Boccaletti et al.(2002) S. Boccaletti, J. Kurths, G. Osipov, D. Valladares, e C. Zhou.
The synchronization of chaotic systems. Physics Reports, 366:1101. Citado na pg. 16
Boccaletti et al.(2007) S. Boccaletti, M. Ivanchenko, V. Latora, A. Pluchino, e A. Rapisarda. Detecting complex network modularity by dynamical clustering. Physical Review
E, 75:14. Citado na pg. 16
Boley et al.(1999) D. Boley, M. Gini, R. Gross, E.-H. Han, G. Karypis, V. Kumar,
B. Mobasher, J. Moore, e K. Hastings. Partitioning-based clustering for web document
categorization. Decision Support Systems, 27:329341. Citado na pg. 14
Bollobs(1998) B. Bollobs. Modern graph theory. Springer, 1o edio.

Citado na pg.

Braga-Neto e Dougherty(2004) U. Braga-Neto e E. Dougherty. Is cross-validation


valid for small-sample microarray classication? Bioinformatics, 20:374380. Citado na
pg. 30
Breiman(1996) L. Breiman. Stacked regressions. Machine Learning, 24:4964.
pg. 25

Citado na

Breiman et al.(1984) L. Breiman, J. Friedman, R. Olshen, e C. Stone. Classication


and Regression Trees. Chapman and Hall, 1o edio. Citado na pg. 28, 35
Brodley e Friedl(1996) C. Brodley e M. Friedl. Identifying and eliminating mislabeled
training instances. Em Proceedings of the National American Conference on Articial
Intelligence, pginas 799805. Citado na pg. 23
Callut et al.(2008) J. Callut, K. Franoisse, M. Saerens, e P. Dupont. Semi-supervised
classication from discriminative random walks. Em Lecture Notes on Articial Inteligence, volume 5211, pginas 162177. Springer-Verlag. Citado na pg. 18
Capoccia et al.(2005) A. Capoccia, V. Servedioa, G. Caldarellia, e F. Colaiorib. Detecting communities in large networks. Physica A, 352:669676. Citado na pg. 2
Chakrabarti et al.(1998) S. Chakrabarti, B. Dom, e P. Indyk. Enhanced hypertext
categorization using hyperlinks. Em Proceedings of the International Conference on
Management of Data, pginas 307319. ACM Press. Citado na pg. 21

REFERNCIAS BIBLIOGRFICAS

133

Chapelle et al.(2006) O. Chapelle, A. Zien, B. Schlkopf, e (Eds.). Semi-supervised


Learning. MIT Press, 1o edio. Citado na pg. 1, 3, 18, 20
Chen et al.(2009a) H. Chen, L. Li, e J. Peng. Error bounds of multi-graph regularized
semi-supervised classication. Information Sciences, 179:19601969. Citado na pg. 3, 21
Chen et al.(2009b) J. Chen, H. Fang, e Y. Saad. Fast approximate knn graph construction for high dimensional data via recursive lanczos bisection. Journal of Machine
Learning Research, 10:19892012. Citado na pg. 73
Clauset(2005) A. Clauset. Finding local community structure in networks. Physical
Review E, 72:16. Citado na pg. 15
Cogger(2010) K. Cogger. Nonlinear multiple regression methods : a survey and extensions. Intelligent Systems in Accounting, Finance & Management, 17:1939. Citado na
pg. 1
Cohen et al.(2008) L. Cohen, G. Avrahami-Bakish, M. Last, A. Kandel, e O. Kipersztok. Real-time data mining of non-stationary data streams from sensor networks.
Information Fusion, 9:344353. Citado na pg. 4
Cormen et al.(2009) T. Cormen, C. Leiserson, R. Rivest, e C. Stein. Introduction to
Algorithms. MIT Press, 3o edio. Citado na pg. 71
Culp e Michailidis(2008) M. Culp e G. Michailidis. Graph-based semisupervised learning. IEEE Transactions on Pattern Analysis and Machine Intelligence, 30:174179.
Citado na pg. 3, 18
Danon et al.(2005) L. Danon, J. Duch, A. Arenas, e A. Daz-Guilera. Comparing
community structure identication. Journal of Statistical Mechanics: Theory and Experiment, P09008:110. Citado na pg. 16
Delalleau et al.(2005) O. Delalleau, Y. Bengio, e N. Roux. Ecient non-parametric
function induction in semi-supervised learning. Em Proceedings of the International
Workshop on Articial Intelligence and Statistics, pginas 96103. Citado na pg. 3, 20
Dem
sar(2006) J. Demsar. Statistical comparisons of classiers over multiple data sets.
Journal of Machine Learning Research, 7:130. Citado na pg. 81, 121
Diestel(2006) R. Diestel. Graph theory. Springer, 3o edio.

Citado na pg.

Domingos e Hulten(2000) P. Domingos e G. Hulten. Mining high-speed data stream.


Em Proceedings of the International Conference on Knowledge Discovery and Data
Mining, pginas 7180. ACM N.Y. Citado na pg. 45
Dorogovtsev e Mendes(2003) S. Dorogovtsev e J. Mendes. Evolution of Networks :
From Biological Nets to the Internet and WWW. Oxford University Press, 1o edio.
Citado na pg. 2
Duda et al.(2001) R. Duda, P. Hart, e D. Stork. Pattern Classication. John Wiley &
Sons, Inc, 2o edio. Citado na pg. 1, 22, 24, 32
Efron(1983) B. Efron. Estimating the error rate of a prediction rule : improvement on
cross-validation. Journal of the American Statistical Association, 78:316331. Citado na
pg. 28

134

REFERNCIAS BIBLIOGRFICAS

Efron e Tibshirani(1997) B. Efron e R. Tibshirani. Improvements on cross-validation :


the .632+ bootstrap method. Journal of the American Statistical Association, 92:548
560. Citado na pg. 28, 30
Elio e Watanabe(1991) R. Elio e L. Watanabe. An incremental deductive strategy
for controlling constructive induction in learning from examples. Machine Learning, 7:
744. Citado na pg. 45
Erman et al.(2007) J. Erman, A. Mahanti, M. Arlitt, I. Cohen, e C. Williamson. Ofine/realtime trac classication using semi-supervised learning. Performance Evaluation, 64:11941213. Citado na pg. 129
Esposito et al.(1997) F. Esposito, D. Malerba, e G. Semeraro. A comparative analysis
of methods for pruning decision trees. IEEE Transactions on Pattern Analysis and
Machine Intelligence, 19:476491. Citado na pg. 51
Fan(2004) W. Fan. Systematic data selection to mine concept-drifting data streams. Em
Proceedings of the International Conference on Knowledge Discovery and Data Mining,
pginas 128137. ACM Press. Citado na pg. 108
Fern e Givan(2003) A. Fern e R. Givan. Online ensemble learning : an empirical study.
Machine Learning, 53:71109. Citado na pg. 25
Figueira et al.(2006) L. Figueira, L. Palma Neto, J. Bertini Jr., e M. Nicoletti. Using
constructive neural networks for detecting central vestibular system lesion. Applied
Articial Intelligence, 20:609638. Citado na pg. 37
Filippone et al.(2008) M. Filippone, F. Camastra, F. Masulli, e S. Rovetta. A survey
of kernel and spectral methods for clustering. Pattern Recognition, 41:176190. Citado na
pg. 18
Filzmoser et al.(2009) P. Filzmoser, B. Liebmann, e K. Varmuza. Repeated double
cross validation. Journal of Chemometrics, 23:160171. Citado na pg. 30, 78
Franco et al.(2009) L. Franco, D. Elizondo, e J. Jerez (Eds.). Constructive Neural
Networks. Springer, 1o edio. Citado na pg. 37
Friedman(1937) M. Friedman. The use of ranks to avoid the assumption of normality
implicit in the analysis of variance. Journal of the American Statistical Association, 32:
675701. Citado na pg. 121
Friedman(1940) M. Friedman. A comparison of alternative test of signicance for the
problem of m rankings. Annals of Mathematical Statistics, 11:8692. Citado na pg. 121
Fu e Anderson(1986) Y. Fu e P. Anderson. Application of statistical mechanics to npcomplete problems in combinatorial optimization. Journal of Physics A: Mathematical
and General, 19:16051620. Citado na pg. 17
Gama et al.(2003) J. Gama, R. Rocha, e P. Medas. Accurate decision trees for mining
high-speed data streams. Em Proceedings of the International Conference on Knowledge
Discovery and Data Mining, pginas 523528. ACM Press. Citado na pg. 45
Gama et al.(2004) J. Gama, P. Medas, G. Castillo, e P. Rodrigues. Learning with
drift detection. Em Proceedings of the Brazilian Symposium on Articial Intelligence,
volume 3171, pginas 286295. Springer. Citado na pg. 106, 115

REFERNCIAS BIBLIOGRFICAS

135

Gehrke et al.(1999) J. Gehrke, V. Ganti, R. Ramakrishnan, e W.-Y. Loh. BOAT :


optimistic decision tree construction. Em Proceedings of the International Conference
on Management of Data, pginas 169180. Citado na pg. 35
Gehrke et al.(2000) J. Gehrke, R. Ramakrishnan, e V. Ganti. Rainforest - a framework for fast decision tree construction of large datasets. Data Mining and Knowledge
Discovery, 4:127162. Citado na pg. 35
Giordano et al.(2008) R.C. Giordano, J. Bertini Jr., M. Nicoletti, e R.L. Giordano.
Online ltering of co2 signals from a bioreactor gas outow using a committee of constructive neural networks. Bioprocess and Biosystems Engineering, 31:101109. Citado na
pg. 37
Giraud-Carrier(2000) C. Giraud-Carrier. A note on the utility of incremental learning.
AI Communications, 13:215223. Citado na pg. 4, 44, 86
Gross(2005) J. Gross. Graph theory and its applications. Chapman and Hall/CRC,
2o edio. Citado na pg. 9
Guha et al.(1998) S. Guha, R. Rastogi, e K. Shim. CURE : an ecient clustering
algorithm for large databases. Em Proceedings of the International Conference on
Management of Data, pginas 7384. Citado na pg. 15
Guyon e Elissee(2003) I. Guyon e A. Elissee. An introduction to variable and feature
selection. Journal of Machine Learning Research, 3:11571182. Citado na pg. 23
Han e Kamber(2006) J. Han e M. Kamber. Data Mining : Concepts and Techniques.
Morgan Kaufmann, 2o edio. Citado na pg. 1
Harries(1999) M. Harries. Splice-2 comparative evaluation : electriciy pricing. Relatrio
Tcnico UNSW-CSE-TR-9905, Articial Intelligence Group, School of Computer Science and Engineering, The University of South Wales, Australia. Citado na pg. 115
Hartuv e Shamir(2000) E. Hartuv e R. Shamir. A clustering algorithm based on graph
connectivity. Information Processing Letters, 76:175181. Citado na pg. 2
Hastie et al.(2009) T. Hastie, R. Tibshirani, e J. Friedman. The Elements of Statistical
Learning : Data Mining, Inference and Prediction. Springer-Verlag, 2o edio. Citado na
pg. 1, 3, 20, 27, 29, 33, 34, 64, 78
Haykin(2008) S. Haykin. Neural Networks and Learning Machines. Prentice Hall,
3o edio. Citado na pg. 37
Hein et al.(2007) M. Hein, J-Y. Audibert, e U. von Luxburg. Graph laplacians and their
convergence on random neighborhood graphs. Journal of Machine Learning Research,
8:13251368. Citado na pg. 2, 18
Helmbold e Long(1994) D. Helmbold e P. Long. Tracking drifting concepts by minimizing disagreements. Machine Learning, 14:2745. Citado na pg. 4
Hernandez-Rodriguez et al.(2010) S. Hernandez-Rodriguez, J. Martinez-Trinidad, e
J. Carrasco-Ochoa. Fast k most similar neighbor classier for mixed data (tree k-msn).
Pattern Recognition, 43:873886. Citado na pg. 73

136

REFERNCIAS BIBLIOGRFICAS

Hettich e Bay(1999) S. Hettich e S. Bay. The UCI KDD archive. University of California, Irvine, School of Information and Computer Sciences, 1999.
http://kdd.ics.uci.edu/. Citado na pg. 106
Hodge e Austin(2004) V. Hodge e J. Austin. A survey of outlier detection methodologies. Articial Intelligence Review, 22:85126. Citado na pg. 60
Hruschka et al.(2009) E. Hruschka, A. Garcia, E. Hruschka Jr, e N. Ebecken. On the
inuence of imputation in classication : practical issues. Journal of Experimental &
Theoretical Articial Intelligence, 21:4358. Citado na pg. 23
Hsu e Lin(2002) C-W. Hsu e C-J. Lin. A comparison of methods for multiclass support
vector machines. IEEE Transactions on Neural Networks, 13:415425. Citado na pg. 26,
78, 79
Hu et al.(2005) H. Hu, X. Yan, Y. Huang, J. Han, e X. Zhou. Mining coherent dense
subgraphs across massive biological networks od functional discovery. Bioinformatics,
1:213221. Citado na pg. 2
Hulten et al.(2001) G. Hulten, L. Spencer, e P. Domingos. Mining time-changing data
streams. Em Proceedings of the International Conference on Knowledge Discovery and
Data Mining, pginas 97106. ACM Press. Citado na pg. 106, 108
Iman e Davenport(1980) R. Iman e J. Davenport. Approximations of the critical
region of the Friedman statistic. Communications in Statistics, 9:571595. Citado na pg.
121
Jain e Dubes(1998) A. Jain e R. Dubes. Algorithms for clustering data. Prentice Hall,
1o edio. Citado na pg. 14
Jain et al.(1999) A. Jain, M. Murty, e P. Flynn. Data clustering : a review. ACM
Computing Surveys, 31:264323. Citado na pg. 1, 13
Jank e Shmueli(2005) W. Jank e G. Shmueli. Proling price dynamics in online
auctions using curve clustering. Relatrio tcnico, Smith School of Business, University
of Maryland. Citado na pg. 14
Jiang et al.(2004) D. Jiang, C. Tang, e A. Zhang. Cluster analysis for gene expression
data : a survey. IEEE Transactions on Knowledge and Data Engineering, 16:13701386.
Citado na pg. 14
Joachims(2003) T. Joachims. Transductive learning via spectral graph partitioning. Em
Proceedings of the International Conference on Machine Learning), pginas 290297.
Citado na pg. 19
Kannan et al.(2004) R. Kannan, S. Vempala, e A. Vetta. On clusterings - good, bad
and spectral. Journal of the ACM, 51:497515. Citado na pg. 2
Karypis et al.(1999) G. Karypis, E.-H. Han, e V. Kumar. Chameleon : hierarchical
clustering using dynamic modeling. IEEE Computer, 32:6875. Citado na pg. 2, 14, 15
Kelly et al.(1999) M. Kelly, D. Hand, e N. Adams. The impact of changing populations
on classier performance. Em Proceedings of the International Conference on Knowledge
Discovery and Data Mining, pginas 367371. ACM N.Y. Citado na pg. 42

REFERNCIAS BIBLIOGRFICAS

137

Kim(2009) J-H. Kim. Estimating classication error rate : repeated cross-validation,


repeated hold-out and bootstrap. Computational Statistics and Data Analysis, 53:
37353745. Citado na pg. 29, 30
Klinkenberg e Joachims(2000) R. Klinkenberg e T. Joachims. Detecting concept
drift with suport vector machines. Em Proceedings of the International Conference on
Machine Learning, pginas 487494. Morgan Kaufmann. Citado na pg. 43
Khler et al.(2006) J. Khler, J. Baumbach, J. Taubert, M. Specht, A. Skusa, A. Regg,
C. Rawlings, P. Verrier, e S. Philippi. Graph-based analysis and visualization of experimental results with ONDEX. Bioinformatics, 22:13831390. Citado na pg. 127
Kohonen(1989) T. Kohonen. Self-Organization and Associative Memory. Springer,
3o edio. Citado na pg. 34
Kolter e Maloof(2007) J. Kolter e M. Maloof. Dynamic weighted majority : an ensemble method for drifting concepts. Journal of Machine Learning Research, 8:27552790.
Citado na pg. 48, 106
Krishnapuram et al.(2005) B. Krishnapuram, D. Williams, Y. Xue, A. Hartemink,
L. Carin, e M. Figueiredo. On semi-supervised classication. Em Advances in Neural
Information Processing System, volume 17, pginas 721728. Citado na pg. 20
Kubat e Krizakova(1992) M. Kubat e I. Krizakova. Forgetting and aging of knowledge
in concept formation. Applied Articial Intelligence, 6:195206. Citado na pg. 45
Kulis et al.(2009) B. Kulis, S. Basu, I. Dhillon, e R. Mooney. Semi-supervised graph
clustering : a kernel approach. Machine Learning, 74:122. Citado na pg. 2
Lahnajrvi et al.(2002) J. Lahnajrvi, M. Lehtokangas, e J. Saarinen. Evaluation of
constructive neural networks with cascaded architectures. Neurocomputing, 48:573607.
Citado na pg. 37
Lane e Brodley(1998) T. Lane e C. Brodley. Approaches to online learning and concept
drift for user identication in computer security. Em Proceedings of the International
Conference on Knowledge Discovery and Data Mining, pginas 259263. Citado na pg. 44
Last(2002) M. Last. Online classication of nonstationary data streams. Intelligent
Data Analysis, 6:129 147. Citado na pg. 4, 44
Li e Tian(2007) X. Li e Z. Tian. Optimum cut-based clustering. Signal Processing, 87:
24912502. Citado na pg. 14
Liu e Yu(2005) H. Liu e L. Yu. Toward integrating feature selection algorithms for
classication and clustering. IEEE Transactions on Knowledge and Data Engineering,
17:491502. Citado na pg. 23
Liu et al.(2002) X. Liu, G. Cheng, e J. Wu. Analysing outliers cautiously. IEEE
Transactions on Knowledge and Data Engineering, 14:432437. Citado na pg. 23
Lloyd(1982) S. Lloyd. Least squares quantization in pcm. IEEE Transactions on Information Theory, 28:128137. Citado na pg. 34

138

REFERNCIAS BIBLIOGRFICAS

Lopes et al.(2009) A. Lopes, J. Bertini Jr., R. Motta, e L. Zhao. Classication based


on the optimal k-associated network. Em Proceedings of the International Conference
on Complex Sciences : Theory and Applications (COMPLEX09), volume 4 of Lecture
Notes of the Institute for Computer Sciences, Social-Informatics and Telecommunications Engineering, pginas 11671177. Springer. Citado na pg. 55
Lu e Getoor(2003) Q. Lu e L. Getoor. Link-based classication. Em Proceedings of the
International Conference on Machine Learning, pginas 496503. Citado na pg. 21
MacQueen(1967) J. MacQueen. Some methods for classifcation and analysis of multivariate observations. Em Proceedings of the Berkeley Symposium on Mathematical
Statistics and Probability, volume 1, pginas 281297. University of California Press.
Citado na pg. 14, 34, 53
Macskassy e Provost(2003) S. Macskassy e F. Provost. A simple relational classier.
Em Proceedings of the International Conference on Knowledge Discovery and Data
Mining, Workshop on Multi-Relational Data Mining, pginas 6476. Citado na pg. 21
Macskassy e Provost(2007) S. Macskassy e F. Provost. Classication in networked
data : a toolkit and a univariate case study. Journal of Machine Learning Research, 8:
935983. Citado na pg. 21
Madigan e Raftery(1994) D. Madigan e A. Raftery. Model selection and accounting for model uncertainty using occams window. Journal of the American Statistical
Association, 89:3546. Citado na pg. 27
Maloof e Michalski(2000) M. Maloof e R. Michalski. Selecting examples for partial
memory learning. Machine Learning, 41:2752. Citado na pg. 45
Maloof e Michalski(2004) M. Maloof e R. Michalski. Incremental learning with partial
instance memory. Articial Intelligence, 154:95126. Citado na pg. 45, 46
Markovitch e Rosenstein(2002) S. Markovitch e D. Rosenstein. Feature generation
using general constructor functions. Machine Learning, 49:5998. Citado na pg. 23
Martnes e Kak(2001) A. Martnes e A. Kak. Pca versus lda. IEEE Transactions on
Pattern Analysis and Machine Intelligence, 23:228233. Citado na pg. 23
Michie et al.(1994) D. Michie, D. Spiegelhalter, e C. Taylor (Eds.). Machine Learning,
Neural and Statistical Classifcation. Ellis Horwood Series in Articial Intelligence. Ellis
Horwood, 1o edio. Citado na pg. 33
Minku et al.(2010) L. Minku, A. White, e X. Yao. The impact of diversity on online
ensemble learning in the presence of concept drift. IEEE Transactions on Knowledge
and Data Engineering, 22:730742. Citado na pg. 43, 44
Mitchell(1997) T. Mitchell. Machine Learning. McGraw-Hill Series in Computer Science. McGraw-Hill, 1o edio. Citado na pg. 1, 22, 31, 35, 38
Mller et al.(2001) K-R. Mller, S. Mika, G. Ratsch, K. Tsuda, e B. Scholkopf. An introduction to kernel-based learning algorithms. IEEE Transaction on Neural Networks,
12:181202. Citado na pg. 40
Murata et al.(2002) N. Murata, M. Kawanabe, A. Ziehe, K.-R. Mller, e S.-I. Amari.
On-line learning in changing environments with applications in supervised and unsupervised learning. Neural Networks, 15:743760. Citado na pg. 44

REFERNCIAS BIBLIOGRFICAS

139

Narasimhamurthy e Kuncheva(2007) A. Narasimhamurthy e L. Kuncheva. A framework for generating data to simulate changing environments. Em Proceedings of the
International Articial Intelligence and Applications, pginas 384389. Citado na pg. 42
Neville et al.(2003) J. Neville, D. Jensen, L. Friedland, e M. Hay. Learning relational
probability trees. Em Proceedings of the International Conference on Knowledge Discovery and Data Mining, pginas 625630. Citado na pg. 21
Newman(2003) M. Newman. The structure and function of complex networks. SIAM
Review, 45:167256. Citado na pg. 2, 15
Newman(2004) M. Newman. Fast algorithm for detecting community structure in networks. Physical Review E, 69:066133. Citado na pg. 16
Newman e Girvan(2004) M. Newman e M. Girvan. Finding and evaluating community
structure in networks. Physical Review E, 69:115. Citado na pg. 2, 15, 16
Ng e Han(2002) R. Ng e J. Han. CLARANS : a method for clustering objects for spatial
data mining. IEEE Transactions on Knowledge and Data Engineering, 14:10031016.
Citado na pg. 14
Nicoletti e Bertini Jr.(2007) M. Nicoletti e J. Bertini Jr. An empirical evaluation of
constructive neural network algorithms in classication tasks. International Journal of
Innovative Computing and Applications, 1:213. Citado na pg. 37
Nnez et al.(2007) M. Nnez, R. Fidalgo, e R. Morales. Learning in environments
with unknown dynamics : towards more robust concept learners. Journal of Machine
Learning Research, 8:25952628. Citado na pg. 51, 107, 116
Opitz e Maclin(2000) D. Opitz e R. Maclin. Popular ensemble methods : an empirical
study. Journal of Machine Learning Research, 11:169198. Citado na pg. 25
Palma Neto e Nicoletti(2005) L. Palma Neto e M. Nicoletti. Introduo s Redes
Neurais Construtivas. EdUFSCar, 1o edio. Citado na pg. 37
Parekh et al.(2000) R. Parekh, J. Yang, e V. Honavar. Constructive neural network
learning for pattern classication. IEEE Transactions on Neural Networks, 11:436451.
Citado na pg. 37
Polikar et al.(2004) R. Polikar, L. Udpa, S. Udpa, e V. Honavar. An incremental learning
algorithm with condence estimation for automated identication of nde signals. IEEE
transactions on ultrasonics, ferroelectrics, and frequency control, 51:9901001. Citado na
pg. 44
Quinlan(1986) J. Quinlan. Induction of decision trees. Machine Learning, 1:81106.
Citado na pg. 35
Quinlan(1996) J. Quinlan. Improved use of continuous attributes in c4.5. Journal of
Articial Intelligence, 4:7790. Citado na pg. 35
Quinlan(1993) J. Quinlan. C4.5 Programs for Machine Learning. Morgan Kaufmann,
1o edio. Citado na pg. 35, 78
Reed(1993) R. Reed. Pruning algorithm - a survey. IEEE Transactions on Neural
Networks, 4:740747. Citado na pg. 37

140

REFERNCIAS BIBLIOGRFICAS

Reed e Marks II(1999) R. Reed e R. Marks II. Neural Smithing : Supervised Learning
in Feedforward Articial Neural Networks. The MIT Press, 1o edio. Citado na pg. 39
Reichardt e Bornholdt(2004) J. Reichardt e S. Bornholdt. Detecting fuzzy community
structures in complex networks with a potts model. Physical Review Letters, 93:14.
Citado na pg. 17
Reichardt e Bornholdt(2006) J. Reichardt e S. Bornholdt. Statistical mechanics of
community detection. Physical Review E, 74:114. Citado na pg. 15
Reinke e Michalski(1988) R. Reinke e R. Michalski. Incremental learning of concept descriptions : a method and experimental results. Em J. Hayes, D. Michie, e
J. Richards, editors, Machine Intelligence 11, pginas 263288. Oxford Clarendon Press,
1o edio. Citado na pg. 45
Rissanen(1983) J. Rissanen. A universal prior for integers and estimation by minimum
description length. Annals of Statistics, 11:416431. Citado na pg. 27
Rosenblatt(1958) F. Rosenblatt. The percepton : a probabilistic model for information
storage and organization in the brain. Psychological Review, 65:386408. Citado na pg. 38
Saad(1999) D. Saad. On-Line Learning in Neural Networks. Cambridge University
Press, 1o edio. Citado na pg. 45
Sarle(1995) W. Sarle. Stopped training and other remedies for overtting. Em Proceedings of the Symposium on the Interface of Computing Science and Statistics, pginas
352360. Citado na pg. 24
Schaeer(2007) S. Schaeer. Graph clustering. Computer Science Review, 1:2734.
Citado na pg. 2, 13, 15
Schaer et al.(1992) J. Schaer, D. Whitely, e L. Eshelman. Combinations of genetic
algorithms and neural networks : a survey of the state of the art. Em Proceedings of
the International Workshop of Genetic Algorithms and Neural Networks, pginas 137.
Citado na pg. 37
Schapire(1990) R. Schapire. The strength of weak learnability. Machine Learning, 5:
197227. Citado na pg. 25
Schlimmer e Granger(1986) J. Schlimmer e R. Granger. Beyond incremental
processing : tracking concept drift. Em Proceedings of the National Conference on
Articial Intelligence, pginas 502507. AAAI Press. Citado na pg. 42, 45
Scholz e Klinkenberg(2007) M. Scholz e R. Klinkenberg. Boosting classiers for driting concepts. Intelligent Data Analysis, 11:328. Citado na pg. 105
Schwarz(1978) G. Schwarz. Estimating the dimension of a model. Annals of Statistics,
6:461464. Citado na pg. 27
Segal et al.(2003) E. Segal, H. Wang, e D. Koller. Discovering molecular pathways from
protein interaction and gene expression data. Bioinformatics, 19:264276. Citado na pg.
21
Shawne-Taylor e Cristianini(2004) J. Shawne-Taylor e N. Cristianini. Kernel methods
for pattern analysis. Cambridge University Press, 1o edio. Citado na pg. 39, 40

REFERNCIAS BIBLIOGRFICAS

141

Simard et al.(1993) P. Simard, Y. Cun, e J. Denker. Ecient pattern recognition using a


new transformation distance. Em Advances in Neural Information Processing Systems,
pginas 5058. Morgan Kaufmann. Citado na pg. 33
Sindhwani et al.(2005) V. Sindhwani, P. Niyogi, e M. Belkin. Beyond the point cloud :
from transductive to semi-supervised learning. Em Proceedings of the International
Conference on Machine learning, pginas 824831. Citado na pg. 20, 21
Street e Kim(2001) N. Street e Y. Kim. A streaming ensemble algorithm (sea) for
large-scale classication. Em Proceedings of the International Conference on Knowledge
Discovery and Data Mining, pginas 377382. ACM N.Y. Citado na pg. 46, 95, 99, 106
Strogatz(2001) S. Strogatz. Exploring complex networks. Nature, 410:268276. Citado na
pg. 2, 15
Syed et al.(1999) N. Syed, H. Liu, e K. Sung. Handling concept drift in incremental
learning with suport vector machines. Em Proceedings of the International Conference
on Knowledge Discovery and Data Mining, pginas 272276. ACM N.Y. Citado na pg. 42
Szummer e Jaakkola(2002) M. Szummer e T. Jaakkola. Partially labeled classication
with markov random walks. Em Advances in Neural Information Processing Systems,
volume 14, pginas 945952. MIT Press. Citado na pg. 18
Taxt e Lundervold(1994) T. Taxt e A. Lundervold. Multispectral analysis of the brain
using magnetic resonance imaging. IEEE Transactions on Medical Imaging, 13:470481.
Citado na pg. 14
Theodoridis e Koutroumbas(2008) S. Theodoridis e K. Koutroumbas. Pattern recognition. Elsevier, 4o edio. Citado na pg. 4
Toyama et al.(2010) J. Toyama, M. Kudo, e H. Imai. Probably correct k-nearest neighbor search in high dimensions. Pattern Recognition, 43:13611372. Citado na pg. 73
Tsang e Kwok(2007) I. Tsang e J. Kwok. Large-scale sparsied manifold regularization.
Em Advances in Neural Information Processing Systems, volume 19, pginas 14011408.
MIT Press. Citado na pg. 19
Tsymbal et al.(2006) A. Tsymbal, M. Pechenizkiy, P. Cunningham, e S. Puuronen. Handling local concept drift with dynamic integration of classiers : domain of antibiotic
resistance in nosocomial infections. Em Proceedings of the International Symposium on
Computer-Based Medical System, pginas 5668. IEEE Press. Citado na pg. 105
Utgo(1988) P. Utgo. Id5 : an incremental id3. Em Proceedings of the 5th International
Conference on Machine Learning, pginas 107120. Morgan Kaufman. Citado na pg. 45
Utgo et al.(1997) P. Utgo, N. Berkman, e J. Clouse. Decision tree induction based
on ecient tree restructuring. Machine Learning, 29:544. Citado na pg. 45, 48
Vapnik(1999) V. Vapnik. The Nature of Statistical Learning Theory. Springer-Verlag,
2o edio. Citado na pg. 40, 78
Vishwanathan et al.(2010) S. Vishwanathan, N. Schraudolph, R. Kondor, e K. Borgwardt. Graph kernels. Journal of Machine Learning Research, 11:12011242. Citado na
pg. 18, 22

142

REFERNCIAS BIBLIOGRFICAS

von Luxburg(2007) U. von Luxburg. A tutorial on spectral clustering. Statistical


Computation, 17:395416. Citado na pg. 12
Wang e Zhang(2008) F. Wang e C. Zhang. Label propagation through linear neighborhoods. IEEE Transactions On Knowledge and Data Engineering, 20:5567. Citado na
pg. 20
Wang et al.(2003) H. Wang, W. Fan, P. Yu, e J. Han. Mining concept drifting data
streams using ensemble classiers. Em Proceedings of the International Conference on
Knowledge Discovery and Data Mining, pginas 226235. Citado na pg. 44, 50
Watts e Strogatz(1998) D. Watts e S. Strogatz. Collective dynamics of small-world
networks. Nature, 393:440442. Citado na pg. 77
West(2000) D. West. Introduction to Graph Theory. Prentice-Hall, 2o edio. Citado na pg.
9
Widmer e Kubat(1996) G. Widmer e M. Kubat. Learning in the presence of concept
drift and hidden contexts. Machine Learning, 23:69101. Citado na pg. 4, 42, 45
Wilson e Martinez(2000) R. Wilson e T. Martinez. Reduction techniques for instancebased learning algorithms. Machine Learning, 38:257286. Citado na pg. 73
Witten e Frank(2005) I. Witten e E. Frank. Data Mining : Practical Machine Learning
Tools and Techniques. Morgan Kaufmann, 2o edio. Citado na pg. 49
Wong e Yao(1992) S. Wong e Y. Yao. An information-theoretic measure of term
specicity. Journal of the American Society for Information Science, 43:5461. Citado na
pg. 2
Yang e Zhou(2008) C. Yang e J. Zhou. Non-stationary data sequence classication
using online class priors estimation. Pattern Recognition, 41:26562664. Citado na pg. 44
Yao(1999) X. Yao. Evolving neural networks. Em Proceedings of the IEEE, pginas
14231447. Citado na pg. 37
Yu et al.(2008) Y. Yu, S. Guo, S. Lan, e T. Ban. Anomaly intrusion detection for evolving
data stream based on semi-supervised learning. Em Proceedings of the International
Conference on Advances in neuro-information processing, pginas 571578. Citado na pg.
129
Zhao et al.(2008) L. Zhao, T. Cupertino, e J. Bertini Jr. Chaotic synchronization in
general network topology for scene segmentation. Neurocomputing, 71:33603366. Citado
na pg. 17
Zhou e Schlkopf(2004) D. Zhou e B. Schlkopf. Learning from labeled and unlabeled data using random walks. Em Proceedings of the DAGM Symposium on Pattern
Recognition, pginas 237244. Citado na pg. 3, 18
Zhou et al.(2004) D. Zhou, T O. Bousquet, Lal, J. Weston, e B. Schlkopf. Learning with
local and global consistency. Em Advances in Neural Information Processing Systems,
pginas 321328. Citado na pg. 18
Zhou(2003a) H. Zhou. Network landsape from a brownian particles perspective. Physical Review E, 67:041908. Citado na pg. 16

REFERNCIAS BIBLIOGRFICAS

143

Zhou(2003b) H. Zhou. Distance, dissimilarity index, and network community structure.


Physical Review E, 67:061901. Citado na pg. 16
Zhu(2008) X. Zhu. Semi-supervised learning literature review. Relatrio Tcnico 1530,
Computer-Science, University of Wisconsin-Madison. Citado na pg. 1, 3, 12, 18
Zhu(2005) X. Zhu. Semi-supervised learning with graphs. Relatrio Tcnico Doctoral
Thesis, School of Computer Science, Carnegie Mellon University. Citado na pg. 13
Zhu e Ghahramani(2002) X. Zhu e Z. Ghahramani. Learning from labeled and unlabeled data with label propagation. Relatrio Tcnico CMU-CALD-02-107, Carnegie
Mellon University, Pittsburgh. Citado na pg. 18
Zhu e Laerty(2005) X. Zhu e J. Laerty. Harmonic mixtures : combining mixture
models and graph-based methods for inductive and scalable semi-supervised learning.
Em Proceedings of the International Conference on Machine Learning, pginas 1052
1059. ACM Press. Citado na pg. 3, 20
Zhu et al.(2003) X. Zhu, Z. Ghahramani, e J. Laerty. Semi-supervised learning using
Gaussian elds and harmonic functions. Em Proceedings of the International Conference
on Machine Learning, pginas 10521059. ACM Press. Citado na pg. 19

Este livro foi distribudo cortesia de:

Para ter acesso prprio a leituras e ebooks ilimitados GRTIS hoje, visite:
http://portugues.Free-eBooks.net

Compartilhe este livro com todos e cada um dos seus amigos automaticamente,
selecionando uma das opes abaixo:

Para mostrar o seu apreo ao autor e ajudar os outros a ter


experincias de leitura agradvel e encontrar informaes valiosas,
ns apreciaramos se voc
"postar um comentrio para este livro aqui" .

Informaes sobre direitos autorais

Free-eBooks.net respeita a propriedade intelectual de outros. Quando os proprietrios dos direitos de um livro enviam seu trabalho para Free-eBooks.net, esto nos dando permisso para distribuir
esse material. Salvo disposio em contrrio deste livro, essa permisso no passada para outras pessoas. Portanto, redistribuir este livro sem a permisso do detentor dos direitos pode constituir uma
violao das leis de direitos autorais. Se voc acredita que seu trabalho foi usado de uma forma que constitui uma violao dos direitos de autor, por favor, siga as nossas Recomendaes e Procedimento
de reclamaes de Violao de Direitos Autorais como visto em nossos Termos de Servio aqui:

http://portugues.free-ebooks.net/tos.html

Vous aimerez peut-être aussi