The aim of machine learning is the development of theories, techniques and algorithms to allow a computer system to modify its behavior in a given environment through inductive inference. The goal is to infer practical solutions to difficult problems --for which a direct approach is not feasible-- based on observed data about a phenomenon or process. Machine learning is a meeting point of different disciplines: statistics, optimization and algorithmics, among others.
The course is divided into conceptual parts, corresponding to several kinds of fundamental tasks: supervised learning (classification and regression) and unsupervised learning (clustering, density estimation). Specific modelling techniques studied include artificial neural networks and support vector machines. An additional goal is getting acquainted with python and its powerful machine learning libraries.
Teachers
Person in charge
Mario Martín Muñoz (
)
Marta Arias Vicente (
)
Weekly hours
Theory
1.9
Problems
0
Laboratory
1.9
Guided learning
0
Autonomous learning
6.86
Competences
Generic Technical Competences
Generic
CG1 - Capability to apply the scientific method to study and analyse of phenomena and systems in any area of Computer Science, and in the conception, design and implementation of innovative and original solutions.
CG3 - Capacity for mathematical modeling, calculation and experimental designing in technology and companies engineering centers, particularly in research and innovation in all areas of Computer Science.
CG5 - Capability to apply innovative solutions and make progress in the knowledge to exploit the new paradigms of computing, particularly in distributed environments.
Transversal Competences
Reasoning
CTR6 - Capacity for critical, logical and mathematical reasoning. Capability to solve problems in their area of study. Capacity for abstraction: the capability to create and use models that reflect real situations. Capability to design and implement simple experiments, and analyze and interpret their results. Capacity for analysis, synthesis and evaluation.
Basic
CB6 - Ability to apply the acquired knowledge and capacity for solving problems in new or unknown environments within broader (or multidisciplinary) contexts related to their area of study.
Technical Competences of each Specialization
Specific
CEC1 - Ability to apply scientific methodologies in the study and analysis of phenomena and systems in any field of Information Technology as well as in the conception, design and implementation of innovative and original computing solutions.
CEC2 - Capacity for mathematical modelling, calculation and experimental design in engineering technology centres and business, particularly in research and innovation in all areas of Computer Science.
Objectives
Formulate the problem of (machine) learning from data, and know the different machine learning tasks, goals and tools.
Related competences:
CG3,
CEC1,
Organize the workflow for solving a machine learning problem, analyzing the possible options and choosing the most appropriate to the problem at hand
Related competences:
CB6,
CEC1,
CEC2,
CTR6,
CG5,
Ability to decide, defend and criticize a solution to a machine learning problem, arguing the strengths and weaknesses of the approach. Additionally, ability to compare, judge and interpret a set of results after making a hypothesis about a machine learning problem
Related competences:
CG1,
CEC1,
CEC2,
CTR6,
Understand and know how to apply least squares techniques for solving supervised learning problems
Related competences:
CG3,
CEC2,
CTR6,
Understand and know how to apply techniques for single and multilayer neural networks for solving supervised learning problems
Related competences:
CG3,
CB6,
CEC2,
CTR6,
Understand and know how to apply support vector machines for solving supervised learning problems
Related competences:
CG3,
CB6,
CEC2,
CTR6,
CG5,
Understand and formulate different theoretical tools for the analysis, study and description of machine learning systems
Related competences:
CG3,
CTR6,
CG5,
Understand and know how to apply the basic techniques for solving unsupervised learning problems
Related competences:
CG3,
CB6,
Contents
Introduction to Machine Learning
General information and basic concepts. Overview to the problems tackled by machine learning techniques. Supervised learning (classification and regression), unsupervised learning (clustering and density estimation) and semi-supervised learning (reinforcement and transductive). Examples.
Supervised machine learning theory
The supervised Machine Learning problem setup. Classification and regression problems. Bias-variance tradeoff. Regularization. Overfitting and underfitting. Model selection and resampling methods.
Linear methods for regression
Error functions for regression. Least squares: analytical and iterative methods. Regularized least squares. The Delta rule. Examples.
Linear methods for classification
Error functions for classification. The perceptron algorithm. Novikoff's theorem. Separations with maximum margin. Generative learning algorithms and Gaussian discriminant analysis. Naive Bayes. Logistic regression. Multinomial regression.
Artificial neural networks
Artificial neural networks: multilayer perceptron and radial basis functions network. Application to classification and to regression problems.
Kernel functions and support vector machines
Definition and properties of Kernel functions. Support vector machines for classification and regression problems.
Unsupervised machine learning
Unsupervised machine learning techniques. Clustering algorithms: EM algorithm and k-means algorithm.
Ensemble methods
Bagging and boosting methods, with an emphasis on Random Forests
The course introduces the most important concepts in machine learning and its most relevant techniques with a solid foundation in math. All the theory and concepts are illustrated and accompanied by real-world examples and code using open source libraries.
The theory is introduced in lectures where the teacher exposes the concepts, and during the lab sessions students will see many examples on how to apply the methods and theory learned, as well as code their own solutions to exercises proposed by the teacher.
Students have to work on a course project using a real-world dataset.
Evaluation methodology
The course is graded as follows:
P = Grade of mid-term test-type exam
F = Score of the final exam
L = Score for the practical work