Ana içeriğe atla

Python - Yapay Sinir Ağları (Sınıflandırma)

Yapay sinir ağları; insan beyninden esinlenerek geliştirilmiş, ağırlıklı bağlantılar aracılığıyla birbirine bağlanan ve her biri kendi belleğine sahip işlem elemanlarından oluşan paralel ve dağıtılmış bilgi isleme yapıları; bir başka deyişle, biyolojik sinir ağlarını taklit eden bilgisayar programlarıdır. 


Sinir ağları için temel yapı bloğu, insan beyni nöronlarını taklit eden yapay nöronlardır. Bunlar, ağırlıklı giriş sinyalleri olan ve bir aktivasyon fonksiyonu kullanarak bir çıkış sinyali üreten basit, güçlü hesaplama birimleridir. Bu nöronlar sinir ağındaki çeşitli katmanlara yayılır. 


Derin öğrenme, insan beyninde bulunan benzer ağlarda modellenen yapay sinir ağlarından oluşur. Veriler bu yapay ağ boyunca ilerledikçe, her katman verilerin bir yönünü, filtrelerin aykırı değerlerini, bilinen varlıkları işaretler ve son çıktıyı üretir. Yapay sinir ağları üç ana katmanda incelenir; Giriş Katmanı, Ara (Gizli) Katmanlar ve Çıkış Katmanı. 


Tek katmanlı yapay sinir ağları sadece girdi ve çıktı (Ç) katmanlarından oluşur. Çıktı üniteleri bütün girdi ünitelerine (X) bağlanmaktadır ve her bağlantının bir ağırlığı (W) vardır. İki girdi ve bir çıktıdan oluşan tek katmanlı bir yapay sinir ağı aşağıda verilmiştir. 


İleri beslemeli sinir ağları tek yönlü sinyal akışı için izin verir. Ayrıca, ileri beslemeli sinir ağları çoğu katmanlar halinde organize edilmektedir. Üç katmanlı ileri beslemeli sinir ağı bir örneği aşağıdagösterilmiştir. Bu şebeke giriş düğümleri, iki gizli katman ve bir çıkış katmandan oluşur. 


Aşağıda yapay sinir ağları çeşitlerine yer veriyorum: 










Analizimde yine diabets verisini kullanacağım. Doğrusal olmayan bir model ile çalıştığım için önce veriyi standartlaştırmam (scale) gerekiyor. Bunun için veri setimi çağırdıktan önce scale edip sonra modelimi kuruyorum ve model parametrelerimi inceliyorum. 



Tahmin aşamasına geçince test setimi tahmin et dedikten sonra ilkel test doğruluk oranını hesaplıyorum.


Şimdi model tuning aşamasına geçebilirim. Model için önemli olan parametre değerlerini girdikten sonra 10 katlı cross validation yaptırıyorum.


En optimum değerleri bul dedikten sonra bu değerlere göre modeli tune ediyorum ve doğrulanmış accuracy oranını hesapladıktan sonra analizimi bitiriyorum.

Yorumlar