• Sonuç bulunamadı

5. SEZGİSEL OPTİMİZASYON YÖNTEMLERİ

5.1. Parçacık Sürü Optimizasyonu

1955 yılında Kenedy ve Eberhart tarafından geliştirilen Parçacık Sürü Optimizasyonu (PSO), sürü halinde hareket edebilen kuş, balık gibi havyaların davranışlarından ilham alınarak tasarlanmıştır [48]. Sürüde yer alan bireylerin bilgi

paylaşma, zengin besin kaynağına yönelme, bulundukları çevreye uyum sağlama gibi davranışları göz önünde bulundurulmuştur. PSO, hızlı sonuç bulması, az parametre gerektirmesi, etkili global arama özelliği ve matematiksel temelli algoritmalara kıyasla uygulanmasının kolay olması, daha az hafıza gerektirmesi, hesapsal olarak hızlı ve etkili sonuç vermesi gibi özellikleriyle diğer algoritmalara göre daha iyi performans sunmaktadır [49].

PSO’ da her biri potansiyel çözüm olan ve parçacık olarak adlandırılan bireyler, problem uzayında gezinerek en iyi çözüme ulaşmaya çalışırlar. Her bir parçacık optimize edilmiş problemin muhtemel çözüm adayıdır. Parçacığın en iyi kendi çözüm değeri (Particle_Best) ve tüm parçacıklar arasında bulunan en iyi çözüm değeri (Global_Best) hafızada saklanır. Her parçacığın pozisyonu, sürüdeki en iyi pozisyona göre ayarlanır. Durdurma kriteri sağlanınca algoritma durdurulur ve çözüm bulunan en iyi değer olan Global_Best olarak tanımlanır.

PSO algoritması, konumları ve hızları rastgele belirlenen parçacıkların popülasyonu ile başlar. Parçacıkların yönleri ve hızları, bulunan çözüme göre her iterasyonda güncellenir. Bulunan çözümler, uygunluk fonksiyonuna göre değerlendirilir. Uygunluk fonksiyonu, çözümü değerlendirebilmek için referans olarak belirlenen fonksiyondur. Arama uzayında bulunan sonuçlar uygunluk fonksiyonuna göre değerlendirildikten sonra Particle_Best ve Global_Best değerleri belirlenir. Parçacıkların hızları ve konumları bu değerlere bağlıdır ve sırasıyla aşağıdaki gibi ifade edilir:

Vi(k+1) = ω * Vi(k) + c1 * rand1(k) * (Particle_Besti(k) - xi(k)) +

c2 * rand2(k) * (Global_Best(k) -xi(k)) (5.1) xi(k+1) = xi(k) + Vi(k+1) (5.2) Denklem 5. 1’de yer alan c1 ve c2 katsayıları öğrenme faktörü olarak adlandırılır

ve parçacıkları Global_Best ve Particle_Best konumlarına yönlendirmektedir. Tasarım için kullandığımız algoritmada c1 = c2 = 2.1 seçilmiştir. rand1(k) ve rand2(k) katsayıları 0

ve 1 aralığında rastgele üretilmekte ve her iterasyonda değişmektedir. k katsayısı iterasyon değerini ifade etmektedir. ω katsayısı ise eylemsizlik ağırlığıdır ve 0.1 ve 1

29

Bu açıklamalar doğrultusunda PSO akış diyagramı aşağıdaki gibi ifade edilebilir:

BAŞLA

İterasyon sayısı, birey sayısı, uygunluk fonksiyonu verilerini belirle

Parçacıkların konumlarını ve hızlarını ata

Elde edilen veri önceki veriden daha iyi mi? Her parçacığın arama uzayında elde ettiği

muhtemel çözüm değerini uygunluk fonksiyonuna göre değerlendir

Şimdiki veriyi Particle_Best olarak belirle Particle_Best değerlerini koru

Particle_Best değerleri arasında en iyi olanı Global_Best olarak tanımla

Her parçacığın hızını ve konumunu güncelle

Durdurma Kriteri Sağlandı mı?

Global_Best değerini çözüm olarak sun

EVET HAYIR

HAYIR

EVET

Şekil 5.1’de akış diyagramı verilen PSO algoritmasının sözde algoritması aşağıda sunulmuştur:

FOR Her parçacık için

Rastgele konum ve hız değeri ata END

DO

FOR Her parçacık için

Uygunluk değerini hesapla

IF Parçacığın bulduğu muhtemel çözüm değeri, önceki Particle_Best değerinden daha iyi ise

Bulunan değeri, yeni Particle_Best değeri olarak ata END

Particle_Best değerlerinden en iyisini Global_Best değerine ata FOR Her parçacık için (5.1) denklemine göre parçacık hızını hesapla (5.2) denklemine göre parçacık konumunu güncelle

END

WHILE Durdurma kriteri sağlanıncaya kadar devam et

Yukarıda, akış diyagramı ve sözde algoritması sunulan PSO algoritması genel özelliklerinden bahsedilmiştir. Bu tez çalışmasında, PSO kullanılarak pencere fonksiyonu tasarımı gerçekleştirilmiştir. Çalışmada kullanılan PSO algoritması ile önerilen tasarımın ana adımları aşağıdaki gibi özetlenebilir:

• Adım1. Parametre değerleri belirlenen cosh pencere fonksiyonu spektrumu elde edilir. Bu sayede, belirlenen parametre değerleriyle oluşturulan cosh pencere fonksiyonuyla bulunan spektrum ve değerler referans olarak belirlenir.

• Adım2. PSO parametreleri belirlenerek parçacıkların başlangıç hızları ve pozisyonları rastgele atanır.

• Adım3. Her bir parçacığın bulduğu çözüm değeri hesaplanır. Bulunan en iyi çözüme göre parçacıkların pozisyonları her iterasyonda güncellenir. Bu durum

31

• Adım4. Optimizasyon sonlanana kadar bulunan en iyi çözümler ile Adım1’de referans olarak belirlenen değerler arasındaki fark her iterasyon için hesaplanır. • Adım5. Optimizasyon sonlandığında bulunan en iyi çözüm değerleri

(Global_Best) bir metin dosyasına kaydedilir ve bu değerler kullanılarak pencere fonksiyonu spektrumu elde edilir.

• Adım6. PSO ile tasarlanan pencere fonksiyonu ile kesim frekansı belirlenmiş bir FIR filtre tasarlanır ve verileri alınan bir EEG sinyali filtrelenir. Aynı işlemler Adım1’de bahsi geçen referans olarak belirlenen pencere fonksiyonu için de uygulanır.

PSO yöntemi ile referans olarak belirlenen cosh pencere fonksiyonuna alternatif bir cosh pencere fonksiyonu tasarlanmıştır. Bu sayede, MATLAB’ da aynı parametre değerleri için aynı işlemi gerçekleştirebilecek, farklı değerlere sahip alternatif bir pencere fonksiyonu gerçekleştirilmiştir. Pencere uzunluğu N=51, ayarlanabilir α parametresi 0.2 olarak belirlenen referans olarak tasarlanan cosh pencere fonksiyonu ile PSO yöntemi kullanılarak tasarlanan cosh pencere fonksiyonu genlik spektrumları Şekil 5.2’de görülmektedir.

Referans olarak belirlenen pencere fonksiyonu ile PSO ile tasarlanan pencere fonksiyonunu arasındaki fark her iterasyon değeri için hesaplanmıştır ve Şekil 5.3’te görülmektedir.

Şekil 5.3. Her İterasyonda İki Pencerenin Spektral Farkı

Tasarlanan cosh pencere fonksiyonlarıyla tasarlanan filtreler ile filtrelenen EEG sinyali Şekil 5.4’te görülmektedir. Kullanılan EEG sinyali Almanya Bonn Üniversitesi Epileptoloji Bölümü veri tabanından alınmıştır [50].

33 Şekil 5.4. Ham EEG Sinyali

Tasarlanan filtrelerle filtrelenmiş EEG sinyalinin MATLAB simülasyonları Şekil 5.5’te sunulmuştur.

Bu çalışmayla, Parçacık Sürü Optimizasyonu ile alternatif cosh pencere fonksiyonu tasarlanmıştır ve tasarlanan pencere fonksiyonu referans ile kıyaslanıp aralarındaki fark her iterasyon için hesaplanmıştır. Şekil 5.3 incelendiğinde, referans pencere fonksiyonu değerleri ile tasarlanacak pencere fonksiyonu değerleri arasındaki fark her iterasyonda azalmıştır. PSO yönteminin karakteristiği ve hızlı çözüme ulaşabilme özelliği sayesinde tasarlanan pencere fonksiyonu referans pencere fonksiyonuna bir alternatif olmuştur ve algoritma her çalıştırıldığında farklı değerler ürettiği unutulmamalıdır. Bu çalışma, tasarım çalışmaları için PSO’ nun uygun bir yöntem olduğunun bir örneğidir.

Benzer Belgeler