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

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