Yapay Sinir Ağları (Artificial Neural Networks)

Elektronik kod defteri şekli (Electronic Code Book Mode)

Yazan : Şadi Evren ŞEKER Blok şifreleme yöntemlerinin (block cipher) en basitidir. Verilen bir açık mesaj, bloklara bölünür. Bölünmüş mesaj ayrı ayrı parçalar olarak şifrelenir ve şifreli mesaj elde edilir. ECB modundaki bir şifrelemede, şifrelenen bloklar arasında bir ilişki söz konusu değildir. Her blok tek başına şifrelenir ve şifreli mesaj bu blokların birleşmiş halidir. Bu [...]

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

Principal Component Analysis

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde boyut indirmeye yarayan bir yöntemdir. Kısaca iki bilgi arasında bir bağlantı varsa bu bağlantı sayesinde iki veriden birisini tutmak ve bağlantıyı tutmak iki bilginin de geri bulunabilmesini sağlar. Kısaca PCA olarak da ifade edilen bu terime göre bir veri kümesinin (veri matrisinin , data matrix) kovaryans matrisinin (covariance [...]

Tekil Değer Ayrışımı (Singular Value Decomposition)

Yazan : Şadi Evren ŞEKER Lineer Cebir (Linear Algebra) konusunda kullanılan ve reel veya kompleks matrisler üzerinde ayrıştırmaya yarayan önemli bir konudur. Basitçe bir matrisi 3 parçaya ayırarak tutar ve bu üç parçayı kullanarak aynı matrisin yeniden elde edilmesini sağlar. M = UΣV U, vahid masfuf (üniter matris, unitary matrix) olmaktadır V matrisi, M matrisinin [...]

Bayes Ağları (Bayesian Network)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde veri modelleme ve durum geçişi ifade etmek için kullanılan yöntemlerden birisidir. Literatürde bayes network veya blief network (inanç ağı) olarak da geçen ağların özelliğ istatistiksel ağlar olmaları ve düğümler (nodes) arası geçiş yapan kolların (edges) istatistiksel kararlara göre seçilmesidir. Bayes ağları yönlü dönüşsüz ağlardır (directed acyclic network) ve [...]

Self Organizing Maps (Özdüzenleyici Haritalar)

Yazan : Şadi Evren ŞEKER Özdüzenleyici haritalar, yapay sinir ağlarının özel bir biçimidir ve eğitimleri sırasında gözetimsiz eğtim kullanılmaktadır. İlk kez Kohonen ismindeki finlandiyalı bilim adamı tarafından geliştirildiği için kohonen haritası (kohonen map) ismi de verilen bu ağlar diğer bütün yapay sinir ağları gibi iki farklı şekilde çalışmaktadır. İlk çalışma şeklinde sistem kendini eğitmektedir. Bu [...]

K-Ortalama Algoritması (K-Means Algorithm)

Yazan : Şadi Evren ŞEKER Sınıflandırmada (clustering) kullanılan algoritmalardan birisidir. Amaç özellik çıkarımı (Feature extraction) yapılmış bir grup verinin birden fazla sınıfa göre doğru sınıflandırılmasıdır. Kullanılan matematiksel yöntem her sınıf için merkez belirlenen noktaya uzaklığa (aynı zamanda bu hata miktarıdır) göre yeni sınıfların yerleştirilmesidir. Algoritma temel olarak 4 aşamadan oluşur: Sınıf merkezlerinin belirlenmesi Merkez dışındaki [...]

Doğrusal olmayan DVM ( Non-linear SVM)

Yazan : Şadi Evren ŞEKER Destekçi vektör makinelerinde (Support vector machines) ayrım bir aşırıdüzlem (hyperplane) üzerinde iki grubu ayırdan bir doğru ve bu doğruya bağlı bir tolerans (offset) ile yapılmaktadır. Ancak bu durum her zaman beklendiği kadar iyi sonuç vermeyebilir. Örneğin aşağıdaki şekilde doğrusal bir ayrım yapılması durumunda yanlış sınıflandırma yapılan örnekler (misclassification) biraz daha [...]

Çok sınıflı DVM ( Multiclass SVM)

Yazan : Şadi Evren ŞEKER Bilindiği üzere destekçi vektör makinaları ( Support Vector Machine ) iki sınıfın ayrılmasında kullanılmaktadır. Yani bir DVM marifetiyle iki sınıf belirli bir tolerans (offset) değerinde birbirinden ayrılmakta ve bu ayrım sonunda çıkarılmış olan öznitelik vektörlerine (feature vectors) göre aşırıdüzlem (hyperplane) üzerinde iki düzlem elde edilmektedir. Çok sınıflı DVM ile kast [...]

Kazanan Hepsini Alır (Winner Takes All)

Yazan : Şadi Evren ŞEKER Güncel hayattan bir deyim olan kazanan hepsini alır yaklaşımına göre bir yarış içindeki iki veya daha fazla şeyden birisi diğerlerine üstünlük sağlar ve diğerlerini yok eder. Bilgisayar bilimlerinde yapay sinir ağlarında kullanılan bir terimdir. Yapay sinir ağlarında ( Artificial neural networks) kullanılan bu terime göre, eğitim sırasında bir nöronun diğer [...]

SVM (Support Vector Machine, Destekçi Vektör Makinesi)

Yazan : Şadi Evren ŞEKER Sınıflandırma (Classification) konusunda kullanılan oldukça etkili ve basit yöntemlerden birisidir. Sınıflandırma için bir düzlemde bulunan iki grup arasında bir sınır çizilerek iki grubu ayırmak mümkündür. Bu sınırın çizileceği yer ise iki grubun da üyelerine en uzak olan yer olmalıdır. İşte SVM bu sınırın nasıl çizileceğini belirler. Bu işlemin yapılması için [...]

Özellik Çıkarımı (Feature Extraction)

Yazan : Şadi Evren ŞEKER Bir sisteme giren girişlerin bütün bir bilgi olarak değil de bu bilgiyi oluşturan vasıflardan bazılarının çıkarılması ve sistemin bu vasıflar üzerine kurulması durumudur. Örneğin bir miktar resimden içinde çimen bulunanların tespit edilmesi isteniyor olsun. Bilindiği üzere çimenler yeşildir ve resimlerden yeşil tonun ağırlıkta olanlarının çimen içermesi ihtimali yüksektir. Öyleyse sisteme [...]

KNN (K nearest neighborhood, en yakın k komşu)

Yazan : Şadi Evren ŞEKER Sınıflandırmada kullanılan bu algoritmaya göre sınıflandırma sırasında çıkarılan özelliklerden (feature extraction), sınıflandırılmak istenen yeni bireyin daha önceki bireylerden k tanesine yakınlığına bakılmasıdır. Örneğin k = 3 için yeni bir eleman sınıflandırılmak istensin. bu durumda eski sınıflandırılmış elemanlardan en yakın 3 tanesi alınır. Bu elamanlar hangi sınıfa dahilse, yeni eleman da [...]

Meyilli Azalım (Gradient Decent)

Yazan : Şadi Evren ŞEKER Geri yayılımlı (Backpropagation) ağlarda öğrenme iki adımda olur: 1. Giriş katmanında öğrenilmsi istenen verinin modellenmesi 2. Meyilli azalma kullanılarak toplam hatanın asgarileştirilmesi (minimisation) Burada meyilli azalım için kullanılan ve her sinapsis üzerindeki değişimi veren: Δwji = -ε [dE/dwji] formülü kullanılabilir. Buradaki sinapsis değişimi hatanın (E) mevcut sinapsis ağırlık değeri üzerindeki [...]

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

Geri Yayılımlı Ağlar (Backpropagation Networks)

Yazan : Şadi Evren ŞEKER Geri yayılımlı ağlar basitçe iler beslemeli bir ağda bulunan hata miktarlarının gizli katmanda(Hidden Layer) bulunan sinir hücrelerine(neurons) geri dönmesi ve eğitimin başarısının arttırılmasıdır. yukarıdaki resimde bir gizli katmanda sinir hücreleri arasındaki geri yayılım gösterilmiştir. Unutulmaması gerken bir nokta yapay sinir ağlarında giriş ve çıkış katmanlarında geri yayılım olmayacağıdır. Bu geri [...]

Gizli Katmandaki Nöron Sayısı

Yazan : Şadi Evren ŞEKER Bu yazının amacı basitçe bir yapay sinir ağındaki gizli katmanların (Hidden Layer) sinir hücrelerinin (neurons) sayısının nasıl belirlendiğini açıklamaktır. Aslında bir yapay sinir ağının en kritik noktası gizli katmanında kaç nöron olacağına karar vermektir. Genellikle sonucu direk olarak vermemesine karşılık sonuca direk etkisi olması açısından gizli katmandaki nöron sayısı oldukça [...]

Gizli Katman Sayısı (Number of Hidden Layer)

Yazan : Şadi Evren ŞEKER Bu yazının amacı bir yapay sinir ağında bulunan gizli katman (hidden layer) sayısını belirlerken dikkat edilecek noktalara ve klasik problemlerdeki gizli katman sayılarını anlatmaktır. Bir yapay sinir ağında şayet hiç gizli katman bulunmuyorsa bunun anlamı doğrusal fonksiyonlar üzerinden ayırım veya karar verme yapılabildiğidir. Yani basitçe girişlerin bir kısmı çıkışlara direk [...]

Doğrusal Fonksiyon (Linear Function)

Yazan : Şadi Evren ŞEKER En basit doğrusal fonksiyon, kartezyen uzayda x ve y eksenleri ile 45 derecelik açı yapan x=y doğrusudur. Temel olarak bir doğrusal fonksiyonu: y = ax+b olarak ifade etmek mümkündür. Buradaki a eğimi ve b ise kayma miktarını (shift) verir. Bu fonksiyonun çokça kullanıldığı alanlardan birisi de yapay sinir ağlarında bir [...]

Hiperbolik Tanjant (Hyperbolic Tangent)

Yazan : Şadi Evren ŞEKER Sigmoid fonksiyonunun biraz değiştirilmli ve eksi (-) değerler alan hali olarak düşünülebilir. Yukarıda verilen bu giriş değeri için aşağıdaki JAVA kodu yazılabilir: public double tanh (double u) {    double a = Math.exp( u );    double b = Math.exp( -u );    return ((a-b)/(a+b)); } Yukarıda verilen hiperbolik tanjant [...]

Sigmoid Fonksiyon

Yazan : Şadi Evren ŞEKER Sigmoid fonksiyonu (Sigmoid function) basitçe f(x) = 1 / (1+e-x ) olarak yazılabilir. Sigmoid fonkisyonunun ismi de fonksiyonun kartezyen uzayda çizilmiş halinin andırdığı S harfinden (sigma) gelmektedir. Bu çizim aşağıda tasvir edilmiştir: Yukarıda da gösterildiği üzere fonksiyon 0 ve 1 arasındaki y değerleri için tanımlı olup x=0 ekseninden önce 0′a [...]

İleri Beslemeli Ağlar (Feedforward Neural Networks)

Yazan : Şadi Evren ŞEKER İleri beslemeli yapay sinir ağlarında temel olarak 3 çeşit katman (layer) bulunur. Giriş , gizli ve çıkış katmanları sırasıyla yapay sinir ağına giren verileri tutan giriş katmanı, işlemlerin yapıldığı ve istenilen sonuca göre kendisini eğiten gizli katman yada katmanlar ve son olarak çıkış değerlerini gösteren çıkış katmanıdır. Bir gizli katmanın [...]

Delta Kuralı (Delta Rule)

Yazan : Şadi Evren ŞEKER Yapay sinir ağlarında kullanılan ve sistemin hata miktarının belirlenmesinde Hebb kuralı ile birlikte ismi en çok geçen kuraldır. Bu kural arka planda en küçük ortalamalı kareler (least mean square) hesaplaması kullanmaktadır. Sistemin çalışmasını basitçe beklenen değer ile gerçekleşen değer arasındaki farkın birbirine yaklaştırılması olarak düşünebiliriz. En küçük ortalamalı kareler (LMS) [...]

Hebb Kuralı (Hebb’s Rule)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerindeki yapay sinir ağlarının eğitimi sırasında kullanılan bir kuraldır. Hebbian kuramı (Hebbian theory), hebbian kuralı (hebbian rule) isimleri ile de anılmaktadır. Bu kuralı basitçe “Birlikte ateşlenenleri birlikte bağla” şeklinde özetleyebiliriz. Buna göre iki sinir hücresinin birlikte ateşlenmeleri ile ayrı ayrı ateşlenmeleri arasında sistemin eğitimi açısından fark olmaktadır. Basitçe aynı [...]

Hata Hesabı (Error Calculation)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde pek çok farklı alanda pekçok farklı hata olmasına karşılık bu yazının amacı yapay sinir ağlarının eğitimi sırasında hatanın nasıl hesaplandığını anlatmayı hedeflemektedir: Gözetimli eğitim sırasında bir hata hesabı yapılırken iki farklı boyut düşünülmelidir. Bunlardan birincisi her sinir hücresini (nöron) bağlayan sinapsis için hesaplanan hata, diğeri ise sistemin tamamının [...]

Gözetimli Öğrenme (Supervised Learning)

Yazan : Şadi Evren ŞEKER Yapay sinir ağları başta olmaküzere bilgisayar bilimlerinin alt dalı olan yapay zekanın çeşitli alanlarında kullanılan öğrenme çeşididir. Diğer alternatifi olan gözetimsiz öğrenme (unsupervised learning)’e göre daha kısa süremesinin en büyük sebebi hata miktarlarının sisteme öğrenme olarak giriyor olmasıdır. Buna göre sistem yaptığı hatalardan ders çıkararak bu hataları öğrenmek için kullanır. [...]

Gözetimsiz Öğrenme (Unsupervised Learning)

Yazan : Şadi Evren ŞEKER Yapay sinir ağları başta olmaküzere bilgisayar bilimlerinin alt dalı olan yapay zekanın çeşitli alanlarında kullanılan öğrenme çeşididir. Diğer alternatifi olan gözetimli öğrenme (supervised learning)’e göre daha uzun süremesinin en büyük sebebi ilk değerlerinin hedeflenen değerden çok uzak olma ihtimalidir. Aşağıda basit bir akış diyagramı ile gözetimsiz eğitimin nasıl yapılabileceği gösterilmiştir: [...]