Yapay Sinir Ağları ve Derin Öğrenme – 2

Perceptron

Perceptron -en basit YSA mimarilerinden biridir- 1957 yılında Frank Rosenblatt tarafından keşfedilmişdir. Yapay nörondan farklı olarak bir doğrusal eşik birimi (Linear threshold unit – LTU) ‘ne sahiptir, giriş ve çıkışlar ikili değerler yerine sayılardır ve herbir giriş bir ağırlığa sahiptir. LTU, girişlerin ağırlıklı toplamını hesaplar (z = w_1x_1+w_2x_2+\cdots+w_nx_n=w^T\cdot x), ardından bu toplama bir adım fonksiyonu (step function) uygular ve sonucu verir: h_w(x)=step(z)=step(w^T\cdot x) .

im2-1
Şekil 1. LTU

Perceptron ile en sık kullanılan adım fonksiyonları, Heaviside adım fonksiyonu ve işaret fonksiyonudur:

eq2-1

Formül 1. En sık kullanılan adım fonksiyonları

Tek bir LTU, sadece basit bir doğrusal ikili sınıflandırma için kullanılabilir. Girişlerin doğrusal kombinasyonlarını hesaplar ve eğer sonuç eşik değerini aşıyorsa pozitif sınıf (positive class), aşmıyorsa negatif sınıf (negative class) çıktısını verir. Perceptron, kabaca LTU’ların bir katmanıdır, her bir nöron tüm girişlere bağlıdır. Bu bağlantılar, giriş nöronu (input neuron) olarak adlandırılan nöronlarla temsil edilir. Ayrıca, genellikle bir yanlılık özelliği (bias feature) eklenir. Bu yanlılık özelliği de yanlılık nöronu (bias neuron) ile temsil edilir: bu nöron, her zaman bir çıktısını verir. Şekil 2’de iki giriş ve üç çıkışa sahip bir Perceptron görülmektedir.

 im2-2
Şekil 2. Bir Perceptron

Peki, bir Perceptron nasıl eğitilir? Frank Rosenblatt tarafından verilen Perceptron eğitim algoritması, Hebb’s rule’dan esinlenilmiştir. 1949 yılında yayınlanan The Organization of Behavior kitabında Donald Hebb, “Bir biyoloji nöron başka bir nöronu tetiklediğinde, iki nöron arasındaki bağlantı güçlenmektedir.” demiştir. Bu kural daha sonra Hebb’s rule olarak adlandırılmıştır: iki nöron arasındaki bağlantı, nöronlar aynı anda ateşlendikçe güçlenir.

 eq2-2
Formül 2. Perceptron öğrenme kuralı (ağırlık güncellemesi)
  • w_{i,j}   i-inci ve j-inci nöronlar arasındaki bağlantı ağırlığı.
  • x_i   i-inci giriş değeri.
  • \hat{y}_j   j-inci çıkış nöronunun çıkış değeri.
  • y_j   j-inci çıkış nöronunun hedef değeri.
  • \eta   öğrenme oranı.

Her bir çıkış nöronunun karar sınırı doğrusaldır, bu nedenle Perceptronlar karmaşık desenleri öğrenemezler. Ama, eğer eğitim verileri doğrusal ayrılabilir ise, Rosenblatt bu algoritmanın çözüme yakınsayacağını göstermiştir. Bu da Perceptron yakınsaklık teoremi (Perceptron convergence theorem) olarak adlandırılır.

Scikit-Learn, tek bir LTU ağını uygulayan bir Perceptron sınıfına sahiptir. Örnek olarak iris verisetini kullanalım:

import numpy as np
from sklearn.datasets import load_iris
from sklearn.linear_model import Perceptron

iris = load_iris()
X = iris.data[:, (2, 3)] # petal length ve petal width özniteliklerini seçtik
y = (iris.target == 0).astype(np.int) # Iris Setosa ise 1, diğer durumlar 0

per_clf = Perceptron()
per_clf.fit(X, y)
y_pred = per_clf.predict([[2, 0.5]])
print(y_pred)

1969 yılında yayınladıkları Perceptrons adlı yazılarında Marvin Minsky ve Seymour Papert, Perceptronların çeşitli zayıf noktalarını ve bazı aşikar problemleri (örneğin, XOR) çözmedeki yetersizliklerini belirtmişlerdir. Ancak, Perceptronların bazı limitleri, birden çok Perceptronun bir araya getirilmesi ile aşılmıştır. Bu tip bir YSA, Çok Katmanlı Perceptron (Multi-Layer Perceptron) olarak adlandırılır. MLP, XOR problemini çözebilmektedir.

im2-3
Şekil 3. XOR sınıflandırma problemi ve onu çözen çok katmanlı Perceptron

Bir sonraki yazımızda, Çok Katmanlı Perceptron ile devam edeceğiz.

Görüşmek üzere.

Kaynaklar

  1. Geron, A. (2017). Hands-On Machine Learning with Scikit-Learn and TensorFlow Concepts, Tools, and Techniques for Building Intelligent Systems. Sebastopol: OReilly UK Ltd.
Reklamlar

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

w

Connecting to %s