Análise de Dados e Aprendizagem Automática
-
Conhecimentos de Base Recomendados
Noções básicas de programação Python e de álgebra linear
-
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.
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). -
Métodos de Ensino
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. -
Estágio(s)
Não
-
Programa
PARTE 1: INTRODUÇÃO
1. Introdução à Análise de Dados e Aprendizagem de Máquina (ML)
1.1. O que é a Ciência dos Dados (DS)? Porque é que a DS é importante?
1.2. Blocos de construção da análise
1.3. Exemplos de análise de dados
1.4. O que é o ML? Porquê usar o ML?
1.5. Ciclo de vida do ML
1.6. 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 -
Demonstração de conteúdos
-
-
Demonstração da metodologia
-
-
Docente(s) responsável(eis)
Miguel Angel Guevara López - 1.º Semestre
-
Bibliografia
Ethem Alpaydın; Introduction to Machine Learning, Second-Edition, MIT Press, 2010
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).
Stuart Russell, Peter Norvig; Artificial Intelligence: A Modern Approach, 4th Edition, 2021. ISBN: 978-0134610993
Trevor Hastie, Robert Tibshirani, and Jerome Friedman; The Elements of Statistical Learning: Data Mining, Inference, and Prediction., Springer, 2009. ISBN: 978-0387848570
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
Detalhes do curso
-
Código
MEB15
-
Modo de Ensino
PRESENCIAL
-
ECTS
6.0
-
Duração
Semestral
-
Horas
15h Orientação Tutorial
23h Práticas e Laboratórios
8h Seminário
15h Teórico-Práticas
