Prévia do material em texto
Redes Neurais Artificiais para classificação de espécies de plantas do gênero Iris Israel Henrique Ferreira e Pedro Arthur Lobregati Fevereiro 2024 1 Introdução Este trabalho aborda o problema da classificação de espécies de plantas do gênero Iris, com base em medidas das caracteŕısticas das sépalas e pétalas. O objetivo é desenvolver um modelo capaz de identificar corretamente a espécie de ı́ris a partir dessas caracteŕısticas. O problema consiste em distinguir entre três espécies de ı́ris: Iris setosa, Iris virginica e Iris versicolor. Cada amostra no conjunto de dados possui quatro caracteŕısticas: comprimento e largura da sépala, e comprimento e largura da pétala. O desafio é criar um modelo de redes neurais capaz de aprender a partir desses dados e fazer previsões precisas sobre a espécie de ı́ris com base nas caracteŕısticas fornecidas. Para resolver esse problema, utilizamos técnicas de aprendizado de máquina, mais especificamente Redes Neurais Artificiais. As redes neurais são modelos computacionais inspirados no funcionamento do cérebro humano, capazes de aprender padrões complexos nos dados e realizar tarefas como classificação e regressão. Neste trabalho, empregamos uma arquitetura de rede neural, treinada com o conjunto de dados Iris, que consiste em uma camada de entrada com quatro neurônios (um para cada caracteŕıstica), uma camada oculta e uma camada de sáıda com três neurônios (um para cada espécie de ı́ris). Durante o treinamento, a rede neural ajusta os pesos e os vieses de suas conexões internas para minimizar a função de perda, permitindo que ela faça previsões precisas sobre a espécie de ı́ris com base nas caracteŕısticas fornecidas. As redes neurais são escolhidas devido à sua capacidade de lidar com pro- blemas complexos de aprendizado de máquina e sua flexibilidade para modelar relacionamentos não lineares nos dados. Além disso, as redes neurais podem aprender caracteŕısticas úteis automaticamente a partir dos dados brutos, o que as torna adequadas para problemas como a classificação de espécies de plantas com base em medidas morfológicas. Ao utilizar redes neurais, buscamos desen- volver um modelo robusto e preciso que possa generalizar bem para novos dados e realizar previsões confiáveis sobre a espécie de ı́ris. 1 2 Desenvolvimento Inicialmente, procedemos com a análise e preparação dos dados, carregando o conjunto de dados Iris e realizando o pré-processamento necessário. Dividimos os dados em conjuntos de treinamento e teste, e aplicamos a codificação one-hot aos rótulos das classes para preparar os dados para entrada na rede neural. 2.1 Arquitetura da rede Em seguida, definimos a arquitetura da rede neural, determinando o número de camadas, o número de neurônios em cada camada e a função de ativação apropriada para cada neurônio. Optamos por uma arquitetura simples, com uma camada de entrada, uma camada oculta e uma camada de sáıda, adaptando a complexidade do modelo à natureza do problema. Em termos de código, definimos as camadas conforme mostra a figura 1. Figura 1: Classe camada densa O número de neurônio da camada de entrada é 4, pois é o número de carac- teŕısticas do meu conjunto e dados. Da camada oculta é 5, um valor arbitrário que achamos coerente com o problema e da camada de sáıda é 3, pois são três classes posśıveis que a coluna rótulo pode assumir. A arquitetura ao final está ilustrada na figura 2. Figura 2: Arquitetura da rede 2 2.2 Função de perda e otimizador A função de perda utilizada é a Loss Categorical Cross Entropy, enquanto que o otimizador foi o Activation Softmax Loss Categorical Crossentropy que também é conhecido na literatura como Adam. 2.3 Treinamento Em seguida, procedemos com o treinamento do modelo utilizando os dados de treinamento. Ajustamos os pesos e os vieses da rede neural iterativamente para minimizar a função de perda, utilizando o otimizador especificado. Monitoramos o progresso do treinamento e ajustamos os hiperparâmetros do modelo conforme necessário para melhorar o desempenho. A figura 3 mostra o código da fase de treinamento da rede. Figura 3: Código da fase de treinamento 2.4 Teste e avaliação Após o treinamento, avaliamos o desempenho do modelo utilizando os dados de teste. Calculamos a acurácia do modelo e examinamos sua capacidade de ge- neralização para novos dados. Analisamos os resultados obtidos e identificamos áreas de melhoria para futuras iterações do modelo. É importante destacar que a camada de sáıda gera três valores float, onde o ı́ndice do neurônio em que a sáıda é maior, representa a classe prevista. A figura 4 contém o código desta fase. 3 Figura 4: Código da fase de teste e avaliação 3 Resultados Os resultados estão em formato de tabela na figura 5. Figura 5: Código da fase de teste e avaliação 4 Conclusão Em conclusão, o desenvolvimento e a implementação desta rede neural para a classificação de espécies de ı́ris representam uma etapa importante no domı́nio 4 da ciência da computação e do aprendizado de máquina. Este trabalho permi- tiu explorar conceitos teóricos e práticos em redes neurais, aplicando-os a um problema de classificação do mundo real. O modelo desenvolvido demonstrou uma capacidade promissora de classificar corretamente as espécies de ı́ris com base em caracteŕısticas morfológicas. No en- tanto, há espaço para melhorias e refinamentos adicionais, como a exploração de arquiteturas mais complexas de redes neurais, a otimização de hiperparâmetros e o aumento do conjunto de dados. Em última análise, este projeto serve como um ponto de partida para futuras pesquisas e aplicações em aprendizado de máquina, contribuindo para o avanço do conhecimento e da prática nesta área. O desenvolvimento de modelos de redes neurais para resolver problemas de classificação é um campo em constante evolução, e este trabalho representa um passo significativo na compreensão e aplicação dessas técnicas. Em suma, a implementação desta rede neural para a classificação de espécies de ı́ris é um exemplo concreto da aplicação dos prinćıpios e técnicas aprendi- das ao longo do curso de Ciência da Computação. Além disso, destaca a im- portância do aprendizado cont́ınuo e da experimentação para o desenvolvimento de soluções eficazes para problemas do mundo real na área de inteligência arti- ficial e aprendizado de máquina. 5