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

Miguel dos Santos Fonseca

Horas

Semanais - 4

Totais - 52

Idioma de ensino

Português

Pré-requisitos

Ser capaz de programar é um requesito: iremos usar a linguagem de programação Python, mas  bastará o estudante ter prática com alguma linguagem de programação(C, C++, Java ou Matlab) para conseguir  transferir para Python os seus conhecimentos.

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

A disponibilizar brevemente

Método de avaliação

A avaliação contínua consitirá em dois testes. Haverá também um exame de recurso.

Caso o aluno tenha média superior a 16, nos testes ou no exame, deverá realizar uma prova suplementar para defesa de nota.

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, recorrentes e transformers), 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.