Algoritmo Genético e PSO Aplicados à Escolha dos Hiperparâmetros de uma Rede Neural MLP para Classificação de Requisitos Não-Funcionais

Autores

DOI:

https://doi.org/10.33448/rsd-v11i3.26984

Palavras-chave:

Classificação; Requisitos de software; Algoritmo genético; PSO; Perceptron multicamadas.

Resumo

Os requisitos não-funcionais (RNFs) desempenham um papel importante na área de Engenharia de Software (ES), estando associados à construção, ao funcionamento e à manutenção de uma aplicação de qualidade. O sucesso da tarefa manual de classificação de RNFs depende do conhecimento e da experiência do engenheiro de requisitos, além de demandar tempo. Trabalhos têm sido desenvolvidos visando a aplicação de algoritmos de aprendizagem de máquina para classificar automaticamente RNFs, cenário em que devem ser escolhidos os hiperparâmetros do modelo classificador. Neste trabalho, o Algoritmo Genético (GA, Genetic Algorithm) e o algoritmo de Otimização por Enxame de Partículas (PSO, Particle Swarm Optimization) são utilizados para encontrar hiperparâmetros da rede Neural Perceptron Multicamada (MLP, Multilayer Perceptron), com o objetivo de classificar RNFs presentes no conjunto de dados PROMISE_exp. O GA encontrou uma combinação de hiperparâmetros que resultou em F1 de 0,6349, enquanto o PSO encontrou uma combinação que obteve 0,6426 de F1.

Referências

Abad, Z., Karras, O., Ghazi, P., Glinz, M., Ruhe, G., & Schneider, K. (2017). What Works Better? A Study of Classifying Requirements. 2017 IEEE 25th International Requirements Engineering Conference (RE), Lisbon, Portugal. https://doi.org/10.1109/RE.2017.36

Bäck, T., Fogel, D. B., & Michalewicz, Z. (1999). Basic Algorithms and Operators (1st. ed.). IOP Publishing Ltd.

Baker, C., Deng, L., Chakraborty, S., & Dehlinger, J. (2019). Automatic Multi-class Non-Functional Software Requirements Classification Using Neural Networks. 2019 IEEE 43rd Annual Computer Software and Applications Conference (COMPSAC), Milwaukee, USA. https://doi.org/10.1109/COMPSAC.2019.10275

Baluja, S., & Caruana, R. (1995). Removing the Genetics from the Standard Genetic Algorithm. Twelfth International Conference on Machine Learning. https://doi.org/10.1016/b978-1-55860-377-6.50014-1

Bansal, J., Singh, P., Saraswat, M., Verma, A., Jadon, S., & Abraham, A. (2011). Inertia Weight Strategies in Particle Swarm Optimization. 2011 Third World Congress on Nature and Biologically Inspired Computing, Salamanca, Spain. https://doi.org/10.1109/NaBIC.2011.6089659

Boubaker, S., Djemai, M., Manamanni, N., & M'Sahli, F. (2014). Active Modes and Switching Instants Identification for Linear Switched Systems Based on Discrete Particle Swarm Optimization. Applied Soft Computing, 14, 482-488. https://doi.org/10.1016/j.asoc.2013.09.009

Canedo, E. D., & Mendes, B. C. (2020). Software Requirements Classification Using Machine Learning Algorithms. Entropy, 22, 1057. https://doi.org/10.3390/e22091057

Carvalho, M., & Ludermir, T. (2007). Particle Swarm Optimization of Neural Network Architectures and Weights. 7th International Conference on Hybrid Intelligent Systems (HIS 2007), Kaiserslautern, Germany. https://doi.org/10.1109/HIS.2007.45

Casamayor, A., Godoy, D., & Campo, M. (2010). Identification of Non-Functional Requirements in Textual Specifications: A Semi-Supervised Learning Approach. Information and Software Technology, 52, 436-445. https://doi.org/10.1016/j.infsof.2009.10.010

Hoskinson, C. (2011) Army’s Faulty Computer System Hurts Operations. http://www.politico.com/news/stories/0611/58051.html

Iqbal, T., Elahidoost, P., & Lúcio, L. (2018). A Bird's Eye View on Requirements Engineering and Machine Learning. 2018 25th Asia-Pacific Software Engineering Conference (APSEC), Nara, Japan. https://doi.org/10.1109/APSEC.2018.00015

Kennedy, J., & Eberhart, R. (1997). A Discrete Binary Version of The Particle Swarm Algorithm. 1997 IEEE International Conference on Systems, Man, and Cybernetics. Computational Cybernetics and Simulation, Orlando, USA. https://doi.org/10.1109/ICSMC.1997.637339

Kumar, P., Batra, S., & Raman, B. (2021). Deep Neural Network Hyper-Parameter Tuning Through Twofold Genetic Approach. Soft Computing, 25, 8747-8771. https://doi.org/10.1007/s00500-021-05770-w

Kurtanović, Z., & Maalej, W. (2017). Automatically Classifying Functional and Non-functional Requirements Using Supervised Machine Learning. 2017 IEEE

th International Requirements Engineering Conference (RE), Lisbon, Portugal. https://doi.org/10.1109/RE.2017.82

Lima, M., Valler, V., Costa, E., Lira, F., & Gadelha, B. (2019). Software Engineering Repositories: Expanding the PROMISE Database. Proceedings of the XXXIII Brazilian Symposium on Software Engineering (SBES 2019), New York, USA. https://doi.org/10.1145/3350768.3350776

Navarro-Almanza, R., Juarez-Ramirez, R., & Licea, G. (2017). Towards Supporting Software Engineering Using Deep Learning: A Case of Software Requirements Classification. 2017 5th International Conference in Software Engineering Research and Innovation (CONISOFT), Merida, Mexico. https://doi.org/10.1109/CONISOFT.2017.00021

Piotrowski, A., Napiorkowski, J., & Piotrowska, A. (2020). Population Size in Particle Swarm Optimization. Swarm and Evolutionary Computation, 58. https://doi.org/10.1016/j.swevo.2020.100718

Sharma, S., Sharma, S., & Athaiya, A. (2017). Activation Functions in Neural Networks. Towards Data Science, 6(12), 310-316. http://dx.doi.org/10.33564/IJEAST.2020.v04i12.054

Slankas, J., & Williams, L. (2013). Automated Extraction of Non-Functional Requirements in Available Documentation. 2013 1st International Workshop on Natural Language Analysis in Software Engineering (NaturaLiSE), San Francisco, USA. https://doi.org/10.1109/NAturaLiSE.2013.6611715

Wolpert, D., & Macready, W. (1997). No Free Lunch Theorems for Optimization. IEEE Transactions on Evolutionary Computation, 1, 67-82. https://doi.org/10.1109/4235.585893

Xin, J., Chen, G., & Hai, Y. (2009). A Particle Swarm Optimizer with Multi-stage Linearly-Decreasing Inertia Weight. 2009 International Joint Conference on Computational Sciences and Optimization, Sanya, China. https://doi.org/10.1109/CSO.2009.420

Yoo, J.-H., Yoon, H.-i., Kim, H.-G., Yoon, H.-S., & Han, S.-S. (2019). Optimization of Hyper-parameter for CNN Model using Genetic Algorithm. 2019 1st International Conference on Electrical, Control and Instrumentation Engineering (ICECIE), Kuala Lumpur, Malaysia. https://doi.org/10.1109/ICECIE47765.2019.8974762

Zhao, L., & Qian, F. (2011). Tuning The Structure and Parameters of a Neural Network Using Cooperative Binary-Real Particle Swarm Optimization. Expert Systems with Applications, 38, 4972-4977. https://doi.org/10.1016/j.eswa.2010.09.154

Zhao, Q., & Li, C. (2020). Two-Stage Multi-Swarm Particle Swarm Optimizer for Unconstrained and Constrained Global Optimization. IEEE Access, 8, 124905-124927. https://doi.org/10.1109/ACCESS.2020.3007743

Downloads

Publicado

07/03/2022

Como Citar

BUARQUE, T. M. T.; MARINHO, M. B. L.; BERNARDINO JUNIOR, F. M. Algoritmo Genético e PSO Aplicados à Escolha dos Hiperparâmetros de uma Rede Neural MLP para Classificação de Requisitos Não-Funcionais. Research, Society and Development, [S. l.], v. 11, n. 3, p. e55411326984, 2022. DOI: 10.33448/rsd-v11i3.26984. Disponível em: https://rsdjournal.org/index.php/rsd/article/view/26984. Acesso em: 15 jan. 2025.

Edição

Seção

Ciências Exatas e da Terra