Previous
Next

Çok katmanlı ileri sürümlü yapay sinir ağlarında(YSA) standart geri yayıyım ve momentum geri yayılım algoritmalarının karşılaştırılması

by Cem Kefeli 19. Mart 2009 12:35
(Eğitim/Hata geri yayılım)


Çalışmanın tümünü görmek için burayı (YSAGeriYayilimAlgoritmalari.pdf - 270,39 kb) tıklayınız...

Özetçe
Bu çalışmada çok katmanlı ve ileri sürümlü bir YSA’ da geri hesaplama için iki algoritma yapısı incelenmiş ve aşama aşama bu algoritmaların özellikleri verilmiştir. Çalışma boyunca kullanımının kolaylığından dolayı MATLABTM  programı kullanılmış ve algoritmanın kodları MATLABTM  program dilinde yazılmıştır.

1. Giriş

Bu çalışmada özel-veya (EX-OR) işlevini gerçekleyen {2,1} yapısında sigmaoidal aktivasyonlu bir YSA’ nın geri yayılım ile eğitilmesi konusunda iki yöntem incelenmiştir. Yöntemler standart geri yayılım ve momentum geri yayılım algoritmalarıdır. YSA’ nın başlangıç parametreleri ağa rasgele olarak gösterilmiş ve giriş-çıkış örnekleri ağa rasgele olarak verilmiştir. Tüm çalışma boyunca maliyet fonksiyonu(Cost Function) olarak 4 iterasyon öncesine ait hataların karesel ortalaması kullanılmıştır. Maksimum iterasyon sayısı olarak 1000 değeri seçilmiştir. Şekil 1 ‘de incelenen YSA için ağ yapısı gösterilmektedir.

Şekil 1 :İncelenen YSA için ağ yapısı


YSA giriş ve çıkış katmanlarından oluşmaktadır ve YSA için gizli katman bulunmamaktadır. Giriş katmanı iki hücreden ve çıkış katmanı da bir hücreden oluşmaktadır. Tüm YSA için kullanılacak giriş parametreleri için eşitlikler denklem 1.1 - 1.5 arasında verilmiştir. Bu eşitliklerde W’lar kollardaki ağırlık parametrelerini,   lar her bir katman için sıfırıncı dereceden bağımsız değişkenin katsayısını, X ise hali hazırda ağ girişinde bulunan giriş sinyalini göstermektedir.


1.1. Çok Katmanlı YSA İçin İleri Hesaplama
Çok katmanlı YSA’ da bir hücre için çıkış değerinin bulunması temel olarak üç aşamadan oluşmaktadır. İlk aşama olarak hücrelere giriş yapan kollardaki sinyaller ile bu sinyallerin yol aldığı kollardaki ağırlık katsayıları çarpılarak bir değer elde edilmektedir. İkinci aşama olarak elde edilen bu değer bir sabit sayı ile toplanarak sıfırıncı dereceden bağımsız değişkenin katsayısı denkleme dahil edilmektedir. Bu aşamada elde edilen değer ‘V’ sembolü ile gösterilmektedir. Son aşama olarak ise elde edilen bu değerler toplamı aktivasyon fonksiyonu adı verilen belirli bir fonksiyondan geçirilerek hücre çıkışı elde edilmektedir. Son aşama ile elde edilen değer ‘Y’ sembolü ile gösterilmektedir. Genel olarak sinüs ve kosinüs fonksiyonları elde etme kolaylığından dolayı sıkça tercih edilmektedir bununla beraber bu çalışma boyunca sigmaoidal bir aktivasyon fonksiyonunun kullanılması uygun görülmüştür. Çalışma boyunca kullanılan ve ileri hesaplama için gerekli olan eşitlikler denklem 1.6 – 1.11 arasında verilmektedir. denklemlerde kullanılan  o hücre için kullanılan aktivasyon fonksiyonunu göstermektedir.
Fazlası...

Mikrodalga konnektörler

by Cem Kefeli 19. Mart 2009 11:33

Çalışmanın tümünü görmek için burayı (MikrodalgaKonnektorler.pdf - 482,27 kb) tıklayınız...
Çalışma ile ilgili sunum dosyasına erişmek için burayı (MikrodalgaKonnektorler.pps - 876,50 kb) tıklayınız...

1. Giriş

Bu çalışmada mikrodalga konnektörler üzerinde çeşitli araştırmalar yapılmıştır, türleri ve kullanım alanları hakkında genel bir bilgi vermek amaçlanmıştır. Yapılan yoğun araştırmalar sonucunda Mikrodalga konnektörlermikrodalga iletim hatları ve bu iletim hatlarının birbiri ile bağlantısını sağlayan çeşitli elemanların olduğu ve bu parçaların genel olarak konnektör olarak isimlendirildiği sonucuna varılmıştır.

Mikrodalga konnektörler günümüzde yıllık 2 milyar dolarlık bir endüstriye sahiptir. Mikrodalga konnektör ailesi içerisinde çok çeşit bulunmaktadır ve bunlara her yıl daha da çok seçenek eklenmektedir. Mikrodalga konnektörler düşük VSWR (Voltage Standing Wave Ratio)’ lı koaksiyel bağlantılar yapmak için kullanılmaktadırlar ve koaksiyel iletim hatlarının güvenli bir şekilde sonlandırılması için gerekli verimi sağlamaktadırlar. Bir başka bakış açısı getirilerek sonMikrodalga konnektör zamanlarda mikrodalga konnektörlerin devre kartları üzerinde de yer alması sağlanmıştır ve yaygınlaşan bu yöntem sayesinde kullanıcı tabanlı kitler geliştirilmiştir. Farklı türden birçok konnektör bulunmasıyla beraber bu elemanların sınıflandırılması için birçok yöntem ileri sürülmüştür. Bu yöntemlerin temelinde çalışma frekansları arasındaki farklılıklar ve çalıştıkları frekanslardaki verimlilikleri göz önüne alınmıştır. Bu yöntemlerden faydalanılarak çalışma boyunca mikrodalga konnektörlerin frekans davranışları incelenmiştir ve aynı frekansta farklı konnektörlerin verimlilikleri karşılaştırılmıştır. Ayrıca kullanılan sistemlere göre oluşan empedans uyumsuzluklarını önleyebilmek için bu sistemlerle entegre çalışabilecek standartlar verilmiştir. Çoğu mikrodalga sisteminde 50 ohm karakteristik empedans kullanılmaktadır, fakat bazı sistemlerde 75 ohm karakteristik empedans kullanılabilmektedir. (N tipi gibi bazı konnektörler 50 ohm veya 75 ohmun her ikisinde de kullanılabilmektedir.)

2. Mikrodalga Konnektörler
Çoğu koaksiyel konnektör türü ses,video,sayısal,RF(Radio Frequency) ve mikrodalga endüstrisinde kullanılmaktadır. Her biri özel bir amaç ve uygulama için tasarlanmıştır. Frekansta GHz’ler mertebesinde ve milimetre değerlerinde dalga boylarında iyi çalışan daha küçük konnektörlerin geliştirilmesi ölçüm şirketleri tarafından gerekli test ekipmanları ile yapılmaktadır. Göz önündeMikrodalga konnektör bulundurdukları özelliklerden birisi hat düşmesi sayısıdır. Bir konnektörün frekans aralığı  koaksiyel yapı içindeki ilk dairesel dalga kılavuzu yayılım modu tarafından sınırlandırılmaktadır. Dıştaki iletkenin çapının azaltılması en yüksek kullanılabilir frekansı arttırmaktadır. Hava uzayını dielektrikle doldurma en yüksek frekansı azaltmakta ve kayıpları arttırmaktadır.
Herhangi bir koaksiyel transmisyon hattının bir özelliği şu şekilde verilmektedir : Arzu edilen TEM modunun daha uzun süre yayılmadığı frekanstan yukarda bir kesim frekansına sahiptir. Koaksiyel konnektör ailelerinin en fazla çalışma frekansının bu sınırlandırmayı aşmaması gerektiği dikkate alınmaktadır. Konnektör ailelerinin endüstride kabul edilen frekans limitleri genellikle teorik kesim frekanslarının %95’i olarak seçilmektedir. Genellikle maliyet, frekans sınırı ile ters orantılı olarak artmaktadır.

Çalışmanın tümünü görmek için burayı (MikrodalgaKonnektorler.pdf - 482,27 kb) tıklayınız...
Çalışma ile ilgili sunum dosyasına erişmek için burayı (MikrodalgaKonnektorler.pps - 876,50 kb) tıklayınız...

C dili ile yazdığım ilk programlardan birisi

by Cem Kefeli 17. Mart 2009 15:18

Üniversite yıllarımın ilk günleriydi, C dersi alıyorduk. Kocaeli Üniversitesi(KOÜ) Elektronik ve Haberleşme Mühendisliği Bölümü(Elo-Hab)'ne C/C++yeni başlamış ve yazılım ile alakası olmayan insanlar için yazılım ile tanışmanın ne kadar acıklı olduğuna şahit olduğum günler. Neyse ki benim programlamaya biraz da olsa bir aşinalığım vardı da kolay denilebilecek bir dönem geçirdim. Programlamaya giriş dersi ile birlikte artık mesleki hayatımıza da adım atmış olduk. İşte tam bu aşamada C ile tanışmamı sağlayan ve bana algoritma yazmaktaki felseyi aşılayan sevgili hocam Yrd. Doç. Dr. Mehmet Yakut'a bana kazandırdıkları için çok teşekkür ediyorum yeri gelmişken. O yıllardan sonra aradan yedi sene kadar geçti, ve ben bu süre içerisinde birçok yazılım projesinde yer aldım, ve onun bana öğrettikleri her zaman aklımın bir köşesinde vardı ve hep de faydalı oldu, işe yaradı. Bu yazıyı neden yazdığıma gelince.. Sebebi yalnızca eski projelerimin arasında dolaşırken bir klasörün dikkatimi çekmesi :)

Unutmuyorum hiç. Üniversitenin ilk haftaları.. Mehmet hoca C dersinde sınıfa bir ödev verdi. Ödevi verirken de dedi ki, eğer bu ödevi yarın akşama kadar yapıp bana mail atan olursa onu vizeye almadan Rakamla rakam100 vereceğim. Mehmet hocanın bir programlama dersinden 100 almak o günün şartlarında büyük olay. Hatırlıyorum da sınavlara bir insan sürüsü olarak girerdik. Alttan dersi alanlar artık o kadar birikmiş ki, derslikler sınav zamanı az gelir olmuş. Hatta arkadaşlarla bir ara, 'bu sınavı yakında ÖSYM yapar artık' diye dalga geçiyoruz :) Ödev şu; Bankaların bankamatiklerinde sık sık karşılaşmışsınızdır. Bir sayı yazar ekranda, ama sayıyı oluşturan rakamlar da yine rakamlar kullanılarak yazılmıştır. Tıpkı sol tarafdaki resimde görüldüğü gibi, zaten programın çıktısı da bu şekilde. Ekranda sayıyı giriniz diye yazacak, siz bir sayı gireceksiniz, program da sol taraftaki gibi o sayısı yazacak, ödev bu. Ben o gün eve gittiğim gibi çalışmaya koyuldum ve aynı günün akşamı gece 1-2 gibi ödevi hocaya mail ile gönderdim. 100'ü kaptım diye, bir mutluluk oluştu tabi ki.. Ama Mehmet Hoca geriye bir cevap ile dönmüştü: "Bu kadar sürede, bu işi yeni öğrenen birisi olarak, bunu yazamaman gerekirdi. Yarın gel, program üzerine konuşalım ve bana anlat". :) Doğal olarak benim kendi başıma yazmayabileceğim ve başkasıyla birlikte yazmış olabileceğim gelmiş hocanın aklına ve benden bir açıklama bekliyordu. Ertesi gün hocanın yanına uğradım ve durumu anlatıp 100 puanı kaptım. Benim için yazılımcılık açısından çok ama çok güzel bir başlangıç olmuştu bu olay. Belki de şu an yazılımla uğraşmamın en büyük nedeni budur. Mehmet Hocam'a bana kazandırdıkları için tekrar teşekkürlerimi gönderiyorum.

Aşağıdaki linkleri kullanarak programın derlenmiş haline ve kodlarına ulaşabilirsiniz. Çok ufak ve kolay ama benim için çok değerli bir kod parçacığı... :)Fazlası...

Packet Tracer - Bölüm 1: Packet Tracer nedir?

by Cem Kefeli 16. Mart 2009 07:59

Dynamips TerminalBölüm 1: Packet Tracer nedir?
Netwok sistemleri ile uğraşan herkesin sıkıştığı zaman yardımına ilk anda koşacak şey network simülatorleridir. Çünkü öyle routarı, switchleri bir anda bağlayacak bir lab ortamı oluşturmak pek mümkün olmaz, olsa dahi çok da gerekli değildir. Ben de uzunca bir süredir simülasyonlarımı Dynamips ile yapıyordum. Dynamips sanal terminal pencereleri üzerinden networkünüzü sanal olarak yönetebilmenizi sağlayan bir simülatör yazılımı. Tabi ki netwokünüzü de sanal olarak oluşturuyorsunuz. Dynamips network topolojisini, kendine özgü bir dosya formatı üzerinden okur ve bu dosya üzerinde tanımlanmış cihazları topolojinizin içerisine oturtmaya çalışır. Fakat ilk zamanlar Dynamips yalnızca terminal ekranlarından oluşuyor idi. Yani topolojinizi görsel olarak izlemek mükün değildi.

GNS3 Logo Bir süre sonra Dynamips çekirdeğini kullanarak görsel bir kullanıcı arayüzü GNS3 tarafından sunulmaya başlandı. GNS3'nin core tarafında zaten yine Dynamips koşuyor ve hiçbir farklılık yok. Dynamips'in en güzel ve en ilgi çeken tarafı, gerçek network cihazı üzerinde koşan yazılımları(IOS-Internetwork Operating System) simule edebilmesi. Yani siz Cisco'nun herhangi bir routerı için kullandığınız gerçek IOS'u bu programa gösterip, onu koşturabiliyorsunuz. Fakat bu özellik Dynamips'e biraz da pahalıya patlıyor çünkü kullandığınız makinenin CPU (Central Processing Unit)'suna tavan yaptırıyor. Sonuç olarak bu bir simülasyon programı ve makinenizin tüm kaynakları bu simülatöre ayrılamaz. İşte bu aşamada bunu engelleyebilmek için sizden  'IDLE Value' isimlerini verdikleri bir değeri set etmenizi istiyor program geliştiriciler. Bu değeri işlemcinizin özelliklerine göre belirliyor yazılım ve böylece CPU'nuzu Dynamips'in esir almasından kurtulabileceğinizi söylüyorlar. Kimi zaman gerçekten işe yarıyor ve CPU %100 iken bu değeri set ettiğinizde makineniz normale dönüyor ve GNS3 sample topology simülasyonunuzu gayet güzel yapabiliyorsunuz. Fakat çok zahmetli bir iş ve çoğu zaman da işe yaramıyor malesef Frown İşte bu büyük sorundan dolayı ben de yeni bir simülatör aramak için işe koyuldum. Böyle bir sıkıntısı olmasa kesinlikle vaz geçmezdim Dynamips'ten.

Biraz araştırdıktan sonra Cisco'nun kendi geliştirdiği ve free olarak kullanıcıların hizmetine sunduğu Packet Tracer isimli simülatör'e ulaştım. Bu simülatör Dynamips gibi IOS'ları çalıştırmanıza olanak sağlamıyor. Arayüz üzerinden istediğiniz Router, istediğiniz switch'i seçtiğiniz zaman default IOS üzerinden settings yapabiliyorsunuz. Fakat hangi IOS koşuyor, hangi versiyon ve neleri destekliyor gibi soruların cevabından bir habersiniz benim yaptığım araştırmalara göre. Fakar o kadar kolay bir kullanımı var ki, görsel arayüzü sayasinde topolojinizi sürükle-bırak ile rahatça oluşturabiliyorsunuz. Cihazlara istediğiniz interface'leri kolayca ekleyip çıkarabiliyor ve ara bağlantıları yine cihazları seçerek kolayca Packet Tracer sample topology belirleyebiliyorsunuz. Öyle ki cihazların UP&Running olup olmadığını anlamak için ping komutu yazmanıza bile gerek kalmıyor, bir zarf resmini cihazlar üzerine tıklayıp ping koşturmanız mümkün... İşinize yarayacak hemen hemen tüm network ekipnlarını ve bağlantıları da destekliyor.

Bu kadar güzellik sonunda tabi ki artık Packet Tracer'ı kullanmamak biraz anlamsız kalır diye düşünüyorum. Web Blog'um üzerinde Packet Tracer için güzel anlatımlar ve videolar bulundurmayı düşünüyorum. Zaten, "Bölüm 1: Packet Tracer nedir?" isimli başlık ile de bu işe başlamış oldum. Gelecek konu ise "Bölüm 2: Packet Tracer ile basit netwok topolojileri oluşturmak?" olacak. Packet Tracer'a ve ilgili tüm dökümanlara Cisco'nun official web sitesi üzerinden ulaşabilirsiniz. En kısa zamanda buluşmak üzere..

Hakkımda...

Cem KEFELİ

Electronics and
Telecommunication Eng.
devamı...


Son yapılan yorumlar...

Comment RSS

Yasal bir uyarı...

Disclaimer"Bu web sitesinde görmüş olduğunuz bilgilerin, dokümanların ve diğer materyallerin kullanılmasından doğabilecek hiç bir sorumluluktan site sahibi sorumlu tutulamaz. Web sitesi içerisinde yer alan yazılar, yorumlar, resimler ve diğer tüm içerikler yalnızca sahibinin görüşünü yansıtmakta olup içeriğin sahibi kişilerin çalıştığı kurumları bağlayıcı hiç bir nitelik taşımamaktadır. Yapılan tüm alıntılar mutlaka kaynak gösterilerek verilmeye çalışılmaktadır. Web sitesi içerisinde bulunan ilgili materyaller, ilgili yasal kurumlar tarafından uygun görülmemesi durumda kaldırılacaktır."
General