Este projeto utiliza uma rede neural profunda para classificação no conjunto de dados Iris, com otimização de hiperparâmetros (pesos e bias) através de Particle Swarm Optimization (PSO). Inclui análise exploratória de dados e dois casos experimentais no conjunto de dados Iris (carregado através da biblioteca Scikit-learn), contendo 150 amostras de três espécies de flores (Setosa, Virginica, Versicolor) com quatro características (comprimento e largura das sépalas e pétalas). Foram conduzidos dois testes experimentais para otimizar os hiperparâmetros da rede neural profunda.
Para os casos experimentais, o conjunto de dados foi dividido com 70% das amostras para treinamento e 30% para teste, garantindo a aleatoriedade das amostras.
Uma rede neural perceptron de três camadas foi criada: uma camada de entrada, uma camada oculta com 20 neurônios e uma camada de saída com 3 neurônios para indicar as três espécies de flores. O método de propagação direta (feedforward) e o algoritmo PSO foram utilizados para otimizar os hiperparâmetros da rede, fazendo uso do módulo PySwarms para evoluir as partículas e encontrar a melhor solução.
Foram definidos valores de parâmetros específicos para a execução do algoritmo de PSO durante o treinamento da rede neural. Dois casos experimentais foram conduzidos:
Trabalhado com as quatro características das flores para treinar a rede neural. O PSO foi configurado com 100 partículas e 1000 épocas, resultando em uma acurácia de treino de 100% e uma acurácia de teste de 91,11%.
Utilizado apenas o comprimento e largura das pétalas para treinar a rede neural. O PSO foi configurado da mesma forma que no Caso 1, resultando em uma acurácia de treino de 99,05% e uma acurácia de teste de 97,78%.
A otimização por enxame de partículas mostrou-se eficaz para automatizar a seleção de valores de hiperparâmetros de uma rede neural profunda, alcançando uma alta probabilidade de resultados assertivos. O uso de características relevantes do conjunto de dados pode aumentar a precisão do processo de classificação.
O diretório outras_tentativas contém o notebook pso.ipynb adicional com experimentos de Random Walk e PSO, aplicados a diferentes problemas de otimização, incluindo a minimização de equações e a busca por palavras-alvo.
numpypandasseabornmatplotlibscikit-learnpyswarms
Este projeto está licenciado sob a licença MIT. Veja o arquivo MIT para mais detalhes