Licenciatura | Engenharia de Redes e Segurança Informática
Machine Learning
Área Científica
Ciências Informáticas
Duração
Semestral
ECTS
6
Horas de Contacto Teórico Práticas
48h
Objetivos de aprendizagem e a sua compatibilidade com o método de ensino
1. Conhecer a história da aprendizagem automática;
2. Compreender diferentes tipos de aprendizagem automática: conceitos, fundamentos e aplicações;
3. Conhecer a linguagem de programação Python como base para a aplicação dos algoritmos de aprendizagem automática;
4. Compreender os algoritmos do tipo supervisionado;
5. Compreender os algoritmos do tipo não-supervisionado;
6. Distinguir classificação, regressão e clustering;
7. Utilizar variáveis contínuas e categóricas para utilização em algoritmos de aprendizagem automática;
8. Compreender os algoritmos do tipo por reforço;
9. Conhecer o funcionamento dos diferentes tipos de algoritmos estudados, e perceber perante um problema, o algoritmo ideal a utilizar;
10. Compreender o funcionamento das Redes Neuronais Artificiais (RNA), Redes Neuronais Recorrentes (RNR) e Redes Neuronais Convolucionais (RNC).
Conteúdos programáticos
1. Introdução à Aprendizagem Automática: A história, fundamentos e conceitos base;
2. Os diferentes tipos de aprendizagem automática e as suas aplicações;
3. Introdução à linguagem de programação Python, e utilização de ferramentas (frameworks) de apoio – Scikit-learn, Tensorflow, Keras;
4. Aprendizagem Supervisionada: SVM, Árvores de Decisão, Regressões Linear e Logística, Classificação Naive-Bayes;
5. Aprendizagem Não-Supervisionada: K-means clustering, PCA;
6. Classificação e Regressão;
7. Variáveis Contínuas/ Discretas e Categóricas;
8. Aprendizagem por Reforço: Q-Learning;
9. Redes Neuronais Artificiais;
10. Redes Neuronais Recorrentes e Convolucionais.
Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular.
Esta unidade curricular pretende dotar os alunos de competências de reconhecimento de características da aprendizagem automática que são úteis para a resolução de problemas de cariz real. No final desta UC, os alunos saberão compreender os conceitos básicos subjacentes aos algoritmos de aprendizagem automática, bem como caracterizá-los como sendo do tipo supervisionado, não supervisionado e por reforço. A unidade curricular também explora eficazmente a utilização de ferramentas de apoio desenvolvidas em Python que permitem aplicar os algoritmos estudados, utilizando datasets públicos que servirão como base de estudo para aplicação dos diversos algoritmos de aprendizagem automática, de modo a formular modelos matemáticos/ estatísticos/ computacionais representativos do problema que se pretende resolver.
Metodologias de ensino e de aprendizagem específicas da unidade curricular articuladas com o modelo pedagógico.
Esta unidade curricular tem uma natureza teórico-prática. Estão previstas 48 horas de contacto. A componente teórica desenvolve-se através de apresentações feitas pelo docente em sala de aula, complementada quando apropriado com outros elementos pedagógicos, que estimulem o interesse e participação dos alunos e a interação docente/discentes. A componente prática concretiza-se através de exercícios de aplicação a desenvolver na aula com a supervisão do docente e utilização de métodos interativos que fomentem a discussão de uma solução base e de possíveis alternativas.
Os conteúdos programáticos foram divididos em dez temáticas, sendo disponibilizado para cada tópico material pedagógico (documental, audiovisual, entre outros) suplementar à bibliografia obrigatória.
Existirá ainda o recurso a fóruns de discussão e de esclarecimento de dúvidas para promover o trabalho colaborativo e a comunicação. Serão, ainda, propostas atividades formativas de leitura, análise e produção de trabalhos.
Em suma, a metodologia de ensino e aprendizagem encontra-se consubstanciada nos princípios enumerados no modelo pedagógico de ensino do ISTEC Lisboa (Aprendizagem Significativa, Motivação, Orientação, Interação, inclusão e Aprendizagem Centrada no Estudante).
Demonstração da coerência das metodologias de ensino e avaliação com os objetivos de aprendizagem da unidade curricular.
A metodologia centrar-se-á na interatividade entre os vários agentes educativos, começando pelo docente e estendendo-se a todos os estudantes, envolvendo os estudantes no processo de ensino aprendizagem de forma crítica e ativa. Com uma abordagem de debate e utilizando os recursos de apoio inerentes às temáticas abordadas, espera-se que exista uma forte motivação e participação por parte dos estudantes nas atividades a desenvolver. Assim, utilizando metodologias ativas em que o estudante controla a sua aprendizagem e participa diretamente nela, estamos em crer que poderemos atingir os objetivos propostos de uma forma mais eficiente e aprofundada.
Dada a especificidade da unidade curricular serão utilizados exemplos reais e atuais que contextualizem os conteúdos programáticos. Deste modo procura-se estimular o trabalho autónomo dos estudantes e desenvolver os seus sentidos e pensamentos críticos sobre as questões que o envolvem, direta ou indiretamente.
Com estas metodologias crê-se uma boa execução dos conteúdos programáticos e como consequência a consecução com sucesso dos objetivos da unidade curricular.
Bibliografia
Avila, J. (2017). Scikit-Learn Cookbook – Second Edition. Birmingham: Packt Publishing.
Geron, A. (2019). Hands-On Machine Learning With Scikit-Learn, Keras, And Tensorflow: Concepts, Tools, And Techniques To Build. Intelligent Systems. Sebastopol, CA: O’Reilly Media.
Ller, A. & Guido, S. (2017). Introduction To Machine Learning With Python: A Guide For Data Scientists. Sebastopol, CA: O’Reilly Media, Inc.
Raschka, S. & Mirjalili, V. (2019). Python Machine Learning : Machine Learning And Deep Learning With Python, Scikit-Learn, And Tensorflow. Birmingham: Packt Publishing, Limited.
Theobald, O. (2017). Machine Learning For Absolute Beginners: A Plain English Introduction.
INTERNET:
Acesso a publicações da especialidade, gratuitamente, através da rede SPRINGER:
https://link.springer.com/

