The main objective of the course is to provide students with the theoretical and practical knowledge necessary to apply Computational Intelligence techniques in different contexts using MATLAB and Python. By the end of the course, students will be able to:
1. Theoretical Competencies Understand the fundamentals of Computational Intelligence, with a particular focus on fuzzy logic, evolutionary algorithms, and artificial neural networks. Analyze and compare different optimization approaches, distinguishing between traditional methods and biologically inspired models. Identify the advantages, disadvantages, and applications of fuzzy models, genetic algorithms, and neural networks. 2. Practical Competencies Use MATLAB to implement fuzzy models, genetic algorithms, and evolutionary optimization techniques. Develop artificial neural networks using Python, with libraries such as TensorFlow and Keras. Design and analyze computational experiments, interpreting the results to improve model performance. Apply machine learning methods to classification, regression, and clustering problems. Optimize and evaluate models through techniques such as hyperparameter tuning, early stopping, and overfitting diagnostics. 3. Design and Problem-Solving Develop a mid-term project based on genetic algorithms, understanding selection, mutation, and crossover strategies. Carry out a final project, applying Computational Intelligence techniques to a real-world problem. Work in teams to solve practical problems, adopting an experimental and iterative approach. By the end of the course, students will have acquired strong operational skills in advanced Computational Intelligence tools, developing a critical ability to apply AI methodologies for solving complex problems.
Course Prerequisites
Programming: Familiarity with at least one programming language (preferably MATLAB and/or Python). Basic Mathematics: Concepts of linear algebra (matrices and vectors), mathematical functions, and their properties. Probability and Statistics: Knowledge of fundamental probability concepts, distributions, and error measures. Fundamentals of Artificial Intelligence and Machine Learning: Introductory concepts of supervised and unsupervised learning, as well as optimization. Although not mandatory, these prerequisites will facilitate the understanding of the topics covered and the practical application of the algorithms studied in the course.
Teaching Methods
The course adopts a teaching approach that balances theory and practice, aiming to equip students with operational skills in the use of advanced Computational Intelligence tools. The teaching activities include:
Lectures and practical exercises: Introduction to theoretical concepts with immediate application to real-world cases. Labs with MATLAB and Python: Implementation of fuzzy algorithms, evolutionary algorithms, and neural networks to solve real-world problems. Guided projects: Development of exercises and projects on advanced Computational Intelligence applications. Tutoring and support: Continuous assistance for understanding the topics covered and completing the projects. Project discussion and review: Periodic presentations to monitor project progress, discuss solutions, and optimize implementations.
Assessment Methods
Sviluppo di esercizi e progetti e discussione orale
Texts
"Introduction to Evolutionary Computing" – A.E. Eiben, J.E. Smith (Springer); "Introduction to Fuzzy Logic" – J.K. Peckol (Wiley); "Neural Networks and Deep Learning: A Textbook" – C.C. Aggarwal (Springer); "Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow" – A. Géron (O'Reilly)
Contents
1. MATLAB and Fundamentals of Computational Intelligence Introduction to MATLAB: syntax, matrix operations, and operators. Data management, file handling, and visualization. Debugging and exercise correction. 2. Fuzzy Logic and Fuzzy Systems Fundamental concepts of fuzzy logic, motivation, and applications. Fuzzy Inference Systems (FIS) and their implementation with the MATLAB Fuzzy Logic Toolbox. Mamdani and Sugeno models, Type-1 and Type-2 Membership Functions. Adaptive Neuro-Fuzzy Inference System (ANFIS). Applications in fuzzy clustering (Fuzzy C-Means) and image processing (segmentation, edge detection, background removal). 3. Optimization and Evolutionary Algorithms Mathematical optimization: differences between traditional and evolutionary methods. Introduction to Evolutionary Computation: biological concepts and terminology (mutation, fitness, selection, crossover). Genetic Algorithms (GA): structure, MATLAB implementation, selection strategies, crossover, and mutation techniques. Multi-objective optimization with GA and Pareto Front. Mid-term project related to genetic algorithms. 4. Machine Learning and Neural Networks Introduction to AI, ML, and Neural Networks: definitions, computational brain models, history of neural networks. Perceptron models: artificial neuron, activation functions, training, backpropagation. Multi-Layer Perceptron (MLP): structure, advantages, training with SGD and backpropagation. Introduction to Python for ML: Pandas, Scikit-Learn, TensorFlow, Keras. Generalization and Overfitting: universal approximation, early stopping, hyperparameter tuning (Grid Search, Dropout). Regression applications using neural networks. 5. Projects and Practical Applications Tutoring and assistance with exercises and projects.