Algoritmos Genéticos e Redes Neuronais

Objetivos

-Compreender o funcionamento dos Algoritmos Genéticos (GA) como método de optimização,

-Ser capaz de aplicar o método GA a problema simples utilizando uma implementação de GA .

- Compreender os tipos básicos de redes neuronais: ‘feedforward’, convolução e recorrrente. Entender o método de optimização dos parâmetros das redes e o papel dos hiperparâmetros associados à utilização das redes neuronais. Compreender os diversos tipos de regularização e as situações em que há necessidade de os utilizar.

Caracterização geral

Código

12530

Créditos

6.0

Professor responsável

Rui Alberto Pimenta Rodrigues

Horas

Semanais - 4

Totais - 52

Idioma de ensino

Português

Pré-requisitos

Iremos usar a linguagem de programação Python, mas  bastará o estudante ter alguma prática com alguma linguagem de programação para conseguir aprender os comandos de Python que iremos usar.

Bibliografia

- Practical Genetic Algorithms, Second Edition, Randy L. Haupt Sue Ellen Haupt, 2004 John Wiley & Sons, Inc

- Introduction to Evolutionary Computing, A. E.Eiben and J. E. Smith, Springer,

 



Método de ensino

Nas aulas serão feitas breves exposições teóricas seguidas de exemplos práticos, normalmente incluindo implementação computacional.

Método de avaliação

Serão realizados dois testes, com utilização de computador.

Haverá também um trabalho, teórico e computacional, que será acompanhados da discussão do mesmo.

A nota da avaliação será (notaTeste1+ notaTeste2+notaTrabalho)/3.

 

Para os alunos que se apresentem a exame, por terem reprovado na avaliação contínua ou para melhoria de nota, o resultado final será (2x nota exame + nota trabalho)/3.

Conteúdo

Algoritmos Genéticos

-Um método de optimização.

-Conceitos básicos: função objetivo, população, seleção, mutações, recombinação.

-Exemplos práticos com utilização de software.

 

Redes Neuronais

-Conceitos básicos: tipos de redes(feedforward, convolução e recorrentes), funções de ativação e funções de custo.

-Otimização dos parâmetros de uma rede neuronal e métodos de regularização.

-Exemplos práticos com utilização de software.


Ao longo do curso será usada a linguagem de programação Python e alguns dos seus ''''pacotes''''. Não será assumido qualquer conhecimento prévio desta linguagem de programação.

 

Cursos

Cursos onde a unidade curricular é leccionada: