Académique Documents
Professionnel Documents
Culture Documents
Data de Depsito:
Assinatura:________________________
______
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
2.2.2
2.2.3
2.2.4
. . . . . . . . 17
2.3.2
Seleo de modelos . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.3.3
Aprendizado incremental . . . . . . . . . . . . . . . . . . . . . . . . 44
2.4.2
viii
SUMRIO
55
56
59
60
63
64
66
69
70
73
73
75
78
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
2.2
2.3
2.4
2.5
2.6
2.7
2.8
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.9
4.10
4.11
4.12
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
4.1
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
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
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.
OBJETIVOS E MOTIVAES
INTRODUO
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
10
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.
11
Equao (2.1).
hGi =
1
gi
|V | vi V
(2.1)
1
1
gi = hGi|V |
2 vi V
2
(2.2)
12
wij =
(2.3)
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.
14
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
Construir
grafo
esparso
Dados iniciais
15
Particionar
grafo
Agrupamentos
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
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.
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
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,
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
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
(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)
N
1
(
yi yi )2 + y
> S
y
N i=1
(2.9)
20
(2.10)
fW (z, xj )yj
j fW (z, xj )
(z) = j
(2.11)
21
22
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.
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
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.
25
H(z) = jH(z)
Resoluo
do comit
h1(z)
h2(z)
he(z)
Classificador h1|w1
Classificador h2|w2
. . .
Classificador he|we
26
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.
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)
28
(2.13)
1
1
(yi , (xi ))
N i=1 |C i | bC i
(2.14)
(2.15)
29
pl (1 ql )
(2.16)
(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)
30
4 .
4 .
4 .
.
.
k
.
.
k
.
.
k
. . .
31
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
P (j |z1 , z2 , . . . , zp )P (j )
P (z1 , z2 , . . . , zp )
(2.20)
P (zi , j )
(2.21)
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
34
(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
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
P (j )log2 P (j )
(2.24)
Pk Ent(Xk )
(2.25)
k=1
37
38
(2.26)
F (net) =
1
1 + enet
(2.27)
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).
onde wji = ei oj
(2.29)
39
(2.30)
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)
xi (xi )
(2.32)
40
(2.33)
(2.34)
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)
41
i = 1, . . . , N
(2.36)
1
k w k2
i (yi (w> (xi ) + 1) 1)
2
i=1
(2.37)
( 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.
42
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
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
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
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).
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 =
48
49
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
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)
(2.41)
51
52
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
Captulo
3
Classicao de dados baseado no grafo
K -associado timo
56
O GRAFO K -ASSOCIADO
57
2
2
(a)
(b)
(c)
(d)
58
O GRAFO K -ASSOCIADO
59
N
N
N
gi
N
1
gi =
=
hG i
2 i=1
2 i=1 N
2
(3.1)
N hG i
2
KN
hG i
2K
(3.2)
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)
60
(K+q)
(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
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
62
(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)
63
64
P (vz C |Nvz ,C ) =
(3.5)
|{vz ,K C }|
K
(3.6)
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
65
P (vz C |Nvz ,C )
(3.9)
=i
C
(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 ( )}
66
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
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)
68
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
=
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:
(3.20)
(3.21)
(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
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)
70
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.
COMPLEXIDADE COMPUTACIONAL
71
72
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
73
74
(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
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.
hi =
s=1
N
R
(3.23)
76
(a)
(c)
(b)
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
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
2Nei
Nvi (Nvi 1)
e ccG =
1
cci
N i
(3.25)
78
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.
79
# 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
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 )
(k=5)
(k=19)
(p=29)
(1;0)
(211 ; 21 )
(k=1)
(k=19)
(p=26)
(0,1;2)
(210 ; 22 )
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 .
82
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)
57,93,9(1)
55,53,2(4)
57,54,0(2)
38,43,5(6)
53,41,9(5)
55,62,1(3)
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
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
Captulo
4
Classicao incremental usando o grafo
K -associado timo
86
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.
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)
88
89
90
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,
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).
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
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.
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.
94
10
10
10
10
(a)
10
10
(b)
10
10
(e)
10
10
(f)
10
10
(g)
(d)
10
10
(c)
10
10
(h)
Porcentagem de acerto
90
80
70
60
50
40
30
20
0
200
400
600
800
Fluxo de dados
1000
1200
1400
96
Esta proporo mantida para todos os experimentos que envolvem o conceito SEA.
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
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.
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
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
102
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.
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.
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).
106
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.
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
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.
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)
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
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
4.5.3 Crculos
(4.5)
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)
112
(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.
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
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)
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.
116
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.
118
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.
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.
120
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
Na (Na 1)2
12Nd
2F =
pj 2
Na (Na 1) j
4
(4.8)
122
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)
DC = q
Na (Na + 1)
6Nd
(4.10)
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
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
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
127
128
CONCLUSES
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
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
Citado na pg.
Citado na
REFERNCIAS BIBLIOGRFICAS
133
Citado na pg.
134
REFERNCIAS BIBLIOGRFICAS
REFERNCIAS BIBLIOGRFICAS
135
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
138
REFERNCIAS BIBLIOGRFICAS
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
142
REFERNCIAS BIBLIOGRFICAS
REFERNCIAS BIBLIOGRFICAS
143
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:
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