Ficha Unidade Curricular (FUC)

Informação Geral / General Information


Código :
04663
Acrónimo :
TMAA
Ciclo :
2.º ciclo
Línguas de Ensino :
Português (pt)
Língua(s) amigável(eis) :
Inglês

Carga Horária / Course Load


Semestre :
1
Créditos ECTS :
6.0
Aula Teórica (T) :
0.0h/sem
Aula Teórico-Prática (TP) :
30.0h/sem
Aula Prática e Laboratorial (PL) :
0.0h/sem
Trabalho de Campo (TC) :
0.0h/sem
Seminario (S) :
0.0h/sem
Estágio (E) :
0.0h/sem
Orientação Tutorial (OT) :
1.0h/sem
Outras (O) :
0.0h/sem
Horas de Contacto :
31.0h/sem
Trabalho Autónomo :
119.0
Horas de Trabalho Total :
150.0h/sem

Área científica / Scientific area


Matemática

Departamento / Department


Departamento de Matemática

Ano letivo / Execution Year


2025/2026

Pré-requisitos / Pre-Requisites


Conhecimentos básicos de álgebra linear, cálculo diferencial e integral, e probabilidades.

Objetivos Gerais / Objectives


Desenvolver, tanto a um nível teórico como ao nível da sua implementação (em python), alguns conceitos e técnicas matemáticas básicas transversais à aprendizagem automática. Apreender ainda rudimentos de programação dinâmica no contexto da aprendizagem automática por reforço.

Objetivos de Aprendizagem e a sua compatibilidade com o método de ensino (conhecimentos, aptidões e competências a desenvolver pelos estudantes) / Learning outcomes


OA1. Conhecer conceitos fundamentais de álgebra linear, teoria das probabilidades e informação. OA2. Aplicar as técnicas anteriores (OA1) no contexto de aprendizagem automática, em particular, implementando métodos de Kernel e processos Gaussianos em problemas de regressão e classificação. OA3. Dominar técnicas fundamentais de análise de Fourier e wavelets. OA4. Utilizar os métodos anteriores (OA1 e OA3) no contexto de processamento de sinal e imagem. OA5. Aplicar algoritmos básicos de programação dinâmica à resolução de problemas via aprendizagem por reforço. OA6. Implementar em Python as técnicas referidas.

Conteúdos Programáticos / Syllabus


I - Álgebra Linear, probabilidades e informação. 1. Produtos internos e decomposição de matrizes. 2. Análise de componentes principais. 3. Variáveis aleatórias, informação e entropia. 4. Métodos de Núcleo e processos Gaussianos em regressão e classificação. II - Processamento de sinal. 1. Transformada de Fourier discreta, FFT e convolução. 2. Wavelets discretas. 3. Aplicações ao processamento de som e imagem. III - Programação dinâmica e aprendizagem por reforço. 1. O contexto da aprendizagem por reforço. 2. A equação de Bellman. 3. Métodos iterativos e aplicações. 4. Métodos de Monte Carlo.

Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da UC / Evidence that the curricular unit's content dovetails with the specified learning outcomes


Os resultados de aprendizagem estão claramente alinhados com o programa. Os estudantes adquirirão uma compreensão sólida de conceitos fundamentais em álgebra linear, probabilidades e teoria da informação. Serão capazes de aplicar essas técnicas, em particular, métodos de kernel e processos Gaussianos, a problemas de aprendizagem automática envolvendo regressão e classificação. Além disso, os estudantes dominarão técnicas básicas de análise de Fourier e wavelets e empregarão esses métodos no processamento de sinal e imagem. Também desenvolverão capacidades para aplicar algoritmos básicos de programação dinâmica em aprendizagem por reforço e implementar as técnicas mencionadas usando Python. No geral, o programa garante que os estudantes obtenham conhecimentos abrangentes e habilidades práticas nos domínios de álgebra linear, probabilidades, teoria da informação, processamento de sinal e aprendizagem por reforço, alinhando-se efetivamente com os objetivos da unidade curricular.

Avaliação / Assessment


Esta UC, tendo uma forte componente de caráter eminentemente prático, contempla unicamente a modalidade de avaliação ao longo do semestre. Para tal, é requisito mínimo a assiduidade a 50% das aulas. A avaliação será feita através de 2 fichas de exercícios, 2 projetos, e uma prova escrita final. Cada ficha de exercícios vale 10% da nota final (em conjunto valem 20%), e são realizadas individualmente por escrito. Cada projeto vale 15% da nota final (em conjunto valem 30%), e é para ser desenvolvido e implementado em Python. Os projetos são realizados em grupos de 3 pessoas, preferencialmente, e estarão sujeitos a uma discussão final. A prova escrita final (valendo 50% da nota final) coincide com as datas de exame de 1ª época e 2ª época, e engloba toda a matéria da UC, exceptuando qualquer a implementação em Python. Para obter aprovação à UC uma nota mínima de 8.0 valores é exigida nesta prova escrita final. A época especial está reservada para os casos previstos no Artigo 14o do Regulamento Geral de Avaliação de Conhecimentos e Competências (RGACC).

Metodologias de Ensino / Teaching methodologies


As aulas desenrolam-se de acordo com as seguintes metodologias de ensino-aprendizagem (MEA): MEA1. Exposição e discussão. MEA2. Resolução de exercícios. MEA3. Trabalho autónomo do aluno. MEA4. Aulas Laboratoriais - Estas aulas, 2 por tópico principal, realizam-se no sistema Bring Your Own Device onde os alunos irão implementar, em Python, aplicações dos conceitos desenvolvidos ao longo da UC.

Demonstração da coerência das metodologias de ensino e avaliação com os objetivos de aprendizagem da UC / Evidence that the teaching and assessment methodologies are appropriate for the learning outcomes


A metodologia de ensino MEA1, que envolve exposição e discussão, é coerente com todos os objetivos de aprendizagem. Através desta metodologia, os alunos podem adquirir conhecimentos relativos a conceitos fundamentais de álgebra linear, teoria das probabilidades e teoria da informação (OA1). Eles também podem compreender como aplicar esses conceitos no contexto da aprendizagem automática, utilizando métodos de Núcleo e processos Gaussianos para problemas de regressão e classificação (OA2). Além disso, estes métodos de aprendizagem clássicos, permitem introduzir as técnicas básicas de análise de Fourier e wavelets (OA3) e ajudar os alunos a compreender como empregar esses métodos em processamento de sinal e de imagem (OA4). Em geral, a MEA1 fornece uma plataforma para uma compreensão aprofundada dos objetivos de aprendizagem. Em relação à MEA2, que se concentra na resolução de problemas, alinha-se bem com todos os objetivos de aprendizagem. Ao se envolverem em atividades de resolução de problemas, os alunos podem aplicar ativamente o conhecimento adquirido nos objetivos de aprendizagem OA1 - OA4. A metodologia MEA2 promove a aprendizagem prática e a aplicação prática dos objetivos de aprendizagem. No que diz respeito à MEA3, que envolve o estudo autónomo, de acordo com o planeamento semanal das aulas, ela apoia a realização de todos os objetivos de aprendizagem. Através do estudo autónomo, os alunos podem aprofundar a sua compreensão dos conceitos fundamentais subjacentes a todos os objetivos de aprendizagem, explorando-os ao seu próprio ritmo. A MEA3 promove a aprendizagem independente e estimula o desenvolvimento dos objetivos de aprendizagem desejados. Por fim, a MEA4, que envolve aulas práticas de laboratório de computação e implementação prática de técnicas em Python, alinha-se perfeitamente com todos os objetivos de aprendizagem. Esta abordagem permite que os alunos pratiquem e implementem algoritmos básicos associados a todos os OA e adquiram experiência prática na implementação das técnicas correspondentes em Python (OA6). A MEA4 garante uma conexão direta entre os objetivos de aprendizagem e a aplicação prática dos conceitos e técnicas aprendidas pelos alunos.

Observações / Observations


Bibliografia Principal / Main Bibliography


1. Ian Goodfellow, Yoshua Bengio e Aaron Courville, "Deep learning", MIT press, 2016. 2. Christopher M. Bishop, "Pattern Recognition and Machine Learning", Springer, 2006. 3. Richard S. Sutton and Andrew G. Barto, "Reinforcement Learning: an introduction", MIT press, 2nd edition, 2018. 4. Aston Zhang, Zachary C. Lipton, Mu Li and Alexander J. Smola, "Dive into Deep Learning", 1st Edition, Cambridge University Press, 2024.

Bibliografia Secundária / Secondary Bibliography


1. Francois Chollet, "Deep Learning with Python", Second Edition, Manning Publications Co., 2021. 2. Steven L. Brunton and J. Nathan Kutz, “Data-Driven Science and Engineering: Machine Learning, Dynamical Systems, and Control”, Cambridge University Press, 1st edition, 2019.

Data da última atualização / Last Update Date


2025-07-15