Mudanças entre as edições de "Experimentos para o artigo WITCC'08"
(→Experimentos Pré-liminares com MLKNN_CORE) |
(→Experimentos Pré-liminares com MLKNN_CORE) |
||
Linha 321: | Linha 321: | ||
| 0,02 | | 0,02 | ||
| 0,22 | | 0,22 | ||
− | |||
|- align="center" | |- align="center" |
Edição das 14h31min de 7 de abril de 2008
Índice
Experimentos para o artigo WITCC'08
- Questões a serem discutidas
- Schapire (2000) que propôs o Boostexter, adota 3-fold cross validation. Será que não seria o caso de fazermos o mesmo por questões de tempo? O problema de adotarmos 3-fold cross validation (ao invés de 10-fold) é que teríamos apenas 3 avaliações de cada método de categorização para um teste estatístico de comparação dos métodos
- Claudine irá ler o livro Machine Learning de Tom Michell para verificar se existe apoio literário para usar diferentes valores de k nas fases de validação e teste
- Parece que o Boostexter exige um número imenso de rounds para atingir o ponto de convergência (a partir do qual um aumento no número de rounds não produz melhoras de desempenho).
- Precisamos fazer uma estimativa de tempo e qualidade dos resultados das métricas com 1.000, 5.000 e 10.000 rounds, por exemplo, a fim de avaliarmos a viabilidade do uso de Boostexter sobre a coleção do SCAE no nível de subclasses
- Schapire (2000) que propôs o Boostexter, adota 3-fold cross validation. Será que não seria o caso de fazermos o mesmo por questões de tempo? O problema de adotarmos 3-fold cross validation (ao invés de 10-fold) é que teríamos apenas 3 avaliações de cada método de categorização para um teste estatístico de comparação dos métodos
1. Coleção
- Conjuntos de treino e teste
- Conjunto CNAE: Tabela CNAE_110_SUBCLASSE, campo DESCRICAO_SUB, linhas 0 a 1182
- Conjunto VIX: Tabela DADOS_VITORIA_SUB_110, campo OBJETO_SOCIAL, linhas 0 a 3280
- Pré-processamento
- Usar o dicionário completo corrigido
- Remover do vocabulário as 6 seguintes categorias gramaticais: artigo, conjunção, contração, interjeição, preposição e pronome
- Computar pesos dos termos usando tfidf
2. Configuração dos Experimentos
- Testar os seguintes métodos de categorização
- WNN e WNN_COR
- Parâmetros a serem ajustados: número de neurônios e número de sinapses
- Nos experimentos de validação, experimentar redes com 8x8, 8x16, 16x16, e 32x16 neurônios e 256 e 512, 1024 sinapses
- VS
- Não tem parâmetros (que maravilha!!! :-))
- ML-KNN
- Parâmetros: número de vizinhos mais próximos. Deixar os outros parâmetros com o valor padrão (smooth=1)
- Nos experimentos de validação, experimentar 6, 8, 10, 12 e 14 vizinhos mais próximos
- Boostexter
- Parâmetros: número de rounds
- Nos experimentos de validação, experimentar ? rounds
- WNN e WNN_COR
- Usar a abordagem k-fold cross validation, com k=10, para testar cada um dos métodos de categorização
- O conjunto VIX deverá ser particionado em k subconjuntos. Dos k subconjuntos, um único subconjunto deverá ser retido para testar o modelo, e os k-1 subconjuntos restantes deverão ser usados como dado de treino. O processo de cross-validation deverá ser repetido k vezes (folds F1, F2, ..., Fk), com cada um dos k subconjuntos usados exatamente uma vez como dado de teste. Os k resultados dos folds serão então combinados para produzir uma única estimativa, ou seja, serão reportadas as médias dos k valores produzidos para cada uma das métricas.
- Usar o conjunto CNAE como dado de treino em cada fold Fi
- Salvar os valores de todas as métricas para cada fold Fi de teste num arquivo de texto com o seguinte formato: cada linha corresponde a um fold Fi de teste; e cada coluna corresponde a uma métrica de avaliação
- As médias dos k valores produzidos (pelos k folds) para cada uma das métricas serão calculadas a partir desse arquivo.
- Usar a abordagem k-fold cross validation, com k=10, para validar cada um dos métodos de categorização. A validação consiste em encontrar, para cada um dos métodos de categorização, os parâmetros que produzem os melhores resultados
- O fold F1 deverá ser particionado em k subconjuntos. Dos k subconjuntos, um único subconjunto deverá ser retido para validar o modelo, e os k-1 subconjuntos restantes deverão ser usados como dado de treino. O processo de cross-validation para validação deverá ser repetido k vezes (F11, F12, ..., F1k), com cada um dos subconjuntos F1j, 1<=j<=k, usados exatamente uma vez como dado de teste.
- Usar o conjunto CNAE como dado de treino em cada fold F1j
- Suponha que o método tenha dois parâmetros x e y, que podem assumir variados valores x_i e y_j. Os experimentos de k-fold cross validation deverão ser repetidos várias vezes, para variadas combinações de x_i e y_j (x_1, y_1; x_1, y_2; x_2 y_1; x_2, y_2). A combinação x_i e y_j que produzir os melhores resultados será escolhida para os experimentos de teste
- Para cada combinação de parâmetros, salvar os valores de todas as métricas para cada fold F1i de validação num arquivo de texto com o seguinte formato: cada linha corresponde a um fold F1i de teste; e cada coluna corresponde a uma métrica de avaliação
- Para cada combinação de parâmetros, as médias dos k valores produzidos (pelos k folds) para cada uma das métricas serão calculadas a partir desse arquivo
Experimentos Pré-liminares com WNN_CORE
O objetivo deste experimento é verificar o tempo de execução para realizar a otimização dos parâmetros número de sinapses e número de neurônios do WNN_CORE.
Os experimentos foram realizados com as bases CNAE_110_SUBCLASSE e DADOS_VITORIA_SUB_110 utilizando a técnica k-fold cross validation onmde k = 10. Foram realizados apenas 2 iterações do k-fold para verificar se a base CNAE_110_SUBCLASSE gera algum ruído para o classificador. O procedimento para realização desses experimentos foram:
- A base DADOS_VITORIA_SUB_110 foi dividida em 10 partes, onde 9 partes foi para a base de treino e 1 parte foi para a parte de teste;
- Geração do Lexicon com a seguinte configuração:
- Remoção das classes gramáticais: artigo, conjução, contração, interjeição, preposição e pronome;
- Utilizando as bases: CNAE_110_SUBCLASSE:0:1182 e DADOS_VITORIA_SUB_110:0:2952;
- Para realizar a otimização dos parâmetros do CORE, a 9 partes de treino foi novamente dividida novamente em 10 partes, onde dessa divisão 9 partes foi para treino e 1 parte para validação. Então, a configuração dos limites para as duas iterações foram:
- Iteração 1:
- Treino: CNAE_110_SUBCLASSE:0:1182 DADOS_VITORIA_SUB_110:0:2657;
- Validação: DADOS_VITORIA_SUB_110:2658:2952;
- Iteração 2:
- Treino: CNAE_110_SUBCLASSE:0:1182 DADOS_VITORIA_SUB_110:295:2952;
- Validação: DADOS_VITORIA_SUB_110:0:294;
- Iteração 1:
- O WNN_CORE foi experimentado com os seguintes parâmetros:
- 16x16 neurônios;
- 256 e 512 synapses;
O tempo de execução para cada fase foram:
- Interação 1:
- 256:
- Treino: 4m52s
- Teste: 2m12s
- 512:
- Treino: 4m34s
- Teste: 3m54s
- 256:
- Interação 2:
- 256:
- Treino: 4m30s
- Teste: 3m31s
- 512:
- Treino: 4m45s
- Teste: 3m55s
- 256:
As métricas de desempenho para cada iteração foram:
Synpases | Iteração | Coverage | Average Precision | Ranking Loss | One Error |
256 | 1 | 39,56 | 0,65 | 0,11 | 0,28 |
512 | 1 | 29,42 | 0,72 | 0,09 | 0,19 |
256 | 2 | ||||
512 | 2 | 38,59 | 0,67 | 0,12 | 0,25 |
Para verificar se a base CNAE_110_SUBCLASSE insere algum ruído para o classificador, realizou-se o seguinte procedimento:
- Do experimento anterior, retirou-se a base CNAE_110_SUBCLASSE e manteve a base DADOS_VITORIA_SUB_110 com limites anteriores;
- Realizou-se os experimentos com 16x16 neurônios e 512 sinapses para as duas iterações.
As métricas de desempenho para cada iteração foram:
Synpases | Iteração | Coverage | Average Precision | Ranking Loss | One Error |
512 | 1 | 34,49 | 0,66 | 0,16 | 0,24 |
512 | 2 | 39,44 | 0,60 | 0,20 | 0,30 |
Experimentos Pré-liminares com BOOSTEXTER_CORE
O objetivo deste experimento é verificar o tempo de execução para realizar a otimização do parâmetro número de rounds do BOOSTEXTER_CORE.
Os experimentos foram realizados com as bases CNAE_110_SUBCLASSE e DADOS_VITORIA_SUB_110 utilizando a técnica k-fold cross validation onmde k = 10. Foi realizado apenas 1 iteração do k-fold. O procedimento para realização desse experimento foi:
- A base DADOS_VITORIA_SUB_110 foi dividida em 10 partes, onde 9 partes foi para a base de treino e 1 parte foi para a parte de teste;
- Geração do Lexicon com a seguinte configuração:
- Remoção das classes gramáticais: artigo, conjução, contração, interjeição, preposição e pronome;
- Utilizando as bases: CNAE_110_SUBCLASSE:0:1182 e DADOS_VITORIA_SUB_110:0:2952;
- Para realizar a otimização dos parâmetros do CORE, a 9 partes de treino foi novamente dividida novamente em 10 partes, onde dessa divisão 9 partes foi para treino e 1 parte para validação. Então, a configuração dos limites para as duas iterações foram:
- Treino: CNAE_110_SUBCLASSE:0:1182 DADOS_VITORIA_SUB_110:0:2657;
- Validação: DADOS_VITORIA_SUB_110:2658:2952;
- O BOOSTEXTER_CORE foi experimentado para os seguintes valores de rounds: 50, 100, 500, 1000, 2500, 5000.
O tempo de execução e as métricas de desempenho para cada round foram:
Rounds | Tempo
(Treino e Teste) |
Coverage | Average Precision | Ranking Loss | One Error |
50 | 330m | 134,71 | 0,44 | 0,045 | 0,48 |
100 | 328m | 134,71 | 0,44 | 0,045 | 0,48 |
500 | 2598m | 111,50 | 0,68 | 0,03 | 0,22 |
1000 | |||||
2500 | |||||
5000 |
Experimentos Pré-liminares com MLKNN_CORE
O objetivo deste experimento é verificar o tempo de execução para realizar a otimização do parâmetro número de vizinhos do MLKNN_CORE. O parâmetro smooth é utilizado o padrão, smooth = 1.
Os experimentos foram realizados com as bases CNAE_110_SUBCLASSE e DADOS_VITORIA_SUB_110 utilizando a técnica k-fold cross validation onmde k = 10. Foi realizado apenas 1 iteração do k-fold. O procedimento para realização desse experimento foi:
- A base DADOS_VITORIA_SUB_110 foi dividida em 10 partes, onde 9 partes foi para a base de treino e 1 parte foi para a parte de teste;
- Geração do Lexicon com a seguinte configuração:
- Remoção das classes gramáticais: artigo, conjução, contração, interjeição, preposição e pronome;
- Utilizando as bases: CNAE_110_SUBCLASSE:0:1182 e DADOS_VITORIA_SUB_110:0:2952;
- Para realizar a otimização dos parâmetros do CORE, a 9 partes de treino foi novamente dividida novamente em 10 partes, onde dessa divisão 9 partes foi para treino e 1 parte para validação. Então, a configuração dos limites para as duas iterações foram:
- Treino: CNAE_110_SUBCLASSE:0:1182 DADOS_VITORIA_SUB_110:0:2657;
- Validação: DADOS_VITORIA_SUB_110:2658:2952;
- O BOOSTEXTER_CORE foi experimentado para os seguintes valores de k vizinhos mais próximos: 6, 8, 10, 12 e 14.
O tempo de execução e as métricas de desempenho para cada k vizinhos foram:
k vizinhos | Tempo
(Treino e Teste) |
Coverage | Average Precision | Ranking Loss | One Error |
6 | |||||
8 | |||||
10 | 15m | 105,72 | 0,72 | 0,02 | 0,21 |
12 | |||||
14 | |||||
16 | 15m | 93,99 | 0,72 | 0,02 | 0,22 |
20 | 15m | 86,58 | 0,72 | 0,02 | 0,20 |