The goal of this course is giving the student a background in the methodologies in the advanced design of mechanisms using non-lineal convex optimization, machine learning, and deep learning that can be applied to computer networks and distributed systems.
Teachers
Person in charge
Jose Maria Barceló Ordinas (
)
Others
Jorge García Vidal (
)
Weekly hours
Theory
4
Problems
0
Laboratory
0
Guided learning
0
Autonomous learning
7.11
Competences
Technical Competences of each Specialization
Computer networks and distributed systems
CEE2.1 - Capability to understand models, problems and algorithms related to distributed systems, and to design and evaluate algorithms and systems that process the distribution problems and provide distributed services.
CEE2.2 - Capability to understand models, problems and algorithms related to computer networks and to design and evaluate algorithms, protocols and systems that process the complexity of computer communications networks.
CEE2.3 - Capability to understand models, problems and mathematical tools to analyze, design and evaluate computer networks and distributed systems.
Generic Technical Competences
Generic
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.
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.
CB8 - Capability to communicate their conclusions, and the knowledge and rationale underpinning these, to both skilled and unskilled public in a clear and unambiguous way.
Objectives
Capacity to formulate a convex optimization problem
Related competences:
CB6,
CTR6,
CEE2.3,
CG3,
Capacity to solve non linear optimization problems.
Related competences:
CB6,
CTR6,
CEE2.3,
CG3,
Capacity to apply to a real problem topics related to optimization
Related competences:
CB8,
CTR6,
CEE2.1,
CEE2.2,
CEE2.3,
CG3,
Capacity to understand basic machine learning algorithms
Related competences:
CB6,
CTR6,
CEE2.3,
CG3,
Capacity to apply machine learning algorithms to real scenarios.
Related competences:
CB8,
CTR6,
CEE2.1,
CEE2.2,
CEE2.3,
CG3,
Capacity to understand neural networks and deep learning algorithms
Related competences:
CB6,
CTR6,
CEE2.3,
CG3,
Capacity to apply neural networks and deep learning algorithms to real scenarios
Related competences:
CB8,
CTR6,
CEE2.1,
CEE2.2,
CEE2.3,
CG3,
Contents
Convex Optimization basics
In this topic we will introduce the main concepts of non-linear optimization with special emphasis in convex optimization. Specifically we will see: convex sets, convex functions, convex optimization problems (COP) and duality (Lagrange dual function, KKT optimality conditions), methods for solving COP's (General Descent Methods, Interior Point Methods)
Applications to machine learning topics
Examples of how optimization is applied in the field of machine learning in computer networks and distributed networks. Specifically, we will explain supervised methods such as multiple linear regression with regularization (ridge regression and lasso), nearest neighboring methods, kernel regression (RKHS) and Gaussian processes, support vector machines, bootstrapping, random forest, and unsupervised methods such as cluttering methods with k-means, hierarchical clustering, mixture of Gaussians and the expectation maximization algorithmm.
Neural networks and deep learning
In this chapter we study the basic concepts related to neural networks and deep learning applied to computer networks and distributed systems. Specifically, introduction to neural networks, back propagation algorithm, SGD, regularization techniques and review of the most important NN architectures including multilayer perceptron (MLP), convolutional neural networks (CNN), recurrent neural networks(RNN) and autoencoders.
During the initial sessions of each topic, the main results will be explained in the blackboard. The student will solve some exercises to prove their skills in the topic. Finally, the students develop projects according to the topics studied.
Evaluation methodology
The evaluation is based on the development of 4 projects (each project is worth the same) and 2 written exams. The final grade for the course (FM) will be:
FM = 0.6*(P1+P2+P3+P4) + 0.15*Ex1 + 0.25*Ex2.
For each project, a research report is submitted where the proposed problem is analysed, the resolution methodology is described and the results and conclusions are described. Students will be assessed on their ability to demonstrate understanding and comprehension of the theory, ability to reason and communicate results (competences CG3, CEE2.2, CEE2.3, CEE2.1, CB8, CTR6).
In the written exams, they will be given a list of theoretical concepts related to the subject topics on which they have to demonstrate an understanding and comprehension. In the exam they will be asked to explain their understanding of these concepts (competences CG3, CEE2.3, CB6, CTR6).