|
||||||||||||||||||||||||||||||||||||||
View general information Description Information prior to enrolment Learning objectives and results Content View the UOC learning resources used in the subject Additional information on support tools and learning resources Guidelines on assessment at the UOC View the assessment model | ||||||||||||||||||||||||||||||||||||||
This is the course plan for the first semester of the academic year 2024/2025. To check whether the course is being run this semester, go to the Virtual Campus section More UOC / The University / Programmes of study section on Campus. Once teaching starts, you'll be able to find it in the classroom. The course plan may be subject to change. | ||||||||||||||||||||||||||||||||||||||
The main motivation of this subject is to make known the automatic learning and how it is placed within the field of the Artificial intelligence. In Artificial Intelligence (Degree in Computer Engineering) an overview of the Artificial Intelligence was given and some of the so-called classical methods and techniques, such as problem solving and search and knowledge-based systems, more advanced techniques such as neural networks and approximate reasoning were also seen. In the subject of Learning Computational problems for learning (supervised and unsupervised) and multi agent systems were introduced. In this subject you will deepen into advanced learning problems, introducing features extraction systems, non-linear systems based on kernels, optimization processes or deep learning techniques, always from a practical side touching examples of real problems. |
||||||||||||||||||||||||||||||||||||||
It is advisable to have studied the subjects of Artificial Intelligence and Computational Learning of the degree in Computer Engineering. It is also highly recommended to have passed the subject of programming practices or equivalent in some computer science program. Although the course is not designed to have a high programming load, the most basic concepts of algorithmic will be taken for granted. |
||||||||||||||||||||||||||||||||||||||
The general competences of the Master in this subject are:
The specific competences of this subject are:
|
||||||||||||||||||||||||||||||||||||||
In this subject the contents have been structured in two modules. The first module shows an overview of learning within Artificial Intelligence. In principle, the distinction between algorithms dedicated to clustering and recommendation of information, algorithms of extraction and selection of characteristics, classification algorithms, optimization techniques and deep learning techniques. The distinction between supervised and unsupervised learning is inherent in the clustering and classification chapters, even though it is also present in the feature extraction chapter. The second module, much shorter, is dedicated to learning the Python language. It is intended to introduce the student to some (of the many) characteristics that this language has, with a view to a better understanding of the modules of theory, and to be able to practice independently. The detailed content of each of these modules is given below. 1. Introduction to Artificial Intelligence (AI) 1.1. Neurons and Transistors 1.2. Brief history of AI. 1.3. Areas of application 2. Recommenders and clustering 2.1. Metrics and measures of similarity 2.1.1. Application example 2.1.2. Euclidean distance 2.1.3. Pearson's Correlation 2.2. Recomender systems 2.2.1. General concepts 2.2.2. Surprise library 2.2.3. Nearest Neighbours 2.2.4. Singular Value Decomposition 2.2.5. Conclusions 2.3. Clustering algorithms 2.3.1. Application example 2.3.2. General concepts 2.3.3. Hierarchical clustering. Dendrograms. 2.3.4. K-means 2.3.5. Fuzzy K-means 2.3.6. Spectral Clustering 2.3.7. Model Based Recommenders 3. Extraction and selection of attributes 3.1. Matrix factorization techniques. 3.1.1. Singular value decomposition ¿¿(SVD) 3.1.2. Principal Component Analysis (PCA) 3.1.3. Independent Component Analysis (ICA) 3.1.4. Non-negative matrices factorization (NMF) 3.2. Data Discrimination in Classes 3.2.1. Linear discriminant analysis (LDA) 3.3. Visualization of multidimensional data 3.3.1. Multidimensional scaling (MDS) 4. Classification. 4.1. Introduction 4.1.1. Categorization of texts 4.1.2. Automatic classification learning 4.1.3. Typology of algorithms by classification 4.2. Methods based on probabilistic models 4.2.1. Naive Bayes 4.2.2. Maximum Entropy. 4.3. Methods based on distances. 4.3.1. KNN. 4.3.2. Linear classifier based on distances. 4.3.3. Clustering within classes. 4.4. Rules-based methods. 4.4.1. Decision trees. 4.4.2. AdaBoost. 4.5. Linear classifiers and methods based on Kernels. 4.5.1. Linear classifier based on scalar product 4.5.2. Linear Classifier with Kernel 4.5.3. Kernels for word processing 4.5.4. Support Vector Machines 4.6. Test protocols. 4.6.1. Validation protocols. 4.6.2. Measures of evaluation 4.6.3. Statistical Tests 4.6.4. Comparison of classifiers. 5. Optimization. 5.1. Introduction. 5.1.1. Typology of optimization methods. 5.1.2. Characteristics of optimization metaheuristics 5.2. Optimization using Lagrange multipliers. 5.2.1. Description of the method. 5.2.2. Application example. 5.2.3. Analysis of the method 5.3. Gradient descent 5.3.1. Presentation of the idea 5.3.2. Application example. 5.3.3. Additional questions 5.4. Basin hoping 5.4.1. Description of the method 5.4.2. Example of application 5.4.3. Analysis of the method 5.5. Genetic algorithms. 5.5.1. Description of method 5.5.2. Extensions and improvements. 5.5.3. Examples of application 5.5.4. Compilation of statistics 5.5.5. Combinatory problems 5.5.6. Problems with constrains 5.5.7. Analysis of the method 5.6. Ants colonies 5.6.1. Description of method 5.6.2. Application example 5.6.3. Analysis of the method 5.6.4. Source code in Python 5.7. Optimization with Particle Swarms 5.7.1. Description of method 5.7.2. Application example 5.7.3. Analysis of the method 5.7.4. Source code in Python 5.8. Taboo search. 5.8.1. Description of method 5.8.2. Application example 5.8.3. Analysis of the method 5.8.4. Source code in Python 6. Deep learning 6.1. Introduction 6.1.1. Recent achievements 6.1.2. Causes 6.1.3. Architectures 6.1.4. Libraries 6.2. Neural networks 6.2.1. Components of a neural network 6.2.2. Activation functions 6.2.3. Training of a neuran network 6.2.4. Learning problems 6.2.5. Some solutions 6.2.6. Deep learning 6.3. Multilayer Perceptron 6.3.1. Idea 6.3.2. Example of MLP 6.4. Classification of images with convolutional neural networks (CNN) 6.4.1. Implementation of CNN in Python using the Keras libraries 6.5. Recurrent networks 6.5.1. Idea 6.5.2. Programming 6.6. Other architectures 6.6.1. Auto-encoders 6.6.2. Reinforcement Learning 6.6.3. Generative Systems 7. Annex: basic statistical concepts |
||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||
The subject is composed of didactic modules in paper support, which contain self-assessment exercises with diverse solutions and activities. This material will be complemented with the one that the consultants put within the reach of the students to the classroom of the subject. It the classroom there will be a space to support and solve the doubts corresponding to the Python language. |
||||||||||||||||||||||||||||||||||||||
Assessment at the UOC is, in general, online, structured around the continuous assessment activities, the final assessment tests and exams, and the programme's final project. Assessment activities and tests can be written texts and/or video recordings, use random questions, and synchronous or asynchronous oral tests, etc., as decided by each teaching team. The final project marks the end of the learning process and consists of an original and tutored piece of work to demonstrate that students have acquired the competencies worked on during the programme. To verify students' identity and authorship in the assessment tests, the UOC reserves the right to use identity recognition and plagiarism detection systems. For these purposes, the UOC may make video recordings or use supervision methods or techniques while students carry out any of their academic activities. The UOC may also require students to use electronic devices (microphones, webcams or other tools) or specific software during assessments. It is the student's responsibility to ensure that these devices work properly. The assessment process is based on students' individual efforts, and the assumption that the student is the author of the work submitted for academic activities and that this work is original. The UOC's website on academic integrity and plagiarism has more information on this. Submitting work that is not one's own or not original for assessment tests; copying or plagiarism; impersonation; accepting or obtaining any assignments, whether for compensation or otherwise; collaboration, cover-up or encouragement to copy; and using materials, software or devices not authorized in the course plan or instructions for the activity, including artificial intelligence and machine translation, among others, are examples of misconduct in assessments that may have serious academic and disciplinary consequences. If students are found to be engaging in any such misconduct, they may receive a Fail (D/0) for the graded activities in the course plan (including final tests) or for the final grade for the course. This could be because they have used unauthorized materials, software or devices (such as artificial intelligence when it is not permitted, social media or internet search engines) during the tests; copied fragments of text from an external source (the internet, notes, books, articles, other students' work or tests, etc.) without the corresponding citation; purchased or sold assignments, or undertaken any other form of misconduct. Likewise and in accordance with the UOC's academic regulations, misconduct during assessment may also be grounds for disciplinary proceedings and, where appropriate, the corresponding disciplinary measures, as established in the regulations governing the UOC community (Normativa de convivència). In its assessment process, the UOC reserves the right to:
Artificial intelligence in assessments The UOC understands the value and potential of artificial intelligence (AI) in education, but it also understands the risks involved if it is not used ethically, critically and responsibly. So, in each assessment activity, students will be told which AI tools and resources can be used and under what conditions. In turn, students must agree to follow the guidelines set by the UOC when it comes to completing the assessment activities and citing the tools used. Specifically, they must identify any texts or images generated by AI systems and they must not present them as their own work. In terms of using AI, or not, to complete an activity, the instructions for assessment activities indicate the restrictions on the use of these tools. Bear in mind that using them inappropriately, such as using them in activities where they are not allowed or not citing them in activities where they are, may be considered misconduct. If in doubt, we recommend getting in touch with the course instructor and asking them before you submit your work. |
||||||||||||||||||||||||||||||||||||||
|