Algoritmo Genético y PSO Aplicados a la Elección de los Hiperparámetros de una Red Neuronal MLP para la Clasificación de Requisitos no Funcionales
DOI:
https://doi.org/10.33448/rsd-v11i3.26984Palabras clave:
Clasificación; Requisitos de software; Algoritmo genético; PSO; Perceptrón multicapa.Resumen
Los requisitos no funcionales (RNFs) juegan un papel importante en el área de Ingeniería de Software (IS), estando asociados con la construcción, operación y mantenimiento de una aplicación de calidad. El éxito de la tarea del manual de clasificación RNF depende del conocimiento y la experiencia del ingeniero de requisitos y requiere mucho tiempo. Se han desarrollado trabajos encaminados a la aplicación de algoritmos de aprendizaje automático para clasificar automáticamente los RNF, escenario en el que se deben elegir los hiperparámetros del modelo clasificador. En este trabajo, el Algoritmo Genético (GA, Genetic Algorithm) y el algoritmo de Optimización de Enjambre de Partículas (PSO, Particle Swarm Optimization) se utilizan para encontrar hiperparámetros de la Red de Perceptrón Neural Multicapa (MLP, Multilayer Perceptron), con el objetivo de clasificar los RNF presentes en el PROMISE_exp conjunto de datos. La GA encontró una combinación de hiperparámetros que dio un F1 de 0.6349, mientras que el PSO encontró una combinación que obtuvo 0.6426 de F1.
Citas
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
Descargas
Publicado
Cómo citar
Número
Sección
Licencia
Derechos de autor 2022 Thiago Matheus Torres Buarque; Matheus Barreto Lins Marinho; Francisco Madeiro Bernardino Junior
Esta obra está bajo una licencia internacional Creative Commons Atribución 4.0.
Los autores que publican en esta revista concuerdan con los siguientes términos:
1) Los autores mantienen los derechos de autor y conceden a la revista el derecho de primera publicación, con el trabajo simultáneamente licenciado bajo la Licencia Creative Commons Attribution que permite el compartir el trabajo con reconocimiento de la autoría y publicación inicial en esta revista.
2) Los autores tienen autorización para asumir contratos adicionales por separado, para distribución no exclusiva de la versión del trabajo publicada en esta revista (por ejemplo, publicar en repositorio institucional o como capítulo de libro), con reconocimiento de autoría y publicación inicial en esta revista.
3) Los autores tienen permiso y son estimulados a publicar y distribuir su trabajo en línea (por ejemplo, en repositorios institucionales o en su página personal) a cualquier punto antes o durante el proceso editorial, ya que esto puede generar cambios productivos, así como aumentar el impacto y la cita del trabajo publicado.