Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Negativt Urval-Algoritm | Artificiella Immunsystem
Bioinspirerade Algoritmer

bookNegativt Urval-Algoritm

Note
Definition

Den negativa selektionsalgoritmen är inspirerad av det biologiska immunsystemets förmåga att särskilja själv från icke-själv. T-celler som reagerar på själv elimineras, vilket lämnar kvar endast de som kan känna igen främmande inkräktare. Algoritmen definierar själv (normal data), genererar detektorer som inte matchar själv, och använder dessa för att upptäcka avvikelser.

Processen omfattar tre steg:

  • Generera en representativ uppsättning själv-exempel för att fånga normalt systembeteende;
  • Skapa ett stort antal slumpmässiga detektorer;
  • Eliminera detektorer som matchar själv, så att aktiva detektorer återstår som flaggar avvikelser när de matchar ny data.
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

Styrkor och begränsningar hos Negative Selection-algoritmen

Negative Selection-algoritmen erbjuder en enkel metod för avvikelsedetektering, inspirerad av immunsystem. Viktiga styrkor:

  • Förmåga att upptäcka okända avvikelser genom att rikta in sig på data utanför self-mängden;
  • Inget behov av förkunskap om avvikande mönster, endast en tydlig definition av self krävs.

Begränsningar inkluderar:

  • Detektorgenerering blir långsam när self-mängden växer;
  • Mindre effektiv för högdimensionell eller kontinuerlig data på grund av gles täckning av non-self;
  • Risk för falska positiva eller negativa om self-mängden inte är helt representativ eller om detektorerna är dåligt definierade.

Trots dessa utmaningar är Negative Selection-algoritmen en central idé inom artificiella immunsystem och robust avvikelsedetektering.

question mark

Vilket påstående beskriver bäst Negative Selection-algoritmen och dess egenskaper?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 4. Kapitel 2

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Awesome!

Completion rate improved to 6.25

bookNegativt Urval-Algoritm

Svep för att visa menyn

Note
Definition

Den negativa selektionsalgoritmen är inspirerad av det biologiska immunsystemets förmåga att särskilja själv från icke-själv. T-celler som reagerar på själv elimineras, vilket lämnar kvar endast de som kan känna igen främmande inkräktare. Algoritmen definierar själv (normal data), genererar detektorer som inte matchar själv, och använder dessa för att upptäcka avvikelser.

Processen omfattar tre steg:

  • Generera en representativ uppsättning själv-exempel för att fånga normalt systembeteende;
  • Skapa ett stort antal slumpmässiga detektorer;
  • Eliminera detektorer som matchar själv, så att aktiva detektorer återstår som flaggar avvikelser när de matchar ny data.
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

Styrkor och begränsningar hos Negative Selection-algoritmen

Negative Selection-algoritmen erbjuder en enkel metod för avvikelsedetektering, inspirerad av immunsystem. Viktiga styrkor:

  • Förmåga att upptäcka okända avvikelser genom att rikta in sig på data utanför self-mängden;
  • Inget behov av förkunskap om avvikande mönster, endast en tydlig definition av self krävs.

Begränsningar inkluderar:

  • Detektorgenerering blir långsam när self-mängden växer;
  • Mindre effektiv för högdimensionell eller kontinuerlig data på grund av gles täckning av non-self;
  • Risk för falska positiva eller negativa om self-mängden inte är helt representativ eller om detektorerna är dåligt definierade.

Trots dessa utmaningar är Negative Selection-algoritmen en central idé inom artificiella immunsystem och robust avvikelsedetektering.

question mark

Vilket påstående beskriver bäst Negative Selection-algoritmen och dess egenskaper?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 4. Kapitel 2
some-alt