Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Algoritmo de Seleção Negativa | Sistemas Imunológicos Artificiais
Algoritmos Bioinspirados

bookAlgoritmo de Seleção Negativa

Note
Definição

O algoritmo de seleção negativa é inspirado no sistema imunológico biológico, que distingue próprio de não-próprio. Os linfócitos T que reagem ao próprio são eliminados, restando apenas aqueles capazes de reconhecer invasores estrangeiros. O algoritmo define o próprio (dados normais), gera detectores que não correspondem ao próprio e os utiliza para detectar anomalias.

O processo envolve três etapas:

  • Gerar um conjunto representativo de amostras do próprio para capturar o comportamento normal do sistema;
  • Criar um grande número de detectores aleatórios;
  • Eliminar detectores que correspondam ao próprio, restando detectores ativos que sinalizam anomalias quando correspondem a novos dados.
12345678910111213141516171819202122232425262728293031323334
import random def generate_random_detector(length): """Generate a random binary string detector of given length.""" return ''.join(random.choice('01') for _ in range(length)) def match(detector, self_set, r): """ Returns True if detector matches any string in self_set with at least r contiguous matching bits. """ for self_str in self_set: for i in range(len(self_str) - r + 1): if detector[i:i+r] == self_str[i:i+r]: return True return False def negative_selection(self_set, num_detectors, length, r): """ Generate detectors that do not match any self string with at least r contiguous matching bits. """ detectors = [] while len(detectors) < num_detectors: detector = generate_random_detector(length) if not match(detector, self_set, r): detectors.append(detector) return detectors # Example usage: self_set = ['11001', '10011', '11100'] detectors = negative_selection(self_set, num_detectors=5, length=5, r=3) print("Generated detectors:", detectors)
copy

Pontos Fortes e Limitações do Algoritmo de Seleção Negativa

O algoritmo de seleção negativa oferece um método direto para detecção de anomalias, inspirado em sistemas imunológicos. Principais pontos fortes:

  • Capacidade de detectar anomalias desconhecidas ao focar em dados fora do conjunto próprio;
  • Não requer conhecimento prévio de padrões anômalos, apenas uma definição clara do conjunto próprio.

Limitações incluem:

  • A geração de detectores torna-se lenta à medida que o conjunto próprio cresce;
  • Menor eficácia para dados de alta dimensionalidade ou contínuos devido à cobertura esparsa do não-próprio;
  • Potencial para falsos positivos ou negativos se o conjunto próprio não for totalmente representativo ou se os detectores forem mal definidos.

Apesar dessas questões, o algoritmo de seleção negativa é uma ideia central em sistemas imunológicos artificiais e detecção robusta de anomalias.

question mark

Qual afirmação melhor descreve o algoritmo de seleção negativa e suas características?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 4. Capítulo 2

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Suggested prompts:

Can you explain how the parameter 'r' affects the detector generation?

What are some practical applications of the negative selection algorithm?

Can you suggest ways to improve the efficiency of detector generation?

Awesome!

Completion rate improved to 6.25

bookAlgoritmo de Seleção Negativa

Deslize para mostrar o menu

Note
Definição

O algoritmo de seleção negativa é inspirado no sistema imunológico biológico, que distingue próprio de não-próprio. Os linfócitos T que reagem ao próprio são eliminados, restando apenas aqueles capazes de reconhecer invasores estrangeiros. O algoritmo define o próprio (dados normais), gera detectores que não correspondem ao próprio e os utiliza para detectar anomalias.

O processo envolve três etapas:

  • Gerar um conjunto representativo de amostras do próprio para capturar o comportamento normal do sistema;
  • Criar um grande número de detectores aleatórios;
  • Eliminar detectores que correspondam ao próprio, restando detectores ativos que sinalizam anomalias quando correspondem a novos dados.
12345678910111213141516171819202122232425262728293031323334
import random def generate_random_detector(length): """Generate a random binary string detector of given length.""" return ''.join(random.choice('01') for _ in range(length)) def match(detector, self_set, r): """ Returns True if detector matches any string in self_set with at least r contiguous matching bits. """ for self_str in self_set: for i in range(len(self_str) - r + 1): if detector[i:i+r] == self_str[i:i+r]: return True return False def negative_selection(self_set, num_detectors, length, r): """ Generate detectors that do not match any self string with at least r contiguous matching bits. """ detectors = [] while len(detectors) < num_detectors: detector = generate_random_detector(length) if not match(detector, self_set, r): detectors.append(detector) return detectors # Example usage: self_set = ['11001', '10011', '11100'] detectors = negative_selection(self_set, num_detectors=5, length=5, r=3) print("Generated detectors:", detectors)
copy

Pontos Fortes e Limitações do Algoritmo de Seleção Negativa

O algoritmo de seleção negativa oferece um método direto para detecção de anomalias, inspirado em sistemas imunológicos. Principais pontos fortes:

  • Capacidade de detectar anomalias desconhecidas ao focar em dados fora do conjunto próprio;
  • Não requer conhecimento prévio de padrões anômalos, apenas uma definição clara do conjunto próprio.

Limitações incluem:

  • A geração de detectores torna-se lenta à medida que o conjunto próprio cresce;
  • Menor eficácia para dados de alta dimensionalidade ou contínuos devido à cobertura esparsa do não-próprio;
  • Potencial para falsos positivos ou negativos se o conjunto próprio não for totalmente representativo ou se os detectores forem mal definidos.

Apesar dessas questões, o algoritmo de seleção negativa é uma ideia central em sistemas imunológicos artificiais e detecção robusta de anomalias.

question mark

Qual afirmação melhor descreve o algoritmo de seleção negativa e suas características?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 4. Capítulo 2
some-alt