A validação cruzada (ou Cross Validation) é um procedimento para estimar a perfor- mance de um algoritmo. Basicamente o conjunto de dados é dividido aleatoriamente em K subconjuntos (ou folds), mutuamente exclusivos e com tamanhos iguais ou aproxima- damente iguais.
Uma maneira usual é utilizar K igual a 10, chamando a validação cruzada de "10-fold cross-validation". Neste caso, um dos subconjuntos é utilizado para o teste do algoritmo e os outros K − 1 subconjuntos formam o conjunto de treinamento. Este procedimento é repetido K vezes, sendo que em cada repetição, um subconjunto diferente é usado para o teste os subconjuntos restantes são utilizados no treinamento. Ao final, a performance do algoritmo (acurácia, por exemplo) é obtida pela média das performances obtidas a cada repetição deste procedimento (Kuncheva, 2004).
Uma variação do deste procedimento é a Validação Cruzada Estratificada. Aqui, ao dividir o conjunto de dados em K subconjuntos, a distribuição de classes em cada subconjunto é aproximadamente a mesma do conjunto original de dados (Diamantidis et al., 2000).
Neste trabalho, foi utilizada a validação cruzada estratificada, para mapas de tamanhos diferentes, na estrutura de 49 mapas, para estimar a acurácia do algoritmo proposto para a fusão.
3.2. FUSÃO DE MAPAS DE TAMANHOS DIFERENTES 33
Algoritmo 4: FUSÃO ATRAVÉS DA VALIDAÇÃO CRUZADA
Entrada: Conjunto de dados
Saída: Estimativa de acurácia da fusão de mapas de tamanhos diferentes 1 início
2 Dividir o conjunto de dados em K=10 partes (folds), mantendo a proporção de
classes do conjunto de dados original
3 Retirar uma das partes (um dos subconjuntos) para o teste
4 Calcular o tamanho do Mapa Base, através da Equação 3.4, utilizando K-1
subconjuntos
5 Criar, a partir do Mapa Base, os outros 48 mapas
6 Aplicar o algoritmo SOM ao conjunto de treinamento, criando as estruturas dos
mapas
7 Segmentar todos os mapas, através do algoritmo k-means
8 Calcular as performances de cada mapa - os cinco índices de validação de
agrupamentos e o MSQE
9 Ordenar os mapas de acordo com os critérios de performance, do melhor para o
pior
10 Fundir cada mapa ao Mapa Base de acordo com a equação de fusão
11 Calcular a performance do mapa fundido, com o conjunto de testes (o
subconjunto que não foi utilizado no treinamento)
12 Se
13 Há melhoria na performance
14 Então
15 O mapa resultante da fusão torna-se o mapa base, retorne ao PASSO 10
até que todos os mapas sejam fundidos;
16 Senão
17 A fusão é descartada, retorne ao PASSO 10 até que todos os mapas sejam
fundidos
18 Retornar ao PASSO 2 até que o algoritmo seja repetido 10 vezes
19 Calcular a performance do algoritmo, como sendo a média das 10
performances obtidas. 20 fim
34 CAPÍTULO 3. MATERIAIS E MÉTODOS
3.3
Medida de performance
Quando há um conhecimento prévio da estrutura original dos dados, pode-se adotar critérios externos para avaliação da performance do algoritmo de agrupamento.
Assim, os algoritmos são mensurados de forma a avaliar o quão bem o agrupamento coincide com as classes verdadeiras presentes em um dado conjunto de dados.
A pureza (purity, em inglês) é um critério externo de qualidade para o agrupamento e é utilizado quando os rótulos dos dados são conhecidos (Manning et al., 2008).
Esta medida de performance de agrupamento é calculada pela somatória das amostras corretamente posicionadas em um dado grupo, dividida pelo número total de amostras.
A maneira mais fácil de calcular a pureza de um agrupamento é encontrar a classe majoritária em cada grupo e contar o número de objetos marcados dessa classe em cada grupo. Depois divide-se o valor desta somatória pela quantidade total de amostras do conjunto de dados (Forestier et al., 2010). Os valores da pureza do agrupamento ficam entre 0 e 1, sendo que valores próximos a 1 indicam bons agrupamentos e valores baixos indicam agrupamentos ruins.
Esta definição da pureza e sua utilização como medida de performance de algoritmos de agrupamento pode ser encontrada nos trabalhos de Amigó et al. (2009), Rendón et al. (2011), Sripada e Rao (2011) e Deepa e Revathy (2012), entre outros.
Já nos trabalhos de Greene et al. (2004) e de Kuncheva et al. (2006), o critério para avaliação de um comitê de máquinas de agrupamento foi uma medida de desempenho denominada acurácia e definida como a proporção de atribuição correta de rótulos às amostras em função do número total de amostras. Ou seja, a definição de pureza e acurácia é a mesma.
Neste trabalho, será utilizado o termo “acurácia” para designar a performance dos algoritmos propostos.
3.4
Teste estatístico
No trabalho de Demšar (2006) são apresentados alguns testes para comparação esta- tística das performances de algoritmos considerando múltiplos conjuntos de dados. Com base nos estudos apontados no trabalho, o autor sugere que seja utilizado o teste não pa- ramétrico de Wilcoxon (Wilcoxon Signed Rank Test) para comparação de dois algoritmos, pois é um teste simples, seguro e robusto.
Testes não paramétricos são mais seguros do que testes paramétricos, uma vez que não assumem distribuição normal ou homogeneidade da variância dos dados. Assim, eles
3.5. RESUMO 35
podem ser aplicados para verificação da acurácia do modelo, taxas de erro ou qualquer outra medida para avaliação de algoritmos. Os resultados empíricos sugerem que eles também são mais fortes do que os outros testes estudados.
Por essa razão, entre os testes apresentados pelo autor, foi escolhido o teste não pa- ramétrico de Wilcoxon (Signed Rank Test), com nível de significância de 0,05. Através deste teste, serão avaliados os resultados obtidos pelo comitê de mapas de Kohonen, isto é, se o algoritmo proposto leva a resultados estatisticamente diferentes das acurácias ob- tidas por um único mapa. A hipótese nula, H0, é que não há diferença entre as acurácias
obtidas pelo mapa único e pelo comitê de mapas. O algoritmo para o teste de Wilcoxon é descrito a seguir.
Algoritmo 5: TESTE DE WILCOXON
Entrada: Resultados obtidos por dois diferentes algoritmos Saída: Aceitação ou rejeição da Hipótese nula
1 início
2 Calcular a diferença di= Xi−Yi, onde xie yisão os pares dos resultados para cada conjunto de dados
3 Ordenar os resultados de di, sem considerar os sinais, ou seja, atribuir o posto 1 para o menor valor de |di|, posto 2 para o próximo e assim por diante.
4 Atribuir o sinal para cada posto de acordo com o sinal de di
5 Calcular a soma dos postos positivos (R+) e a soma dos postos negativos (R−)
6 Escolha T = min(R+, R−)
7 Verificar o valor crítico para aceitação ou rejeição de H0
8 A Hipótese nula é rejeitada se o valor de T for menor do que o valor
encontrado nas tabelas de valores críticos para o teste de Wilcoxon 9 fim
3.5
Resumo
Neste capítulo foram apresentadas propostas de abordagens para a fusão de mapas de Kohonen com tamanhos iguais e com tamanhos diferentes. Foram definidas as equações para a fusão dos mapas, os critérios para ordenação e fusão, bem como os algoritmos correspondentes a cada uma das abordagens, além da definição da acurácia utilizada neste trabalho. Também foi apresentado o teste estatístico de Wilcoxon, que será utilizado na comparação dos resultados obtidos. No próximo capítulo são apresentados os resultados obtidos na fusão de mapas de Kohonen através dos algoritmos aqui propostos.
Capítulo 4
Resultados
Este capítulo apresenta os resultados obtidos na aplicação dos algoritmos propostos para a fusão de mapas de Kohonen. Está dividido em duas seções: fusão de mapas de mesmo tamanho e fusão de mapas de tamanhos diferentes. Esta última contém três sub- seções: estrutura com 7 mapas, estrutura com 49 mapas e validação cruzada estratificada.
4.1
Conjunto de dados
O algoritmo proposto foi testado em variados conjuntos de dados do Repositório UCI (Lichman, 2013) e do FCPS (Fundamental Clustering Problems Suite) (Ultsch, 2005). As características de cada conjunto de dados são mostradas na Tabela 4.1 e no Apêndice A estão as ilustrações destes conjuntos de dados.
Tabela 4.1: Conjuntos de dados utilizados.
No Dataset Repositório Instâncias Atributos Classes
01 BC Wisconsin UCI 699 10 2 02 Column UCI 310 6 2 03 Heart UCI 303 75 2 04 Hepatitis UCI 155 19 2 05 Ionosphere UCI 351 34 2 06 Iris UCI 150 4 3
07 Pima Indians UCI 768 8 2
08 Seeds UCI 210 7 3 09 Wine UCI 178 13 3 10 Chainlink FCPS 1000 3 2 11 Engytime FCPS 4096 2 2 12 Lsun FCPS 400 2 3 13 Tetra FCPS 400 3 4 14 Two Diamonds FCPS 800 2 2 15 Wingnut FCPS 1070 2 2
38 CAPÍTULO 4. RESULTADOS