Fundamentos de Aprendizagem Automática
Informação
Corpo docente: Pétia Georgieva
Duração: Semestral
Horas de trabalho: 162
Horas de contacto: 45
ECTS: 6
Área científica: Informática
Objetivos
- Compreender os fundamentos de aprendizagem automática, nomeadamente as abordagens com e sem supervisão.
- Saber como se podem aplicar as técnicas de aprendizagem automática no contexto de modelos de regressão, classificação, agrupamento, aprendizagem profunda.
Resultados de Aprendizagem
- Conhecimentos de conceitos de base e técnicas de aprendizagem automática.
- Competências digitais de implementar os algoritmos de AA em programas informáticos.
- Pesquisa de referências e análise de literatura.
- Reforçar a experiência de trabalhar em equipa.
- Competências de comunicação escrita e comunicação oral.
- Definição e resolução de problemas.
Requisitos
- Para o adequado funcionamento da UC os estudantes admitidos devem ter boas bases de matemática (principalmente álgebra linear)
- Saber programar em Python
- Saber entender, ler e escrever em Inglês
Avaliação
Componente Prática (50% da nota final): Desenvolvimento de dois projetos. O primeiro projeto é avaliado baseado na elaboração de um relatório (componente escrita) e de uma apresentação do Projeto (componente oral). O segundo projeto compreende escrita de um artigo em formato de IEEE. Cada projeto tem peso de 50% da componente prática.
Componente Teórica (50% da nota final): avaliação por exame.
Metodologia
Aulas teórico-praticas com exposição da matéria na componente teórica; resolução de exercícios na componente prática baseada em Python. Plataforma Anaconda (Jupiter Notebook) e ambientes Tensorflow e Keras. Trabalho nos projectos alocados a cada grupo de dois alunos. Acompanhamento dos projectos fora das aulas.
Conteúdos
- Conceitos fundamentais: modelos baseados em dados, optimização baseada em gradiente.
- AA supervisionada: regressão, classificação.
- AA não-supervisionada: Agrupamento, k-medias; Análise de componentes principais (PCA).
- Detecção de anomalias.
- Aprendizagem profunda (deep learning): introdução. Redes Neuronais Profundas.
- Redes Neuronais Convolucionais. Detecção e reconhecimento de objectos (rede neuronal YOLO).
- Redes Neuronais Recorrentes (GRU, LSTM). Processamento de séries temporais com rede Long Short Term Memory (LSTM).
- Aprendizagem por reforço (Reinforcement learning). Markov Decision Process (MDP). Equação de Bellman; Q-learning.
Bibliografia recomendada
- Andrew Ng, Machine Learning Yearning, 2018 (https://www.deeplearning.ai/machine-learning-yearning/)
- David Barber, Bayesian Reasoning and Machine Learning, Cambridge University Press , 2012, (available on-line http://web4.cs.ucl.ac.uk/staff/D.Barber/textbook/091117.pdf).
- Ian Goodfellow, and Yoshua Bengio, Deep Learning, MIT Press, 2016