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.