Ficha Unidade Curricular (FUC)
Informação Geral / General Information
Carga Horária / Course Load
Área científica / Scientific area
Matemática
Departamento / Department
Departamento de Matemática
Ano letivo / Execution Year
2024/2025
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. Variáveis aleatórias, informação e entropia. 3. Métodos de Núcleo e processos Gaussianos em regressão e classificação. 4. Análise de componentes principais. II - Processamento de sinal. 1. 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 units 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
A avaliação será feita através de 4 fichas de exercícios (25% cada), realizadas individualmente. Cada ficha terá uma componente escrita e outra de implementação em Python. As resoluções apresentadas estão sujeitas a discussão. A época especial está reservada para os casos previstos no Artigo 14o do Regulamento Geral de Avaliação de Conhecimentos e Competências (RGACC) e contemplará uma só ficha de exercícios (100%), a ser realizada individualmente, e englobando toda a matéria da UC.
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
Considerando que a avaliação se baseia unicamente em trabalhos individuais ao longo do semestre (dado o caráter eminentemente prático da unidade curricular), não haverá lugar a melhoria de nota.
Bibliografia Principal / Main Bibliography
1. Ian Goodfellow, Yoshua Bengio e Aaron Courville, "Deep learning", MIT press, 2016. 2. Aston Zhang, Zachary C. Lipton, Mu Li and Alexander J. Smola, "Dive into Deep Learning", 1st Edition, Cambridge University Press, 2024. 3. Christopher M. Bishop, "Pattern Recognition and Machine Learning", Springer, 2006. 4. Richard S. Sutton and Andrew G. Barto, "Reinforcement Learning: an introduction", MIT press, 2nd edition, 2018.
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
2024-09-18