2008 October

Sayı Tabanları (Number Bases)

Yazan : Şadi Evren ŞEKER Matematikte kullanılan ve bir sayıyı oluşturan her hanenin alabileceği azami değeri belirleyen sistemin ismidir. Buna göre örneğin 2lik tabandaki bir sayının haneleri en fazla 1 olabilir (en düşük 0 olabileceği de düşünülürse 2 ihtimal vardır). Benzer şekilde örneğin 8 tabanındaki bir sayının haneleri en fazla 7 değerine sahip olabilir. Bilindiği [...]

Şadi Evren ŞEKER tarafından, 17/10/2008 tarihinde yazıldı. | Bilgisayar Matematiği | 2 yorum var

Hataya Meyil (Error Gradient)

Yazan : Şadi Evren ŞEKER Yapar sinir ağlarının eğitimi sırasında kullanılan bir terimdir. Buna göre sistemde bulunan sinapsislerden bir tanesindeki ağırlığın değişmesinin bütün sisteme etkisinin hesaplanması beklenir. Aslında bu hesap sistemin eğitilmesi için gerekli olan en önemli bilgiyi vermektedir. Çünkü sistem bu ağırlık değerlerini güncelleyerek daha iyi sonuçlar elde etmeye çalışmakta ve şayet bu güncelleme [...]

Hopfield Ağları (Hopfield Net)

Yazan : Şadi Evren ŞEKER Yapay sinir ağlarının özel bir hali olan hopfield ağları basitçe aşağıdaki 3 özel durumu içerir: Nöronların ateşleme değerleri ikildir (binary), yani 1,0 şeklinde iki ihtimalden birisi olabilir. (İstisna olarak bazı hopfield ağlarında ise 1,-1 ihtimalleri alması söz konusudur) Nöronların eşik değerleri >= şeklindedir. Yani bir nöronun eşik değeri örneğin 2 [...]

Şadi Evren ŞEKER tarafından, 14/10/2008 tarihinde yazıldı. | Yapay Sinir Ağları (Artificial Neural Networks) | A yorum var

Otokutulama (Autoboxing)

Yazan : Şadi Evren ŞEKER Otokutulama kavramı JAVA 5 ile gelmiş bir özelliktir. Bu özelliğin çıkış noktası JAVA içerisinde hem ilkel veri tiplerinin (primitive data types) bulunması hem de bu veri tipleri için sargı sınıflarının (wrapper classes) bulunması ve bu iki veri biçimi arasında geçişin sorun oluşturmasıdır. Bu konuyu daha iyi anlamak için aşağıdaki iki [...]

Şadi Evren ŞEKER tarafından, 13/10/2008 tarihinde yazıldı. | JAVA | A yorum var

Fonksiyon (Function)

Yazan : Şadi Evren ŞEKER Bilgisayar programlama dillerinde bir veya birden çok eylemi gerçekleştirmek için yazılan ve ana programa parametre ve fonksiyon dönüş değeri ile bağlı olan alt programdır. Yapısal programlama veya Fonksiyonel Programlama yaklaşımlarında sıkça kulanılan fonksiyon kavramı aslında matematiksel fonksiyonlardan farksızdır. Matematiksel fonksiyonların tanımı Matematiksel olarak bir fonksiyonun en belirgin özelliği girdi (parametre) [...]

Şadi Evren ŞEKER tarafından, 12/10/2008 tarihinde yazıldı. | Bilgisayar Matematiği | A yorum var

C Dilinde Operatörler (işlemler, operators)

Yazan : Şadi Evren ŞEKER Bu yazıda C dilindeki ve C dilini temel alan JAVA, C++ , C# gibi dillerdeki operatörlerin açıklaması ve öncelik sıralaması verilmiştir. Operatörlerin hepsini aşağıdaki tabloda görmemiz mümkündür. Bu tabloda her satırda bulunan işlemler aynı derecede önceliğe sahiptir. Üst satırda bulunan işlem, alttakilerinden daha önceliklidir. Operatör Tanımı Birleştirme Özelliği () [] [...]

Dallanma (Çatallanma, Fork)

Yazan: Şadi Evren ŞEKER Yapısal programlamaya (Structered Programming) uygun olan bir programlama dilinde bulunması gereken temel 3 özellikten birisi de dallnamadır. Buna göre program akışı içerisinde bir alt programın (sub program) çalışıp çalışmayacağına karar verilebilmeli ve bu karar bir koşul ile programlanabilmelidir. Aşağıdaki akış diyagramında (flow chart) bir eşkenar dörtgen ile bu durum ifade ediliştir: [...]

Şadi Evren ŞEKER tarafından, 08/10/2008 tarihinde yazıldı. | C/C++, Programlama Dilleri | A yorum var

Türkçe için TimeML

Yazan: Şadi Evren ŞEKER Bu dökümanın amacı TimeML isimli zaman modelleme dilinin Türkçe için nasıl kullanılabileceğini göstermektir. TimeML İngilizce esas alınarak geliştirilmiş bir dildir ve ne yazık ki TimeML tam bir makine dili değildir bu yüzden TimeML içerisinde bir takım doğal dile ait olan özelliklerin Türkçeye tam olarak uygulanması mümkün değildir. Bu özelliklerin başında fiillerin [...]

Şadi Evren ŞEKER tarafından, 07/10/2008 tarihinde yazıldı. | Doğal Dil İşleme (NLP) | A yorum var

C ile Kodlama

Yazan : Şadi Evren ŞEKER Bu yazının amacı, c ile yazılan bir kodun nasıl bir programa dönüştüğünü açıklamaktır. Basitçe bir kod program C dilinde yazılmış bir dosyadır. Bu kaynak kodun (Source Code) bir programa ve ardından da bir işleme (process) dönüşmesi için sırasıyla: Kod derlenir (Compile) Derlenmiş kodlar bağlanır (linker) Bağlanmış kodlar hafızaya yüklenir (loader) [...]

Şadi Evren ŞEKER tarafından, 06/10/2008 tarihinde yazıldı. | C/C++ | A yorum var

Çift Tamponlama (Double Buffering, Çift Arabellek)

Yazan: Şadi Evren ŞEKER Bilgisayar grafiklerinde kullanılan bu terime göre ekranda görüntülenecek olan bilginin iki kere hafızalanmasıdır. Buna göre görüntünün iki ayrı kopyası hafızada tutulur.Grafiklerden birisi gösterilirken diğeri hazırlanır. Böylece ekranda sadece bir tanesi görüntülenirken diğeri hafızada bir sonkrai görüntülenme için hazırlanır. Hafızada ayrıca hazırlanılmasının sebebi, bu hazırlama işleminin vakit alması ve bütün işlemin çok [...]

Uzaysal Çözünürlük (Spatial Resolution)

Yazan : Şadi Evren ŞEKER En basit anlamda bir uzayda bulunan örneklerin birbirine olan uzaklığını belirtir. Yani bir uzaydan (örneğin 3 boyutlu bir ortamdan) bir örnek alındıpında (örneğin bir kalemin bilgisi alındığında) bu bilgiler arası mesafe, örneğin çözünürlüğünü belirler. Buna göre mesafe kısaldıkça alınan örnek sayısı artar ve dolayısıyla kalemin daha çok detayı hakkında bilgi [...]

OpenGL’in Çalışma Sırası

Yazan : Şadi Evren ŞEKER Bilindiği üzeren OpenGL ortamında yazılan bir programın, çalışma sırasında yaptığı bir dizi işlem sırası bulunmaktadır. Bu işlemler şu şekilde sıralanabilir: Sanal ortamın toparlanması (assemble) Sanal olarak kameranın ortama yerleştirimesi ve görüntü açısının belirlenmesi Görüntünün bir düzlem üzerine iz düşümünün alınması. (3 boyutlu olan OpenGL ortamı sonuçta iki boyutlu ekranlarda görüntülenmektedir [...]

Yahut Problemi (Özel Veya Problemi (XOR Problem, exclusive or))

Yazan : Şadi Evren ŞEKER Yapay sinir ağlarında yaşanan bir problem olan XOR problemine göre tek katman ile bir yapay sinir ağının xor fonksiyonunu vermesi beklenemez. Bu durum doğrusal ayrılabilirlik (linearly seperable) ile açıklanabilir. XOR probleminin çözümü için çok katmana ihtiyacımız bulunur. Problemin çözümü için giriş ve çıkış katmanları tahil 3 katman gerekmektedir ve çözüm [...]

Şadi Evren ŞEKER tarafından, 05/10/2008 tarihinde yazıldı. | Yapay Sinir Ağları (Artificial Neural Networks) | A yorum var

JOONE Kullanımı

Yazan : Şadi Evren ŞEKER Bu yazının amacı JOONE (JAVA Object Oriented Neural Engine) uygulamasının nasıl kullanılacağını ve basit bir örneğin nasıl eğitileceğini açıklamaktır. JOONE, http://www.jooneworld.com/ adresinden indirilebilen açık kaynak kodlu bir yazılımdır. Yazılım indirilip kurulduktan sonra aşağıdakine benzer bir arayüzü bulunur: Bu arayüz üzerinde yahut işlemi (XOR (özel veya)) tanımlayarak eğitem bir uygulamayı adım [...]

Şadi Evren ŞEKER tarafından, 04/10/2008 tarihinde yazıldı. | Yapay Sinir Ağları (Artificial Neural Networks) | A yorum var

Tek Katmanlı Sinir Ağları (Single Layer Neural Networks)

Yazan : Şadi Evren ŞEKER Bu yazıda yapay sinir ağlarının bazı örnekleri gösterilecektir. Bilindiği üzere yapay sinir ağlarında bulunan nöronların (neurons) dizilişleirnin çok katmanlı (multilayer) şekilde düşünülmesi mümkündür.  Bu örneklerin ortak noktası tek katmanlı olmalarıdır. VE Kapısı (And Gate): En basit sinir ağı olarak mantık devrelerinde kullanılan ve kapısı düşünülebilir. Aşağıda ve kapısının doğruluk çizelgesi(truth [...]

Sinir Ağlarında Katmanlar (Neuron Layers)

Yazan : Şadi Evren ŞEKER Bu yazının amacı yapay sinir ağlarında (Artificial Neural Networks) konusunda kullanılan katman (layer) kavramını açıklamaktır. Bilindiği üzere bir yapay sinir ağının temel öğeleri sinir hücreleri (neurons) ve bu sinir hücrelerini bağlayan sinapsislerdir (synapses).  Sinir hücreleri bağlanarak bir yapay sinir ağı oluşturulduktan sonra sistemi oluşturan her sinir hücresini aşağıdaki şekilde katmanlara [...]

Sinapsis (Synapses)

Yazan : Şadi Evren ŞEKER Yapay sinir ağları (Artificial Neural Networks) için her sinir hücresini (neuron) birbirine bağlayan ve üzerlerinde ağırlık değeri taşıyan bağlantı üniteleridir. Buna göre bir nöron kendi hareketini yaptıktan sonra diğer nöronlara iletilmek üzere bir sonuç üretir. Sinapsisler bu sonucu alıp belirli bir ağırlıkta diğer nörona iletir. Aşağıdaki şekilde 3 farklı nörondan [...]

Nöron’un Kullanımı

Yazan : Şadi Evren ŞEKER Bu yazının amacı yapay sinir ağlarında (Artificial Neural Networks) konusunda nöronların (neurons) nasıl kullanıldığı ve programlara nasıl dahil edildiğini açıklamaktır. Bilindiği üzere nöron (sinir hücresi, neuron) bir yapay sinir ağının en temel öğesidir. Bu tanımı şöyle genişletmek mümkündür, bir nöron kendi girişi olan, kendi içerisinde bir işlem yapan ve bir [...]

Kuantum İşleme (Quantum Computing)

Yazan : Şadi Evren ŞEKER Bu yazının amacı kuantum bilgisayarları ve kuantum işleme (Quantum Computing) konusunda fikir vermek ve yapılan çalışmaların arkasındaki felsefeyi aktarmaktır. Kuantum bilgisayarları basitçe veriyi işlemek için çok küçük parçacıklar kullanır. Örneğin her gün yolda görebileceğimiz basit bir çakıl taşı aslında bir kuantun işlemi olarak kabul edilebilir. Temelde çakıl taşının yaptığı iş [...]

Kubit (Qubit)

Yazan : Şadi Evren ŞEKER Günümüz bilgisayar teknolojilerinin üzerine inşa edilmiş olan Von Neumann bilgisayarlarında en düşük veri ünitesi ikildir (bit). Benzer şekilde kuantum bilgisayarları içinde kubit (qubit = quantum bit) kullanılmaktadır. Normal ikilde (bit) sadece 1 ve 0 değerleri depolanabilirken bir kubit içinde 0, 1 veya her ikisi birden bulunabilmektedir. Bu konuyu daha iyi [...]

Doğrusal Ayrılabilirlik (Linear Seperability)

Yazan: Şadi Evren ŞEKER Yapay sinir ağlarının en basit anlamda incelenebilmesi için problemi iki adet ikil haneleri olan (binary digists) bir girdiye bir de tek ikil (binary) çıktıya sahip bir örnek üzerinden inceleyelim. Aşağıda iki farklı fonksiyonun gerçeklik çizelgesi (doğruluk tablosu, truth table) verilmiştir. A ve B değerleri girişi C ise çıkışı ifade etsin: F [...]

Yapay Sinir Ağlarının Sınanması (Validating Artificial Neural Networks)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinin bir çalışma alanı olan yapay sinir ağlarında amaç insan vücudunda bulunan biyolojik sinir ağlarının bilgisayarlar tarafından modellenmesi ve başarılı olarak kullanılmasıdır. Bu işlem için öncelikle bir yapay sinir ağı tasarımı yapılır. Sinir ağında buluna nöron ve sinapsislere değerler atanarak sinir ağı tasarlandıktan sonra bu sinir ağının eğitim süreci [...]

Yapay Sinir Ağlarının Eğitimi (Training Neural Networks)

Yazan : Şadi Evren ŞEKER Bu yazının amacı yapay sinir ağlarının (Artificial neural Networks) nasıl eğitildiğini anlatmaktır. Bir yapay sinir ağını oluşturan sinir hücreleri (neurons, nöronlar) sinapsisler aracılığı ile birbirlerine bağlıdırlar. Bu sinapsisler bağladıkları nöronların birbirinden haberdar olmasını sağlamaktadırlar. Ancak biyolojik sinir hücrelerinde olduğu gibi bilgisayar dünyasında bulunan yapay sinir ağlarında da bütün bağlantıların (sinapsislerin [...]

Akış Diyagramı (Flow Chart)

Yazan : Şadi Evren ŞEKER Bilgisayar algoritmalarında, algoritmanın görsel olarak tasvir edilebilmesi için geliştirilmiş bir çizim yöntemidir. Buna göre yapısal programlamaya uygun olarak geliştirilmiş bir programlama dili aşağıdaki üç temel özelliği içerir: Bir alt programa dallanmak (fork) Bir alt programı tekrarlamak (loop) Bir alt programı icra etmek (execute) İşte temel olarak bu 3 işlemi yapabilen her [...]

Yapay Sinir Ağları ve Problem Çözümü

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinin önemli çalışma alanlarından birisi olan yapay zekanın bir alt dalı olan yapay sinir ağları (artificial Neural Networks) ne yazık ki her konuda kullanışlı değildir. Bu yazının amacı günümüz bilgisi ile hangi problemlerin yapay sinir ağlarına uygun olduğunu sorgulamaktır. Basit bir sınıflandırma yapmak gerekirse, insanoğlunun matematiksel olarak modelleyebildiği problemler [...]