Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Negativt Udvælgelsesalgoritme | Kunstige Immunsystemer
Bio-inspirerede Algoritmer

bookNegativt Udvælgelsesalgoritme

Note
Definition

Den negative selektionsalgoritme er inspireret af det biologiske immunsystems evne til at skelne mellem selv og ikke-selv. T-celler, der reagerer på selv, elimineres, så kun dem, der kan genkende fremmede indtrængere, forbliver. Algoritmen definerer selv (normale data), genererer detektorer, der ikke matcher selv, og anvender disse til at opdage anomalier.

Processen involverer tre trin:

  • Generering af et repræsentativt sæt af selv-eksempler for at indfange normal systemadfærd;
  • Oprettelse af et stort antal tilfældige detektorer;
  • Eliminering af detektorer, der matcher selv, så kun aktive detektorer, der markerer anomalier ved match med nye data, forbliver.
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

Styrker og Begrænsninger ved Negative Selection-algoritmen

Negative selection-algoritmen tilbyder en ligetil metode til anomali-detektion, inspireret af immunsystemer. Væsentlige styrker:

  • Evne til at opdage ukendte anomalier ved at målrette data uden for self-sættet;
  • Kræver ikke forhåndsviden om anomale mønstre, kun en klar definition af self.

Begrænsninger omfatter:

  • Detektor-generering bliver langsommere, efterhånden som self-sættet vokser;
  • Mindre effektiv for høj-dimensionelle eller kontinuerlige data på grund af sparsom dækning af non-self;
  • Risiko for falske positiver eller negativer, hvis self-sættet ikke er fuldt repræsentativt, eller detektorer er dårligt definerede.

På trods af disse udfordringer er negative selection-algoritmen en kerneidé i kunstige immunsystemer og robust anomali-detektion.

question mark

Hvilken påstand beskriver bedst negative selection-algoritmen og dens egenskaber?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 2

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

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

bookNegativt Udvælgelsesalgoritme

Stryg for at vise menuen

Note
Definition

Den negative selektionsalgoritme er inspireret af det biologiske immunsystems evne til at skelne mellem selv og ikke-selv. T-celler, der reagerer på selv, elimineres, så kun dem, der kan genkende fremmede indtrængere, forbliver. Algoritmen definerer selv (normale data), genererer detektorer, der ikke matcher selv, og anvender disse til at opdage anomalier.

Processen involverer tre trin:

  • Generering af et repræsentativt sæt af selv-eksempler for at indfange normal systemadfærd;
  • Oprettelse af et stort antal tilfældige detektorer;
  • Eliminering af detektorer, der matcher selv, så kun aktive detektorer, der markerer anomalier ved match med nye data, forbliver.
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

Styrker og Begrænsninger ved Negative Selection-algoritmen

Negative selection-algoritmen tilbyder en ligetil metode til anomali-detektion, inspireret af immunsystemer. Væsentlige styrker:

  • Evne til at opdage ukendte anomalier ved at målrette data uden for self-sættet;
  • Kræver ikke forhåndsviden om anomale mønstre, kun en klar definition af self.

Begrænsninger omfatter:

  • Detektor-generering bliver langsommere, efterhånden som self-sættet vokser;
  • Mindre effektiv for høj-dimensionelle eller kontinuerlige data på grund af sparsom dækning af non-self;
  • Risiko for falske positiver eller negativer, hvis self-sættet ikke er fuldt repræsentativt, eller detektorer er dårligt definerede.

På trods af disse udfordringer er negative selection-algoritmen en kerneidé i kunstige immunsystemer og robust anomali-detektion.

question mark

Hvilken påstand beskriver bedst negative selection-algoritmen og dens egenskaber?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 2
some-alt