Topics On Optimization and Machine Learning

You are here

Credits
6
Types
Specialization compulsory (Computer Networks and Distributed Systems)
Requirements
This subject has not requirements, but it has got previous capacities
Department
AC
Mail
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

  1. Capacity to formulate a convex optimization problem
    Related competences: CG3, CEE2.3, CB6, CTR6,
  2. Capacity to solve non linear optimization problems.
    Related competences: CG3, CEE2.3, CB6, CTR6,
  3. Capacity to apply to a real problem topics related to optimization
    Related competences: CG3, CEE2.2, CEE2.3, CEE2.1, CB8, CTR6,
  4. Capacity to understand basic machine learning algorithms
    Related competences: CG3, CEE2.3, CB6, CTR6,
  5. Capacity to apply machine learning algorithms to real scenarios.
    Related competences: CG3, CEE2.2, CEE2.3, CEE2.1, CB8, CTR6,
  6. Capacity to understand neural networks and deep learning algorithms
    Related competences: CG3, CEE2.3, CB6, CTR6,
  7. Capacity to apply neural networks and deep learning algorithms to real scenarios
    Related competences: CG3, CEE2.2, CEE2.3, CEE2.1, CB8, CTR6,

Contents

  1. 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)
  2. 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.
  3. 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.

Activities

Activity Evaluation act


Convex Optimization basics


Objectives: 1 2 3
Contents:
Theory
18h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
15h

Applications to machine learning topics


  • Theory: Development of the theory. Embedded in the theory there will be some classes devoted to exercises.
Objectives: 4 3
Contents:
Theory
18h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
15h

Neural networks and deep learning


  • Theory: Development of the theory. Embedded in the theory there will be some classes devoted to exercises.
Objectives: 3 6
Contents:
Theory
18h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
15h

Delivery of project on programming exercises on non-linear optimization


Objectives: 1 2
Week: 5 (Outside class hours)
Type: assigment
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
12h

Delivery of the programming project for the optimisation of a media access control protocol (MAC) in a wireless sensor network,


Objectives: 2 3
Week: 9 (Outside class hours)
Type: assigment
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
12h

Delivery of the sensor calibration project using machine learning techniques (MLR, KNN, SVR, RF, GP),


Objectives: 5 4 3
Week: 14 (Outside class hours)
Type: assigment
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
13h

Delivery of the project using a neural network


Objectives: 3 6 7
Week: 18 (Outside class hours)
Type: assigment
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
14h

Teaching methodology

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).

Bibliography

Basic:

Web links

Previous capacities

Recommended to have previously followed the course "Statistical Analysis of Networks and Systems (SANS-MIRI)"