Genetic Algorithm and PSO Applied to the Choice of Hyperparameters of an MLP Neural Network for Non-Functional Requirements Classification
DOI:
https://doi.org/10.33448/rsd-v11i3.26984Keywords:
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
Downloads
Published
How to Cite
Issue
Section
License
Copyright (c) 2022 Thiago Matheus Torres Buarque; Matheus Barreto Lins Marinho; Francisco Madeiro Bernardino Junior
This work is licensed under a Creative Commons Attribution 4.0 International License.
Authors who publish with this journal agree to the following terms:
1) Authors retain copyright and grant the journal right of first publication with the work simultaneously licensed under a Creative Commons Attribution License that allows others to share the work with an acknowledgement of the work's authorship and initial publication in this journal.
2) Authors are able to enter into separate, additional contractual arrangements for the non-exclusive distribution of the journal's published version of the work (e.g., post it to an institutional repository or publish it in a book), with an acknowledgement of its initial publication in this journal.
3) Authors are permitted and encouraged to post their work online (e.g., in institutional repositories or on their website) prior to and during the submission process, as it can lead to productive exchanges, as well as earlier and greater citation of published work.