Genetic Algorithm and PSO Applied to the Choice of Hyperparameters of an MLP Neural Network for Non-Functional Requirements Classification

Authors

DOI:

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

Keywords:

Classification; Software requirements; Genetic Algorithm; PSO; Multilayer Perceptron.

Abstract

Non-functional requirements (NFRs) play an important role in the Software Engineering (SE) area, being associated with the construction, operation, and maintenance of a quality application. The success of the RNF classification manual task depends on the knowledge and experience of the requirements engineer and is time-consuming. Works have been developed aiming at the application of machine learning algorithms to automatically classify RNFs, a scenario in which the hyperparameters of the classifier model must be chosen. In this work, the Genetic Algorithm (GA) and the Particle Swarm Optimization (PSO) algorithm are used to find hyperparameters of the Multilayer Neural Perceptron Network (MLP), with the objective of classifying NFRs present in the PROMISE_exp dataset. The GA found a combination of hyperparameters that gave an F1 of 0.6349, while the PSO found a combination that got 0.6426 of F1.

References

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

Published

07/03/2022

How to Cite

BUARQUE, T. M. T.; MARINHO, M. B. L.; BERNARDINO JUNIOR, F. M. Genetic Algorithm and PSO Applied to the Choice of Hyperparameters of an MLP Neural Network for Non-Functional Requirements Classification. 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: 19 apr. 2024.

Issue

Section

Exact and Earth Sciences