Algoritmos Evolutivos e Aprendizado de Máquina

Classificado em Computação

Escrito em em português com um tamanho de 5,2 KB

Algoritmos Evolutivos são algoritmos baseados em uma gama de mecanismos da evolução biológica e serviram para originar conceitos mais recentes, como os Algoritmos Genéticos. Os Algoritmos Evolutivos buscam tratar estruturas de objetos abstratos de uma população — por exemplo, variáveis de um problema de otimização — que são manipuladas por operadores inspirados na evolução biológica. Esses operadores objetivam a busca pela solução de um problema; são comumente chamados de operadores genéticos.

1 — Cite 3 exemplos de algoritmos evolucionários

Resposta:

  • Algoritmos Genéticos
  • Programação Genética
  • Neuro-evolução
  • Evolução Diferencial

2 — Cite 2 exemplos de operadores genéticos que podem ser aplicados na construção de algoritmos evolucionários

Resposta: Recombinação e mutação.

3 — O que é a função de avaliação (fitness)?

Resposta: A função de avaliação é a maneira utilizada pelos algoritmos genéticos para determinar a qualidade de um indivíduo como solução do problema em questão.

4 — Por que os resultados obtidos por meio de algoritmos evolucionários raramente podem ser perfeitamente reproduzíveis?

Resposta: Algoritmos evolucionários são heurísticos que não asseguram a obtenção do melhor resultado possível em todas as suas execuções; por isso, não podem ser perfeitamente reproduzíveis.

5 — Quando se deve optar por um algoritmo evolucionário em detrimento de um método exato? Exemplifique e explique o cenário oposto.

Resposta: Os algoritmos evolucionários entram em cena para resolver problemas cujos algoritmos exatos são extremamente lentos ou incapazes de obter uma solução. Em cenários em que existe um método exato eficiente e viável (por exemplo, algoritmos polinomiais para problemas bem formulados), convém optar pelo método exato para garantir solução ótima; já quando o espaço de busca é muito grande, complexo ou o tempo de execução é crítico, heurísticas evolucionárias são mais adequadas.

6 — Defina Algoritmos Genéticos

Resposta: Algoritmos Genéticos são uma subárea dos Algoritmos Evolutivos. São uma metáfora para a evolução natural.

7 — Como podem ser codificadas as populações em Algoritmos Genéticos?

Resposta:

  • Seleção
  • Recombinação
  • Mutação

8 — Qual o método mais comum de seleção?

Resposta: Roleta.

9 — Defina Recombinação, Mutação e Elitismo

Recombinação

Cada indivíduo com n genes possui n−1 pontos de corte.

Mutação

Altera-se cada gene de forma independente com base em uma probabilidade pm. pm é denominada taxa de mutação e costuma ser bem baixa.

Elitismo

Os n melhores indivíduos de cada geração não devem "morrer" junto com sua geração, mas sim passar para a próxima geração para garantir que seus genomas sejam preservados. É uma forma de garantir que o algoritmo nunca regrida.

10 — Enumere 6 questões importantes que devem ser levadas em consideração na construção de Algoritmos Genéticos

  • Inicialize a população de indivíduos.
  • Avalie cada indivíduo na população.
  • Selecione os melhores pais para gerar novos indivíduos; aplique os operadores de recombinação e mutação a estes pais de forma a gerar os indivíduos da nova geração.
  • Apague os velhos membros da população.
  • Avalie todos os novos indivíduos e insira-os na população.
  • Se o tempo acabou ou o melhor indivíduo satisfaz os requisitos da solução do problema, retorne-o; caso contrário, volte para o passo 3.

11 — O que é Aprendizado de Máquina?

Resposta: Aprendizado de máquina é generalizar um comportamento para uma nova situação.

12 — Cite as 3 principais formas de aprendizado

Resposta:

  • Aprendizado Supervisionado
  • Aprendizado Não Supervisionado
  • Aprendizado por Reforço

13 — Definição de aprendizado supervisionado

No aprendizado supervisionado, o objetivo é induzir conceitos a partir de exemplos pré-classificados, ou seja, exemplos rotulados com uma classe conhecida. Se as classes possuírem valores discretos, o problema é categorizado como classificação. Caso as classes possuam valores contínuos, o problema é categorizado como regressão. Exemplos: KNN, SVM, Redes Neurais.

14 — Defina Overfitting e Underfitting

Overfitting

Ocorre quando um modelo estatístico ou algoritmo de aprendizagem de máquina captura o ruído dos dados, ajustando-se excessivamente aos exemplos de treinamento.

Underfitting

Ocorre quando um modelo estatístico ou algoritmo de aprendizagem de máquina não consegue capturar a tendência subjacente dos dados, apresentando desempenho fraco tanto em treinamento quanto em teste.

Entradas relacionadas: