Ficha Unidade Curricular (FUC)

Informação Geral / General Information


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

Carga Horária / Course Load


Semestre :
2
Créditos ECTS :
6.0
Aula Teórica (T) :
0.0h/sem
Aula Teórico-Prática (TP) :
36.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 :
37.0h/sem
Trabalho Autónomo :
113.0
Horas de Trabalho Total :
150.0h/sem

Área científica / Scientific area


460 - Matemática e estatística

Departamento / Department


Departamento de Tecnologias Digitais

Ano letivo / Execution Year


2024/2025

Pré-requisitos / Pre-Requisites


Não tem

Objetivos Gerais / Objectives


Esta Unidade Curricular foca-se no desenvolvimento de competências em aprendizagem automática não supervisionada e aprendizagem por reforço. Os alunos serão capacitados para extrair conhecimento de conjuntos de dados em diversas áreas, utilizando métodos de aprendizagem não supervisionada e estratégias de aprendizagem por reforço. Irão abordar vários problemas reais, para os quais irão analisar e interpretar dados, através de projetos práticos discutidos em aula. Adquirirão conhecimento em técnicas avançadas de modelação de algoritmos não supervisionados para segmentação e análise de padrões, e algoritmos de aprendizagem por reforço para a tomada de decisões baseadas em recompensas. Os alunos também aprenderão a avaliar e otimizar o desempenho destes modelos, aplicando-os em situações práticas do mundo real.

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. Compreender os principais métodos de aprendizagem não supervisionada OA2: Avaliar, validar e interpretar os resultados de modelos não supervisionados OA3: Desenvolver projetos de descoberta de conhecimento a partir de dados utilizando modelos de aprendizagem não supervisionada OA4: Conhecer, através da abordagem de vários contextos de problemas (por exemplo, segmentação de clientes) nos quais a aprendizagem não supervisionada pode efetivamente proporcionar soluções relevantes para esses problemas OA5. Compreender os fundamentos teóricos e práticos da aprendizagem por reforço OA6. Implementar e testar algoritmos de aprendizagem por reforço em ambientes simulados para entender a dinâmica entre as ações e consequentes recompensas OA7. Avaliar e otimizar o desempenho de modelos de aprendizagem por reforço, utilizando métricas apropriadas OA8. Aprender e aplicar os algoritmos não supervisionados e por reforço em casos de estudo práticos

Conteúdos Programáticos / Syllabus


CP1: Introdução à aprendizagem não supervisionada: conceitos fundamentais, tipos de algoritmos e aplicações práticas. CP2: Redução de dimensionalidade e visualização de dados: Análise de Componentes Principais (PCA), t-SNE e UMAP para redução de dimensionalidade e interpretação visual. CP3: Clustering e técnicas de segmentação: exploração de algoritmos como K-Means, DBSCAN, Expectation-Maximization (EM), clustering hierárquico. CP4: Análise e deteção de outliers através de técnicas não supervisionadas: KNN, LOF, iForest CP5: Mapas Self-Organizing (SOMs): aplicação de mapas auto-organizáveis para visualização e análise de padrões complexos em grandes volumes de dados. CP6: Regras de associação e algoritmo de Apriori. CP7: Técnicas de aprendizagem por reforço: Q-Learning, SARSA. Introdução aos conceitos e implementação prática. CP8: Exploration vs. exploitation na aprendizagem por reforço: estratégias para equilibrar a tomada de decisão.

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 conteúdos programáticos da UC são estruturados de modo a garantir uma sólida compreensão dos métodos e técnicas de aprendizagem não supervisionada e por reforço, alinhando-se com os objetivos de aprendizagem estabelecidos. Inicialmente, os alunos são introduzidos aos conceitos fundamentais e aplicações práticas de aprendizagem não supervisionada, como clustering e redução de dimensionalidade (OA1, OA2, OA3). Em seguida, técnicas avançadas como análise de outliers, regras de associação e mapas auto-organizáveis são exploradas para aprofundar a análise de padrões complexos (OA2, OA3, OA4). A aprendizagem por reforço é abordada com foco em algoritmos como Q-Learning e SARSA, promovendo a compreensão da sua aplicação prática e a otimização de modelos baseados em recompensas (OA5, OA6, OA7). Finalmente, a aplicação destes conhecimentos é consolidada através de projetos práticos que integram teoria e prática, refletindo a relevância e aplicabilidade dos métodos estudados (OA8).

Avaliação / Assessment


Esta UC, por ter uma natureza bastante prática e de aplicação, segue o modelo de avaliação ao longo do semestre a 100% por projeto, pelo que esta UC não contempla exame final. A avaliação é constituída por 3 blocos de avaliação (BA), e cada BA é constituído por um ou vários momentos de avaliação. Essa mesma constituição respeita a seguinte distribuição: - BA1: 1ª tutoria + 1º mini-teste [20% para a 1ª tutoria + 10% para o 1º mini-teste = 30%] - BA2: 2ª tutoria + 2º mini-teste [20% para a 2ª tutoria + 10% para o 2º mini-teste = 30%] - BA3: 1 projeto final [40%] Todos os blocos de avaliação periódica (BA1, BA2 e BA3) possuem uma nota mínima de 8,5 valores. Em qualquer BA, poderá haver necessidade de realizar uma discussão oral individual para aferição de conhecimentos. As tutorias consistem em discussões orais individuais que permite avaliar o desempenho dos alunos nos projetos propostos para a realização da tutoria. Os mini-testes permitem avaliar o conhecimento teórico aplicado a cada um dos projetos avaliados também em tutoria. O projeto final consiste no desenvolvimento de um trabalho prático que agrega os conhecimentos e competências adquiridos ao longo do semestre, onde poderá haver participação de organizações externas / empresas no desafio proposto. A 1ª Época e 2ª Época poderão ser utilizadas para realização de momentos de avaliação. A presença nas aulas não é obrigatória.

Metodologias de Ensino / Teaching methodologies


- A estratégia pedagógica adotada combina aulas teóricas, que abordam conceitos fundamentais e ilustram estes através de exemplos práticos, bem como a atribuição de trabalho autónomo, visando a consolidação dos objetivos de aprendizagem propostos. - A apresentação de problemas reais e a discussão das limitações de abordagens tradicionais são essenciais para reforçar a compreensão dos estudantes e fomentar o desenvolvimento do pensamento crítico. Esta metodologia é enriquecida pela introdução de casos e desafios propostos por empresas parceiras, permitindo que os estudantes apliquem os conhecimentos adquiridos na resolução de problemas do mundo real, promovendo assim uma maior ligação entre a teoria e a prática. - O ensino de conteúdos técnicos avançados é apoiado pela análise detalhada dos requisitos dos problemas a serem abordados, juntamente com uma exploração aprofundada das vantagens e dos desafios específicos de cada método ou tecnologia. Esta abordagem é complementada pela colaboração com o setor empresarial, que pode fornecer contextos reais de aplicação e feedback prático, incentivando uma aprendizagem mais aplicada e orientada para resultados concretos que respondem a desafios do mundo real.

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


- Inicialmente, os alunos são introduzidos aos fundamentos e desafios do campo da Aprendizagem Automática Não Supervisionada, focando-se na compreensão e identificação dos dados que caracterizam estes problemas. Nesta fase, são abordados os primeiros conceitos relacionados à história e aos fundamentos da aprendizagem automática não supervisionada, bem como técnicas de clustering e redução de dimensionalidade (OA1; OA2; OA3). - Nas aulas práticas subsequentes, os alunos enfrentam desafios que envolvem a aplicação de técnicas de clustering, detecção de outliers, e uso de mapas auto-organizáveis para analisar padrões nos dados. Estas atividades práticas permitem aos alunos explorar as diversas etapas do processo de descoberta de conhecimento a partir de dados, aprofundando assim a compreensão dos métodos de aprendizagem não supervisionada (OA2; OA3). - Paralelamente, a introdução aos conceitos e práticas da aprendizagem por reforço permite aos alunos compreender a importância de algoritmos como Q-Learning e SARSA, e a aplicação destes em ambientes simulados, o que permite destacar a diferença entre aprendizagem supervisionada, não supervisionada e por reforço, e como cada uma pode ser aplicada para resolver problemas específicos, integrando teoria e prática de forma progressiva (OA5; OA6; OA7). - No que diz respeito à avaliação, os alunos são desafiados com projetos que devem ser desenvolvidos de forma totalmente autónoma, refletindo situações reais em que a aprendizagem não supervisionada e por reforço podem ser aplicadas. - Durante as sessões de tutoria, o docente não só transmite conhecimento, mas também orienta os estudantes na correta aplicação prática, atuando como um "cliente" que apresenta necessidades específicas a serem atendidas pelos projetos. Aqui, os alunos têm a oportunidade de aplicar e integrar os conhecimentos adquiridos em todos os Objetivos de Aprendizagem, desde a compreensão teórica até o desenvolvimento de soluções inovadoras para problemas complexos, abrangendo tanto a aprendizagem não supervisionada quanto a aprendizagem por reforço (OA3; OA4; OA5; OA6; OA7; OA8).

Observações / Observations


Para mais informações, é favor consultar o Código de Conduta Académica (CCA) do Iscte - Instituto Universitário de Lisboa.

Bibliografia Principal / Main Bibliography


Berry, M. W., Mohamed, A., & Yap, B. W. (Eds.). (2019). Supervised and unsupervised learning for data science. Springer Nature. Vidal, R., Ma, Y., & Sastry, S. S. (2016). Generalized principal component analysis (Vol. 5). New York: Springer. Reddy, C. K. (2018). Data Clustering: Algorithms and Applications. Chapman and Hall/CRC. Szepesvari, C. (2010). Algorithms for reinforcement learning (R. Brachman & T. Dietterich, Eds.; 1.a ed.). Morgan & Claypool.

Bibliografia Secundária / Secondary Bibliography


Kassambara, A. (2017). Practical guide to cluster analysis in R: Unsupervised machine learning (Vol. 1). Sthda. Verdhan, V. (2020). Models and Algorithms for Unlabelled Data. Springer. Contreras, P., & Murtagh, F. (2015). Hierarchical clustering. In Handbook of cluster analysis (pp. 124-145). Chapman and Hall/CRC. Sutton, R. S., & Barto, A. G. (2018). Reinforcement Learning, second edition: An Introduction (2.a ed.). MIT Press.

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


2024-07-30