Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Algoritmo di Selezione Negativa | Sistemi Immunitari Artificiali
Algoritmi Bio-Ispirati

bookAlgoritmo di Selezione Negativa

Note
Definizione

L'algoritmo di selezione negativa è ispirato al sistema immunitario biologico che distingue tra self e non-self. I linfociti T che reagiscono al self vengono eliminati, lasciando solo quelli in grado di riconoscere agenti estranei. L'algoritmo definisce il self (dati normali), genera rilevatori che non corrispondono al self e li utilizza per rilevare anomalie.

Il processo si articola in tre fasi:

  • Generazione di un insieme rappresentativo di campioni self per catturare il comportamento normale del sistema;
  • Creazione di un elevato numero di rilevatori casuali;
  • Eliminazione dei rilevatori che corrispondono al self, lasciando attivi solo quelli che segnalano anomalie quando corrispondono a nuovi dati.
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

Punti di forza e limitazioni dell'algoritmo di selezione negativa

L'algoritmo di selezione negativa offre un metodo diretto per il rilevamento delle anomalie, ispirato ai sistemi immunitari. Principali punti di forza:

  • Capacità di rilevare anomalie sconosciute mirando ai dati esterni all'insieme self;
  • Nessuna necessità di conoscenze pregresse sui pattern anomali, ma solo una chiara definizione del self.

Limitazioni:

  • La generazione dei rilevatori diventa lenta con l'aumentare dell'insieme self;
  • Meno efficace per dati ad alta dimensionalità o continui a causa della copertura sparsa delle regioni non-self;
  • Possibilità di falsi positivi o negativi se l'insieme self non è pienamente rappresentativo o i rilevatori sono mal definiti.

Nonostante queste problematiche, l'algoritmo di selezione negativa rappresenta un concetto fondamentale nei sistemi immunitari artificiali e nel rilevamento robusto delle anomalie.

question mark

Quale affermazione descrive meglio l'algoritmo di selezione negativa e le sue caratteristiche?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 4. Capitolo 2

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

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 di Selezione Negativa

Scorri per mostrare il menu

Note
Definizione

L'algoritmo di selezione negativa è ispirato al sistema immunitario biologico che distingue tra self e non-self. I linfociti T che reagiscono al self vengono eliminati, lasciando solo quelli in grado di riconoscere agenti estranei. L'algoritmo definisce il self (dati normali), genera rilevatori che non corrispondono al self e li utilizza per rilevare anomalie.

Il processo si articola in tre fasi:

  • Generazione di un insieme rappresentativo di campioni self per catturare il comportamento normale del sistema;
  • Creazione di un elevato numero di rilevatori casuali;
  • Eliminazione dei rilevatori che corrispondono al self, lasciando attivi solo quelli che segnalano anomalie quando corrispondono a nuovi dati.
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

Punti di forza e limitazioni dell'algoritmo di selezione negativa

L'algoritmo di selezione negativa offre un metodo diretto per il rilevamento delle anomalie, ispirato ai sistemi immunitari. Principali punti di forza:

  • Capacità di rilevare anomalie sconosciute mirando ai dati esterni all'insieme self;
  • Nessuna necessità di conoscenze pregresse sui pattern anomali, ma solo una chiara definizione del self.

Limitazioni:

  • La generazione dei rilevatori diventa lenta con l'aumentare dell'insieme self;
  • Meno efficace per dati ad alta dimensionalità o continui a causa della copertura sparsa delle regioni non-self;
  • Possibilità di falsi positivi o negativi se l'insieme self non è pienamente rappresentativo o i rilevatori sono mal definiti.

Nonostante queste problematiche, l'algoritmo di selezione negativa rappresenta un concetto fondamentale nei sistemi immunitari artificiali e nel rilevamento robusto delle anomalie.

question mark

Quale affermazione descrive meglio l'algoritmo di selezione negativa e le sue caratteristiche?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 4. Capitolo 2
some-alt