Análise de Dados e Aprendizagem Automática
Áreas Científicas |
Classificação |
Área Científica |
OFICIAL |
Informática |
Ocorrência: 2022/2023 - 1S
Ciclos de Estudo/Cursos
Docência - Responsabilidades
Língua de trabalho
Português - Suitable for English-speaking students
Objetivos
Que os alunos adquiram e consolidem conhecimentos, aptidões e competências para:
- Reconhecer os desafios e necessidades específicas da análise de dados.
- Recolher (capturar), explorar, limpar, munir, e manipular conjuntos dados (Big-data).
- Conhecer (estudar) os fundamentos e possibilidades de aplicação das técnicas de aprendizagem automática.
- Implementar modelos de aprendizagem automática (e.g., regressão, classificação, árvores de decisão, redes de neurónios artificiais), com recurso à linguagem de programação Python e às ferramentas/bibliotecas disponíveis de código aberto.
- Desenvolver projetos que representem soluções a problemas práticos reais, principalmente aplicações na área de análise de dados de saúde, com recurso à análise e exploração de conjuntos de dados (datasets) públicos e/ou privados disponibilizados.
Resultados de aprendizagem e competências
A UC “Análise de Dados e Aprendizagem Automática” pretende dotar aos estudantes de conhecimentos que permitam reconhecer os desafios e necessidades específicas do processamento e análise de dados e em particular preparar o caminho para desenvolver capacidades de modelação específica no contexto Big-data. Fazer compreender os critérios para diferenciar e selecionar classes de algoritmos e métodos, bem como os pressupostos da sua
utilização com recurso a técnicas emergentes de machine learning e inteligência artificial (IA). Desenvolver competências teórico-práticas de exploração de conjuntos de dados (datasets) com base na linguagem de programação Python e na utilização de algoritmos e métodos desenvolvidos / estabelecidos em ferramentas/bibliotecas comuns (de código aberto) testadas e disponibilizadas pela comunidade de investigação e desenvolvimento em ciência de dados e IA. Entre outros tópicos serão introduzidos os conceitos de Aprendizagem Supervisionada, Aprendizagem Não-Supervisionada e Aprendizagem por Reforço. Pretende-se particularmente que os estudantes sejam capazes de aplicar as técnicas de análise de dados e aprendizagem automática
desenvolvidas sobre dados de pacientes / registos de saúde (dados clínicos, análise de imagem médica, etc.)
Modo de trabalho
Presencial
Pré-requisitos (conhecimentos prévios) e co-requisitos (conhecimentos simultâneos)
Noções básicas de programação Python e de álgebra linear
Programa
PARTE 1: INTRODUÇÃO
1. Introdução à Aprendizagem de Máquina (ML)
1.1. O que é o ML? Porquê usar o ML?
1.2. Ciclo de vida do ML
1.3. Avaliação do desempenho
2. Introdução à Programação em Python
2.1. Instalar o Python, Ferramentas de Python
2.2. Controlo de Fluxo (Lógica condicional, loops e funções)
2.3. Coleções em Python (Trabalho com Estruturas de Dados)
2.4. Introdução a Numpy e Pandas
3. Captura e Pré-processamento de Dados
3.1. Captura / Leitura de Dados
3.2. Extração e Transformação de Características
3.3. Redução da Dimensionalidade
3.4. Clustering
PARTE 2: ALGORITMOS E MÉTODOS
4. Técnicas de Aprendizagem de Máquina.
4.1. Definição, Terminologia, Tarefas, Problemas, Objetivos, Desafios.
4.2. Ferramentas/bibliotecas Python
4.3. Tipos de aprendizagem
4.4. Aprendizagem supervisionada
4.4.1. Classificação
4.4.2. Treino de Modelos (Abordagens de Regressão e Regressão Logística)
4.4.3. Máquinas de Suporte Vetorial
4.4.4. Árvores de decisão
4.4.5. Random Forest
4.4.6. Ensemble Learning
4.4.7. Redução da dimensionalidade
4.5. Aprendizagem não supervisionada
4.5.1. Clustering
4.5.2. Misturas Gaussianas
5. Redes Neurónios e Aprendizagem Profunda
5.1. Introdução às Redes Neuronais Artificiais
5.2. Formação de Redes de Neurónios Profundas
5.3. Modelos personalizados
5.4. Carregamento e Pré-processamento de dados
5.5. Redes Convolucionais (Computer Vision)
5.6. Processamento de Sequências (RNNs e CNNs)
5.7. Processamento de Linguagem natural
5.8. Representação e Aprendizagem Generativa (Autoencoders and Generative Adversarial Networks)
PARTE 3: APLICAÇÕES
6. Exemplos de aplicações
6.1. Classificação
6.2. Regressão
6.3. Clustering
Bibliografia Obrigatória
Ethem Alpaydın; Introduction to Machine Learning, Second-Edition, MIT Press, 2010
Stuart Russell, Peter Norvig; Artificial Intelligence: A Modern Approach, 4th Edition, 2021. ISBN: 978-0134610993
Andriy Burkov; The Hundred-Page Machine Learning Book.. , 2019. ISBN: 978-1999579500
Sebastian Raschka, Vahid Mirjalili; Python Machine Learning Third Edition, Packt Publishing, 2019
M. Mohri, A. Rostamizadeh, A. Talwalkar; Foundations of Machine Learning, Second Edition, MIT Press, 2018
Bibliografia Complementar
Ian Goodfellow, Yoshua Bengio, and Aaron Courville; Deep Learning, 2016. ISBN: 978-0262035613
Max Kuhn, Kjell Johnson; Applied Predictive Modeling, Springer, 2016. ISBN: 978-1-4614-6849-3 (eBook).
Trevor Hastie, Robert Tibshirani, and Jerome Friedman; The Elements of Statistical Learning: Data Mining, Inference, and Prediction., Springer, 2009. ISBN: 978-0387848570
Métodos de ensino e atividades de aprendizagem
O ensino terá 3 grandes componentes:
- Aulas teórico-práticas - parcialmente expositivas e com recurso intensivo a resolução acompanhada de exercícios, análise de casos de estudo e dois seminários sobre tópicos específicos, que irão decorrer na totalidade a distância.
- Aulas de Laboratório - para execução acompanhada e avaliação individual de trabalhos práticos em ambiente informático para computadores pessoais, internet e dispositivos móveis.
- Orientação Tutorial - para acompanhamento personalizado da preparação dos seminários e execução de projetos a distância.
Serão disponibilizados ficheiros com a matéria de exercícios laboratoriais a executar autonomamente (regime assíncrono), mas com acompanhamento por videoconferência no horário estabelecido e a utilização de aulas síncronas (por videoconferência) para esclarecimento de dúvidas e acompanhamento individual.
Todos os tipos de aulas (OT, TP e PL), bem como os seminários poderão ser realizados remotamente uma vez que as matérias, recursos, ferramentas e formação dos docentes permitem-no nesta disciplina da informática de forma natural.
Os trabalhos de laboratório e projeto poderão ser realizados individualmente ou em grupo de 2 ou 3 alunos mediante a inscrição e aprovação junto do docente.
Software
Anaconda Distribution
Bibliotecas (módulos) de Machine Learning para Python
Tipo de avaliação
Avaliação distribuída sem exame final
Componentes de Avaliação
Designação |
Peso (%) |
Apresentação/discussão de um trabalho científico |
20,00 |
Teste |
30,00 |
Trabalho laboratorial |
50,00 |
Total: |
100,00 |
Componentes de Ocupação
Designação |
Tempo (Horas) |
Apresentação/discussão de um trabalho científico |
20,00 |
Elaboração de projeto |
40,00 |
Trabalho escrito |
30,00 |
Trabalho laboratorial |
10,00 |
Total: |
100,00 |
Obtenção de frequência
A avaliação incluirá todas componentes, nomeadamente:
- Através de dois seminários para os quais os alunos terão de preparar autonomamente as suas apresentações. Serão avaliados os conhecimentosteóricos e a capacidade de os aplicar a casos específicos.
- Através de um teste ou exame.
- Através de uma seleção dos 4 melhores trabalhos de laboratório serão avaliadas as capacidades de execução prática (acompanhada).
- Através da execução de um projeto individual será avaliada a capacidade de trabalho e execução autónoma.
Os trabalhos de laboratório e projeto poderão ser realizados individualmente ou em grupo de 2 ou até 3 alunos mediante inscrição e aprovação junto do docente.
A avaliação é distribuída, com nota final calculada pela fórmula:
TP (50%) + PL(50%)
30% testes ou exame + 20% (2 Seminários / 10% cada) + 10% melhores 4 trabalhos de laboratório + 40% projeto final.
Fórmula de cálculo da classificação final
A avaliação é distribuída, com nota final calculada pela fórmula:
TP (50%) + PL(50%)
30% testes ou exame + 20% (2 Seminários / 10% cada) + 10% melhores 4 trabalhos de laboratório + 40% projeto final.