• Sonuç bulunamadı

3. DOĞAL VE YAPAY BAĞIŞIKLIK SİSTEMLERİ

3.4 AIRS Algoritmasının Detaylı Açıklanması

3.4.1 AIRS Algoritması Temel Bilgiler

AIRS algoritmasının, doğal bağışıklık sistemlerindeki kavramlarla ilişkisi bu başlık altında üst seviyede ele alınıp, takip eden bölümlerde algoritmik ifadeler ile açıklanmıştır. Ayrıca, yazılım kusur kestirimi için gerekli veri kümelerinin AIRS içerisinde nasıl kullanıldığı bu bölüm içerisinde verilmektedir.

AIRS algoritması bağışıklık biliminin temel prensiplerinden esinlenilerek oluşturulmuş, ancak bire bir modelleme yerine çeşitli soyutlamalar sayesinde geliştirilmiş bir algoritmadır. Algoritma içerisinde kullanılan antijen terimi, veri kümesindeki her bir satırı temsil etmektedir. Yazılım kusur kestirim veri kümesi için şekil 3.18’deki gibi bir veri kümesi mevcut olması durumunda; veri kümesinin her bir satırı AIRS içerisinde antijen olarak değerlendirilmektedir. Örnek olarak şekil 3.18’de sunulan veri kümesi, WEKA içerisinde sıkça kullanılan ARFF formatında oluşturulmuştur. 5 adımlı olan AIRS algoritmasının, 2, 3 ve 4. adımları bu veri kümesindeki her bir satır için gerçekleştirilmektedir. Algoritmanın ilk adımı olan ilklendirme ve son adımı olan sınıflandırma, sadece bir kez gerçekleştirilmektedir.

@RELATION KusurVeriKumesi

@ATTRIBUTE CevrimselKarmasiklik REAL @ATTRIBUTE KodSatirSayisi REAL @ATTRIBUTE EşsizOperandSayisi REAL @ATTRIBUTE EşsizOperatorSayisi REAL @ATTRIBUTE sinif {evet, hayir}

@DATA

40.0,220.0,140.0,240.0,evet 2.0,12.0,8.0,8.0,hayir 65.1,42.0,430.0,260.0,evet 3.0,10.0,13.0,8.0,hayir

@DATA ifadesinden sonra yazılan her bir satır, bir önceki yazılım sürümündeki her bir modülün (metot veya sınıf) metriklerini ve sınıf etiketini göstermektedir. {evet} etiketi, ilgili modülde test aşamasında kusur çıktığını, {hayir} etiketi kusur çıkmadığını ifade etmektedir. Bu örnek veri kümesinde, 4 adet metot seviyesinde metrik mevcuttur (çevrimsel karmaşıklık, kod satır sayısı, eşsiz operand sayısı, eşsiz operatör sayısı) ve her modülün sahip olduğu metrik değeri, ilgili satırda verilmektedir.

Doğal bağışıklık sistemlerinde, vücuda dışarıdan giren zararlı antijenler, veri kümesinin her bir satırı ile temsil edilmiş olmaktadır. Onları tanıyan vücuttaki antikorlar ise algoritmanın ilk aşamasında rastgele seçilmiş bir vektör olarak tanımlanmaktadır. Rastgele seçilen bu vektör, AIRS içerisinde veri kümesindeki herhangi bir satırın seçilmesi ile belirlenir. Birden fazla vektör de seçilebilirken, ilklendirmede bir adet seçilmesi önerilmektedir (Brownlee, 2005b). Algoritmanın başlangıcında, bellek hücre havuzu (memory cells pool) bu antikorları içermekte olup, eğitim aşamasının sonunda bellek hücre havuzu, sonraki aşamalarda (makine öğrenmesi açısından sonraki aşamalar test aşamasıdır ve doğal bağışıklık sistemleri açısından, antijenin vücuda tekrar girmesidir) kullanılacak olan bellek hücrelerini içerecektir. Bu nedenle, algoritmada bellek hücre havuzu dinamik ve evrimleşen şekilde gelişmektedir.

Algoritmada kullanılan bir diğer havuz da, Yapay Tanıma Küresi (Artificial Recognition Ball- ARB) havuzudur. ARB içerisinde evrimleşen ve ilgili antijen ile en iyi uyuşan ARB’ın belirli kontrollere göre, yerleşik bellek hücresi (established memory cell) olarak bellek hücre havuzuna aktarılması söz konusudur. Bu sayede, her bir antijen için bellek hücre havuzuna yerleşik bir bellek hücresi atanması gerçekleşmektedir, ancak AIRS algoritmasının veri azaltma özelliği sayesinde, bu durum bire bir şekilde gerçekleşmemektedir. Bu özellik AIRS’in veri azaltarak, öğrenme gerçekleştirdiğini ortaya koymaktadır.

Algoritmanın ilk 4 adımı tamamlandıktan sonra, eğitim süreci tamamlanmış olmaktadır ve eğitim sürecinin ardından bellek hücreleri, bellek hücre havuzunda oluşmuş olacaktır. AIRS algoritması aşağıdaki 5 temel adımdan oluşur ve 2–3–4 numaralı adımlar, her bir antijen için döngü şeklinde gerçekleştirilir. AIRS algoritmasının temel adımları aşağıda sunulmaktadır:

1. İlklendirme (Initialization)

2. Bellek hücresinin belirlenmesi ve ARB üretimi (Memory cell identification and ARB generation)

resources and development of a candidate memory cell) 4. Bellek hücresinin tanıtılması (Memory cell introduction) 5. Sınıflandırma

Farklı kaynaklarda; ikinci adım “antijen eğitimi”, üçüncü adım “sınırlı kaynak için yarışma”, dördüncü adım ise “bellek hücre seçimi” başlıklarıyla açıklanmaktadır. Başlıklar farklı olmasına rağmen, bu kaynaklardaki açıklamalar aynı işlemleri tanımlamaktadır.

Doğal bağışıklık sistemlerinde; vücuda dışarıdan giren antijenle uyuşan antikor, klonlama (mitoz) ile sayısını çoğaltır ve ardından mutasyon işlemi gerçekleştirilerek klon içinde ölçeği çok büyük olmayan farklılıklar oluşur.

Seçici mekanizma sayesinde, antijeni daha iyi tanıyan hücreler bellek hücreleri haline dönüşür ve antijenler sonraki saldırılarda kolayca tanınır. Antikorları salgılayan B hücrelerinin yüzeylerinde ise reseptör moleküller olarak BCR (antikor) bulunmaktadır. Bir B hücresinde, yüzlerce antikor molekülü bulunabilir ancak modellerde Yapay Tanıma Küresi (ARB) bir adet antikor içerecek şekilde modellenmiştir, aksi durumda aynı verinin tekrarlanması gibi bir problem ortaya çıkardı. ARB terimi, doğal bağışıklık sistemlerindeki B hücrelerinin temsilini sağlamaktadır ve bir ARB AIRS algoritması içerisinde; bir antikor, sahip olduğu kaynak sayısı, uyarılma değeri bilgilerine sahiptir.

Algoritmanın başlangıcında; bellek hücre havuzu (M) ve Yapay Tanıma Küresi (ARB) havuzu (P), rastgele değerlerle başlatılır. Bu rastgele vektör, veri kümesinde bulunan bir veri (satırdaki veriler) kullanılarak belirlenir. Bu nedenle, ilk aşamada bellek hücre havuzunda antikorlar bulunduğu ve veri kümesinde ise antijenlerin yer aldığı düşünülebilir. Bu tarz bir düşünüş tarzı aynen doğal bağışıklık sistemlerinde olan kavramların algoritmaya taşınmasını sağlamaktadır.

İlklendirme adımından sonra, her bir antijen bellek hücre havuzuna yani antikorlara sunularak aralarındaki uyuşma derecesi belirlenir. Bu ölçüm, vektörler arasındaki Öklid uzaklığı ile ters orantılıdır. Öklid uzaklığının 1 değerinden çıkarılması ile uyarılma derecesi belirlenmektedir. Öklid uzaklık değerinin düşük olması durumunda, uyarılma değeri daha yüksek olacaktır ve yüksek seviyede bir uyarılmanın olduğu ortaya konulmuş olacaktır. Bu sayede, veri kümesindeki ilgili veri (antijen) ile en iyi uyuşan antikor saptanır, bu antikor klonlama ve mutasyona maruz bırakılarak, oluşan çocuklar ARB havuzuna eklenir. Algoritmanın ikinci adımı bu noktada tamamlanmaktadır. Bu adımdan sonra, ARB havuzu içerisinde sınırlı

kaynak için yarışma başlar ve ARB’ların kullanabileceği tüm kaynak sayısı sistem üzerinde sınırlıdır. ARB havuzu içerisindeki ARB’lar da bu antijene maruz bırakılır ve uyuşma derecesine göre kaynak atamaları yapılır. Yeterli kaynağı olmayanlar ARB havuzundan çıkartılır. Durma kriteri sağlanmadıysa, hayatta kalmış olan her ARB’ın mutasyona uğramış çocuklar üretmesine izin verilir ve bu işlem durma kriteri sağlanana kadar devam eder.

Durma kriteri; ARB’ların ilgili antijen tarafından yeterince uyarılıp uyarılmadığını kontrol etmektedir. 4. adımda; en yüksek uyarılma değerine sahip olan ARB’ın (B hücresi) aday bellek hücresi (candidate memory cell) olarak belirlenmesi sağlanır. Bu “aday bellek hücresinin” antijenle uyuşma derecesi, algoritmanın 2. adımı sonunda belirlenmiş olan “en iyi uyuşan bellek hücresinin” aynı antijenle gösterdiği uyuşma derecesinden daha yüksek olması durumunda, bu aday bellek hücresinin, bellek hücre havuzuna alınması işlemi gerçekleştirilir. Algoritmanın gerçeklenmesi sırasında, bu aşamada bir kontrol daha yapılmaktadır, bu kontrol ve algoritmik yapı bölüm 3.4.2’de açıklanmaktadır.

Anlaşılırlığı bozmamak için bu bölümde tüm algoritmik ayrıntılar verilmemektedir. Aday bellek hücresi, bellek hücre havuzuna yerleşik hücre olarak alındıktan sonra, test aşamasında test verisi ile arasındaki uyuşma derecesi belirlenecektir.

Sunulan açıklamalara göre; bellek hücre havuzu, algoritmanın 2. aşamasında antikor havuzu gibi görünürken, 4. aşamanın sonunda yani eğitim sonunda, ismindeki gibi, bellek hücre havuzu gibi çalışmaktadır.

Bu açıklama; doğal bağışıklık sistemleri açısından yapılan bir değerlendirmedir. Algoritmanın son aşamasında ise test edilecek veri (antijen), bellek hücre havuzundaki hücrelere sunulur ve k tane en fazla uyarılan bellek hücresinin etiketlerinin çokluğuna göre sınıf etiketi belirlenir. Algoritmanın 3. adımı şekil 3.19’da resmedilmektedir.

Kaynaklar için yarışma gerçekleştir

ARB uyarılma değerlerini normalize et

Antijen ile ARB havuzunun uyarılmasını sağla

Uyarılma değerine göre sınırlı kaynakları ayır

Yetersiz kaynak içeren ARB’ları popülasyondan çıkar Durma Kriteri Hayatta kalan ARB’lardan mutasyona uğramış klonlar oluştur Dur

Şekil 3.19 ARB hücre havuzunda sınırlı kaynak ile iyileştirme (Brownlee, 2005b)