• Sonuç bulunamadı

Yapay Bağışıklık Sistem Tabanlı Sınıflandırma Algoritmaları

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

3.3 Yapay Bağışıklık Sistem Tabanlı Sınıflandırma Algoritmaları

Bu bölümde, çalışmalarda kullanılan Yapay Bağışıklık Sistem tabanlı sınıflandırma algoritmaları açıklanmaktadır.

3.3.1.1 Yapay Bağışıklık Tanıma Sistemi (AIRS) Algoritması

Watkins (2001), sınıflandırma amaçlı Yapay Bağışıklık Tanıma Sistemi (Artificial Immune Recognition System-AIRS) algoritmasını geliştirdikten sonra, çok fazla bilim insanı algoritmayı iyileştirmek üzere araştırmalar gerçekleştirdi. Algoritmik karmaşıklığı azaltılmış ve doğruluğunda çok fazla azalma olmayan yeni bir algoritma, AIRS versiyon 2 olarak tanımlandı. Watkins, daha sonra AIRS algoritmasının paralel halini doktora çalışmaları kapsamında geliştirdi ancak bu algoritmanın üzerinde daha fazla çalışılması gerekiyor.

Algoritmadaki antijen kavramı, veri kümesindeki her bir satıra ya da daha farklı bir ifadeyle bir modülün metriklerine karşı gelmektedir. Yapay Tanıma Küreleri (ARB-Artificial Recognition Ball) ise birbiri ile benzer özellik gösteren modülleri içeren kümelerdir.

AIRS algoritması aşağıda sıralanan güçlü özelliklere sahiptir:

• Genelleştirme: Genelleştirme için tüm veri kümesi kullanılmaz ve algoritma, veri azaltma yeteneğine sahiptir.

• Parametre Kararlılığı: Kullanıcı tanımlı parametreler optimize edilmese bile, performansındaki değişim çok küçüktür.

• Kendini-düzenleme (self-regulatory): Eğitimden önce topoloji belirlemeye gerek yoktur.

Brownlee (2005b), bu algoritmayı Java dili ile gerçeklemiş ve GPL (General Public Licence) lisansı ile kodlarını http://wekaclassalgos.sourceforge.net sitesinden erişilebilir kılmıştır. Algoritma 5 adımdan oluşmaktadır: İlklendirme, antijen eğitimi, sınırlı kaynak için yarış, bellek hücre seçimi ve sınıflandırma. 1. ve son adımlar bir kez uygulanırken; 2., 3., 4. adımlar eğitim kümesindeki her örnek için uygulanır. AIRS algoritmasında örneğe, antijen adı verilmektedir. Algoritmanın temel amacı, eğitim kümesini modellemek için tanıma hücreleri havuzu oluşturmak ve bilinmeyen veriyi bu havuza göre sınıflamaktır.

Algoritma 5 aşamadan oluşmaktadır (Brownlee, 2005b):

• İlklendirme: Veri kümesi [0,1] aralığına normalize edilir. Afinite eşik değişkeni hesaplanır. Ayrıca, iki vektör arasındaki maksimum uzaklık 0 ve 1 arasında olmalıdır. Bu nedenle; iki antijen arasındaki afinite değeri, distance’ın maxDistance’a bölünmesi ile elde edilir. distance, öklid uzaklığı ile hesaplanmaktadır.

• Antijen Eğitimi: Antijenler bellek havuzuna birer birer sunulur. Bellek havuzundaki tanıma hücreleri uyarılarak bu hücrelere uyarılma değeri atanır. En yüksek uyarılma değerine sahip olan tanıma hücresi, en iyi uyuşan bellek hücresi olarak seçilir ve afinite olgunluk sürecinde kullanılır. Bu hücre klonlanır ve mutasyona tabi tutulur. Klonlar, Yapay Tanıma Küreleri havuzuna eklenir. 3.11 nolu eşitlikle klonların sayısı hesaplanır. 3.10 nolu eşitlikle, stim değerinin nasıl hesaplanacağı gösterilmektedir. clonalRate ve hyperMutationRate; kullanıcı tanımlı parametrelerdir.

stim = 1 – affinity (3.10)

numClones = stim * clonalRate * hyperMutRate (3.11) • Sınırlı Kaynak için Yarış: ARB havuzuna, mutasyona uğramış klonlar eklendiği zaman yarışma başlar. ARB havuzu antijen ile uyarılır ve uyarılma değerine göre sınırlı kaynak ataması yapılır. Yeterli kaynağı olmayan ARB’lar havuzdan atılır. Durma kriteri sağlanınca, işlem durdurulur. Aksi halde, ARB’ın mutasyona uğramış klonları oluşturulur ve bu döngü durma kriteri sağlanana kadar devam eder.

• Bellek hücre seçimi: Bir önceki adımda, durma kriteri sağlandığı zaman, en yüksek uyarılma değerine sahip ARB, aday bellek hücre olarak seçilir. ARB’ın uyarılma

değeri orjinal en iyi uyuşan hücreden daha iyiyse, ARB bellek hücre havuzuna kopyalanır.

• Sınıflandırma: Bellek hücre havuzunun son hali çapraz geçerlemede kullanılır. K en yakın komşu yaklaşımına göre sınıflandırma gerçekleştirilir.

3.3.1.2 AIRS v1.0 ve AIRS v2.0 Algoritmaları Arasındaki Temel Farklılıklar

AIRS v1.0 ve AIRS v2.0 algoritmalarının temel adımları aynıdır ancak algoritmada küçük değişiklikler yapılarak karmaşıklığın azaltılması amaçlanmıştır. Bu bölümde, bu farklar açıklanmaktadır (Brownlee, 2005b).

AIRS v2.0 algoritması, AIRS v1.0’a göre daha basittir ve daha iyi veri azaltma yeteneğine sahiptir. AIRS v2.0’ın karmaşıklığı AIRS v1.0’a göre daha düşüktür, performanstaki azalma ise önemli ölçülerde değildir. Bu bilgilerden hareketle; karmaşıklık ve işlem gücünün önemli olmadığı durumlarda, AIRS v1.0 ile biraz daha yüksek performans alınacağı ifade edilebilir. Algoritmalar arasındaki farklar aşağıda sıralanmaktadır:

• AIRS v1.0 algoritmasında ARB havuzu, kalıcı bir kaynak olarak kullanılırken AIRS v2.0 algoritmasında, geçici bir kaynak olarak kullanılır. Kalıcı kaynak olarak kullanıldığı durumda bir önceki adımlardan kalan ARB’lar, sınırlı kaynak için yarışmaya dahil olarak, algoritmanın daha fazla zaman harcamasına neden olur. Bu nedenle, AIRS v2.0 algoritmasının karmaşıklığı daha azdır.

• AIRS v1.0 algoritmasında, mutasyon sürecinden sonra klonların sınıfları değişebilirken AIRS v2.0 algoritmasında sınıfların değişebilmesine izin verilmemektedir.

• AIRS v1.0, kullanıcı tanımlı mutasyon parametresini kullanırken AIRS v2.0, somatik hipermutasyon kavramını kullanır. Bir klonun uğradığı mutasyon oranı, afinite ile orantılıdır.

3.3.1.3 Paralel AIRS

Çok az sayıda algoritmada, doğal bağışıklık sisteminin paralel işleme özelliğinden esinlenilmiştir. Watkins (2005), doktora tez çalışmasında AIRS algoritmasının farklı işlemciler üzerinde dağıtılarak çalıştırılabileceği bir sürümünü geliştirmiştir.

AIRS algoritmasının paralelleştirilmesi, standart eğitim sürecine ek olarak aşağıdaki adımların da gerçekleştirilmesini gerektiriyordu ve yaklaşım oldukça basitti (Brownlee,

2005b): “

1. Eğitim veri kümesini, np adet parçaya böl (np, AIRS algoritmasını çalıştıracak proseslerin sayısıdır).

2. Eğitim veri kümesinin her bir parçasını bir prosese ata.

3. Her proses üzerinde, AIRS algoritmasının seri sürümünü çalıştır ve np adet bellek havuzunun oluşmasını bekle.

4. Ana (master) bellek havuzunu oluşturmak üzere, bir ‘birleştirme şeması’ (mergining schema) kullanarak bellek havuzlarını birleştir.

Veri kümesi çok küçük parçalara ayrılmadığı durumda, bu yaklaşım performansı korurken hızlı bir yaklaşımın sunulmasını sağlamaktadır. Birleştirme teknikleri, veri azaltma yüzdesi açısından daha kötü sonuçlar ortaya çıkmasına neden olmuştur ve bu problemin çözülmesi için ek araştırmalar gerçekleştirilmelidir (Brownlee, 2005b).

3.3.1.4 Immunos Algoritmaları

Immunos81 algoritması, doğal bağışıklık sisteminden esinlenen ilk sınıflandırma algoritmasıdır ve bir tıp doktoru olan Carter (2000) tarafından geliştirilmiştir.

Brownlee (2005c), Immunos81 algoritmasının sunduğu performans değerlerini elde edebilmek için Immunos1 ve Immunos2 isimlerini verdiği iki farklı programı Java ile geliştirmiştir. Immunos81 isimli algoritmada, bazı noktaların çok açık olmaması nedeniyle Brownlee, algoritmanın geliştiricisi olan Carter ile iletişime geçmeye çalışmış ancak başarılı olamamıştır.

Bu belirsizlikler yüzünden, Immunos81 algoritmasının iki farklı Java gerçeklemesi ortaya çıkmıştır. Brownlee (2005c), Carter’ın tıp doktoru olması sebebiyle algoritmadaki bazı noktaları, bilgisayar bilimleri dergilerinde yayımlanan makalelerdeki gibi açık şekilde ifade edemediğini belirtmiş ve bu yönde eleştirisini teknik raporunda sunmuştur.

“Immunos81 algoritması; antijenleri, T ve B hücrelerini, klonları ve bir amino asit kütüphanesini içermektedir. Bağışıklık sistemi içerisindeki temel kavramlar ve bu kavramların Immunos81 içerisindeki karşılıkları Çizelge 3.1’de verilmektedir.

Immunos81 algoritması iki standart veri kümesi ile test edilmiştir ve bu veri kümeleri tıp alanına aittir. Immunos81, B hücrelerinin üretimini kontrol etmek için T hücrelerini

kullanmaktadır. B hücreleri sırasıyla bilinmeyen örüntülerin tanınması için yarışmaktadır. Amino asit kütüphanesi, sistem içerisindeki epitop (veya değişkenler) kütüphanesi olarak davranır. Yeni bir antijen sisteme girdiği zaman, bu kütüphaneye değişkenleri girilir. T hücreleri daha sonra reseptörlerini oluşturmak için bu kütüphaneyi kullanır ve bu reseptörler yeni bir antijeni belirlemek için kullanılır.

Algoritmanın tanıma adımı sürecinde, T hücre paratopları antijenin epitopları ile eşleşir ve bir B hücresi daha sonra oluşturulur. B hücresinin sahip olduğu paratoplar da, antijenin epitopları ile eşleşebilmektedir. T hücreleri ve antijen bağlanma bölümleri, Hamming şekil uzayında ikili katarlar olarak gösterilir ve antijenle T hücresi arasındaki afinite, aralarındaki benzerlikle orantılıdır” (De Castro ve Timmis, 2002).

Çizelge 3.1 Bağışıklık Sistemi ve Immunos81 Arasındaki Dönüşüm

Bağışıklık Sistemi Immunos81

Antijen Herhangi bir tipte birden fazla değişken içerebilecek veri

T hücresi Özel bir sınıfı temsil eden ve antijen içerisindeki değişken tiplerini ve sıralarını belirleyen kontrol ajanı

B hücresi Öğrenme sürecinde özel bir sınıfın bir örneğini temsil eden varlık Amino asit kütüphanesi Karşılaşılan (bir isim ve bir tip atanan) ve yeni antijenler

oluşturmak için kullanılabilen tüm değişkenler

Klon Tanıma ajanı, B hücrelerinin bir repertuvarının matematiksel gösterimi

3.3.1.5 CLONALG

Bölüm 3.2.3.1’de açıklandığı için bu bölümde tekrar açıklanmayacaktır. Çalışmalar süresince, bu algoritmadan da yararlanılmıştır.