Ficha Unidade Curricular (FUC)
Informação Geral / General Information
Carga Horária / Course Load
Á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 visa desenvolver competências em aprendizagem automática supervisionada. Assim, os alunos irão ser capazes de extrair de conhecimento a partir de dados das mais variadas áreas de intervenção. Os alunos tomarão contato com vários problemas para os quais existem dados que os caracterizam, através de projetos apresentados e discutidos nas aulas. Os alunos adquirirão conhecimento em metodologias para a proposta de soluções a partir desses dados que envolvam o treino de modelos de regressão e de classificaçã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 a história da aprendizagem automática; conhecer e compreender os diferentes tipos de aprendizagem automática: conceitos, fundamentos e aplicações OA2. Conhecer os conceitos que permitem realizar uma Análise Exploratória de Dados (EDA), como também compreender a importância na resolução de problemas e na tomada de decisão OA3. Aprender mecanismos de Data Wrangling - preparação de dados para serem alvo de input para um algoritmo supervisionado OA4. Conhecer a utilização de variáveis contínuas e categóricas; distinguir classificação e regressão OA5. Conhecer e analisar os resultados através da aplicação de métricas de avaliação de desempenho OA6. Compreender os algoritmos supervisionados: árvores de decisão, regressão linear e logística, SVMs, Naive-Bayes e k-NN OA7. Compreender algoritmos de ensemble: bagging e boosting OA8. Conhecer e compreender o funcionamento das Redes Neuronais Artificiais (RNA) OA9. Conhecer e compreender a otimização de hiperparâmetros
Conteúdos Programáticos / Syllabus
CP1. Introdução à Aprendizagem Automática: A história, fundamentos e conceitos base CP2. Análise Exploratória de Dados (EDA): Data Wrangling e Data Visualization CP3. Classificação e Regressão; Variáveis contínuas e categóricas / discretas; métricas de avaliação de performance CP4. Aprendizagem supervisionada: SVM, Árvores de Decisão, Regressões Linear e Logística, Naive-Bayes e k-NN. CP5. Bagging e Boosting em algoritmos supervisionados CP6. Redes Neuronais Artificiais CP7. Otimização de hiperparâmetros
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
Inicialmente, os alunos são introduzidos à história e conceitos básicos da aprendizagem automática (OA1). Segue-se a Análise Exploratória de Dados (EDA), que inclui técnicas de Data Wrangling e visualização de dados, cruciais para o pré-processamento (OA2, OA3). A distinção entre variáveis contínuas e categóricas, classificação e regressão, e a aplicação de métricas de avaliação de desempenho são abordadas para assegurar uma compreensão aprofundada (OA4, OA5). Os principais algoritmos supervisionados, como árvores de decisão, SVMs, Naive-Bayes e k-NN, são explorados para desenvolver a capacidade de construir modelos preditivos (OA6). Além disso, técnicas avançadas como bagging e boosting são estudadas para melhorar a precisão dos modelos (OA7). A introdução às redes neuronais artificiais fornece uma base sólida para entender essa tecnologia (OA8). Finalmente, a otimização de hiperparâmetros é abordada para capacitar os alunos a ajustar modelos e otimizar o seu desempenho (OA9).
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 em grupo [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 em grupo 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 combinação de aulas expositivas, que englobam conceitos teóricos e exemplos práticos, com aulas práticas/laboratoriais e trabalho autónomo, serve como o principal meio para alcançar os objetivos de aprendizagem estabelecidos. - Motivar as necessidades de ensino/aprendizagem através da apresentação de problemas e das limitações de outras abordagens comuns serve como uma ferramenta crucial para solidificar o entendimento do estudante e desenvolver o pensamento crítico. - O ensino dos tópicos mais técnicos baseia-se na análise de requisitos dos problemas a serem resolvidos, bem como no reconhecimento e compreensão das principais vantagens e desafios associados.
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 entram em contacto com desafios no campo da Aprendizagem Automática Supervisionada, onde é crucial identificar e compreender os dados que caracterizam esses problemas. É neste contexto que são introduzidos os primeiros conceitos relacionados à história e fundamentos da aprendizagem automática, bem como a preparação de dados para algoritmos supervisionados (OA1; OA2; OA3). - Posteriormente, nas aulas mais práticas, os alunos irão enfrentar pequenos desafios e executar tarefas de Análise Exploratória de Dados (EDA) e Data Wrangling, abordando assim as várias etapas do processo de descoberta de conhecimento a partir de dados (OA2; OA3). - Ao longo das aulas, os conceitos teóricos são gradualmente integrados, estabelecendo uma ligação clara entre a teoria e a prática. Paralelamente, são apresentados diversos algoritmos de aprendizagem automática supervisionada, como árvores de decisão, SVMs e k-NN, que são fundamentais para a modelação preditiva (OA4; OA5; OA6). Durante estas aulas, também se incentiva o desenvolvimento autónomo de soluções para problemas reais, que envolvem não só a preparação de dados, mas também a modelação e a avaliação de resultados com métricas de desempenho adequadas (OA4; OA5; OA6). - Para os momentos de avaliação, os alunos são desafiados com um enunciado de um projeto a ser desenvolvido de forma autónoma. Este projeto é acompanhado por aulas de tutoria, onde o docente atua não só como transmissor de conhecimento, mas também assume o papel de "cliente", para o qual o projeto deve ser desenvolvido e entregue. Aqui, os alunos aplicam o conhecimento adquirido (OA3; OA4; OA5; OA6; OA7; OA8; OA9), integrando as competências adquiridas em todos os Objetivos de Aprendizagem, desde a compreensão teórica até a aplicação prática e o desenvolvimento de soluções inovadoras para problemas complexos.
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
McMahon, A. (2023). Machine learning engineering with python - second edition: Manage the lifecycle of machine learning models using MLOps with practical examples. McKinney, W. (2022). Python for Data Analysis: Data Wrangling with Pandas, NumPy, and Jupyter (3.a ed.). O’Reilly Media. Burkov, A. (2019). The hundred-page machine learning book. Andriy Burkov. Mueller, J. P. (2019). Python for Data Science for Dummies, 2nd Edition (2.a ed.). John Wiley & Sons. VanderPlas, J. (2016). Python Data Science Handbook. O’Reilly Media.
Bibliografia Secundária / Secondary Bibliography
Ller, A. & Guido, S. (2017). Introduction To Machine Learning with Python: A Guide for Data Scientists. Sebastopol, CA: O'Reilly Media, Inc. Avila, J. (2017). Scikit-Learn Cookbook - Second Edition. Birmingham: Packt Publishing. Witten, I. H., Frank, E., Hall, M. A., & Pal, C. J. (2016). Data Mining: Practical machine learning tools and techniques. Morgan Kaufmann. Sharda, R., Delen, D., Turban, E., Aronson, J., & Liang, T. P. (2014). Businesss Intelligence and Analytics: Systems for Decision Support. Prentice Hall. Foster Provost, Tom Fawcett (2013) Data Science for Business. What you need to know about data mining and data-analytic thinking, 1st edition. O'Reilly.
Data da última atualização / Last Update Date
2024-07-31