|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
www.fabriciobreve.com
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Redes Perceptron e Multilayer Perceptron aplicadas a base de dados IRIS Aluno: Fabricio Aparecido
Breve Prof.: Dr. André Ponce de
Leon F. de Carvalho São Carlos - São Paulo Abril / 2007 IntroduçãoNeste trabalho são apresentados os resultados da aplicação de redes Perceptron e Multilayer Perceptron à popular base de dados IRIS, introduzida por R.A. Fisher como um exemplo de análise discriminante. Os dados contêm quatro características de três espécies de flores Iris, da família das Iridáceas: comprimento da sépala, largura da sépala, comprimento da pétala e largura da pétala. Os classificadores utilizados neste trabalho utilizam esses 4 atributos para construir uma rede que deve classificar corretamente os 3 tipos de flores: Iris-Virginica, Iris-Versicolor e Iris-Setosa. A base de dados contém 150 amostras, sendo 50 de cada uma das classes. Resultados de classificação com a base de dados IRISPesos iniciais: wi,j = 0.02*(rand-0.5) onde rand é uma função que gera números pseudo-aleatórios no intervalo [0 , 1]. Taxa de aprendizado: η = 0,1 Resultados para Rede PerceptronErro com o conjunto de treinamento: 2,6 % Amostras classificadas erroneamente (por classe):
Leave-One-Out Cross-ValidationExperimentos com Leave-One-Out Cross-Validation indicaram um erro médio de 12,28%, sendo os erros individuais (sem peso) de cada classe:
AnáliseEsta pode ser considerada uma classificação razoável, visto que o erro no conjunto de teste está dentro de uma margem aceitável, especialmente se consideramos o tamanho reduzido do conjunto de treinamento. Os testes com Cross-Validation indicam que as classes Iris-Virginica são facilmente separadas, enquanto que as outras duas espécies são mais facilmente confundidas pelo classificador. Rede Multilayer Perceptron (MLP)Pesos iniciais: definidos pelo algoritmo Nguyen-Widrow Taxa de aprendizado:
adaptativa Resultados para Rede MLP com uma camada oculta
Os resultados obtidos são semelhantes independentemente do número de neurônios na camada oculta, as variações ocorridas talvez possam ser atribuídas a variações na inicialização. Escolhemos a configuração com 5 neurônios na camada oculta (por ser uma das configurações com melhor resultado) para mostrar o erro individual em cada classe, o gráfico de erro médio quadrático durante o treinamento e para fazer alguns testes adicionais usando Leave-One-Out Cross-Validation. Amostras classificadas erroneamente (por classe):
Figura 1. Erro médio quadrático (MSE) no conjunto de treinamento e no conjunto de validação durante o treinamento de rede MLP com 5 neurônios na camada oculta. Leave-One-Out
Cross-Validation
Os testes com Leave-One-Out Crossvalidation mostraram um erro médio de 6,4%, sendo os erros individuais (sem peso) por classe:
AnáliseMais uma vez as classificações incorretas ocorreram entre as classes Iris-Versicolor e Iris-Setosa, sendo a classe Iris-Virginica classificada corretamente em todas as suas amostras. Resultados par a Rede MLP com duas camadas ocultas
A configuração com 4 neurônios na primeira camada oculta e 10 neurônios na segunda camada oculta foi uma das melhores, e portanto foi escolhida para os testes adicionais. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Iris-Virginica: |
0,00% |
|
Iris-Versicolor: |
7,69% |
|
Iris-Setosa: |
7,69% |
Mais uma vez as classificações de Iris-Virginica foram todas corretas, ficando os erros entre as classes as classes Iris-Versicolor e Iris-Setosa. Novamente o erro médio com Cross-Validation é um pouco maior que o obtido com hold-out, provavelmente devido a ausência de um conjunto de validação que impeça o overfitting.
As redes Perceptron e Multilayer Perceptron se mostraram eficientes ao classificar os dados da base de dados Iris, os erros verificados foram relativamente baixos. Através da análise dos resultados também foi possível verificar que as classes Iris-Versicolor e Iris-Setosa tem maior semelhança entre si do que com a outra classe (Iris-Virginica) que foi classificada corretamente em todos os casos.
As melhores configurações de rede obtidas experimentalmente não podem ser consideradas conclusivas, pois diversos fatores influenciam nos resultados, como inicialização dos parâmetros, particionamento do conjunto de dados, etc. Podemos concluir que algumas configurações tem maiores chances de convergir para um bom resultado, mas até as piores configurações podem eventualmente convergir para um bom resultado eventualmente, da mesma forma que até as melhores configurações podem ficar presas em mínimos locais eventualmente. Assim para ter resultados conclusivos um único treinamento com cada configuração não é suficiente, seria necessário repetir cada configuração uma grande quantidade de vezes, de modo que fosse possível obter estatísticas mais conclusivas. Tais experimentos são sugeridos como um trabalho futuro, por ter um custo computacional demasiadamente elevado para ser abordado neste trabalho.
As figuras 1 e 2 mostram que a convergência ocorre com cerca de 500 iterações, tanto para o caso de uma camada oculta, quanto para o caso de duas camadas ocultas, e os dois gráficos são bastante parecidos.
Os testes com Cross-Validation tiveram resultados ligeiramente piores que os testes com Hold-Out, e isso provavelmente deve ser atribuído a ausência de um conjunto de validação no Crossvalidation que impeça o overfitting.
Webdesigner:
Fabricio Breve 1997 - 2011
[email protected] - Privacidade