- 基于免疫進化的算法及應用研究
- 張瑞瑞 陳春梅
- 1031字
- 2021-03-11 18:12:22
2.2 RNSA的基本定義
SNS(self/nonself)理論表明機體依靠抗體(T細胞和B細胞)來識別自體抗原和非自體抗原,從而消除外來物質并維持機體的平衡和穩定。受此理論激發,在人工免疫系統中抗體被定義為檢測器,用以識別非自體抗原,它們的質量決定了檢測系統的準確率和有效性。但是,隨機生成的候選檢測器能夠識別自體抗原并引發免疫自反應。依據生物免疫系統中的免疫耐受機制和免疫細胞的成熟過程,Forrest提出了否定選擇算法來清除可以識別自體的檢測器。本書討論的否定選擇算法是基于實值的算法。RNSA的基本概念表述如下。
定義2.1抗原。Ag={ag ag=<x1, x2, …, xn, rs>, xi∈ [0,1],1≤i≤n, rs∈[0,1]},為問題空間的全部樣本。ag是集合中的一個抗原;n為數據維度;xi是樣本ag的第i個屬性的歸一化值,同時代表了實值空間的位置;rs是ag的半徑,代表了ag的變化閾值。
定義2.2自體集。Self?Ag代表了抗原集合中的全部正常樣本。
定義2.3非自體集。Nonself?Ag代表了抗原集合中的全部異常樣本。自體和非自體在不同的領域有不同的含義。對網絡入侵檢測來說,非自體代表網絡異常,自體代表正常的網絡活動;對病毒檢測來說,非自體代表病毒特征碼,自體代表合法的代碼。

定義2.4訓練集。Train?Self是自體集的一個子集,是檢測的先驗知識。Ns是訓練集的大小。
定義2.5檢測器集合。D={d|d=<y1, y2, …, yn, rd>, yj∈[0,1],1≤j≤n, rd∈[0,1]}。d是集合中的一個檢測器,yj是檢測器d的第j維屬性,rd是檢測器的半徑,Nd是檢測器集合的大小。
定義2.6匹配規則。A(ag, d)=dis(ag, d), dis(ag, d)是抗原ag和檢測器d之間的歐式距離。在檢測器的生成過程中,若dis(ag, d)≤rs+rd,那么檢測器d引發了免疫自反應,不能成為成熟檢測器。在檢測器的檢測過程中,若dis(ag, d)≤rd,那么檢測器d識別該抗原ag為非自體。
定義2.7檢測率。DR為非自體樣本被檢測器正確識別的數量占全部非自體的比例,表示為式(2.2)。TP為true positive,表示被檢測器正確識別的非自體數量。FN為false negative,表示被檢測器錯誤識別的非自體數量。

定義2.8誤報率。FAR為自體樣本被錯誤識別為非自體的數量占全部自體樣本的比例,表示為式(2.3)。FP為false positive,表示被檢測器錯誤識別的自體數量,TN為true negative,表示被檢測器正確識別的自體數量。

檢測器的生成過程,即RNSA的基本思想如表2.1所示。
表2.1 RNSA算法的基本思想

在RNSA算法中,隨機生成的候選檢測器需要與訓練集中的全部元素進行距離計算dis(dnew, ag)。隨著自體數量Ns的增加,執行時間將呈指數增長,同時檢測器間的冗余覆蓋率也將增長,導致大量無效檢測器出現且效率低下。前面提到的問題極大地限制了否定選擇算法的實際應用。
- Mastering JavaScript Functional Programming
- The React Workshop
- Elastic Stack應用寶典
- 名師講壇:Java微服務架構實戰(SpringBoot+SpringCloud+Docker+RabbitMQ)
- Learning SciPy for Numerical and Scientific Computing(Second Edition)
- Instant PHP Web Scraping
- AV1視頻編解碼標準:原理與算法實現
- Magento 2 Beginners Guide
- Android Game Programming by Example
- Android Sensor Programming By Example
- 從零開始:C語言快速入門教程
- Get Your Hands Dirty on Clean Architecture
- Enterprise Application Architecture with .NET Core
- 開源網絡地圖可視化:基于Leaflet的在線地圖開發
- Web程序設計與架構