SlideShare uma empresa Scribd logo
1 de 5
Baixar para ler offline
Hamming Yapay Sinir Ağı ve Öğrenmesi
Murat ÖZALP
Bilecik Şeyh Edebali Üniversitesi
murat.ozalp@bilecik.edu.tr
Abstract
This study was conducted as ANN homework. Hamming
network was researched and presented.
Özet
Bu çalışma, YSA ev ödevi olarak yapılmıştır. Ödev
kapsamında, Hamming ağının araştırılması ve sunumu
yapılmıştır.
1. Giriş
Ağın temel kullanım amaçları; desen eşleştirme
(pattern matching) ve sınıflandırma (classification) gibi
uygulamalardır. Aşağıda ağın temsili şeması verilmiştir.
Şekil 1. Hamming Ağı'nın şeması
Hamming ağı tek katmanlı bir ağdır. Girişler ve çıkışlar
arasında tam bağlantı bulunmaktadır. Bağlantı ağırlıkları
eğitim sırasında belirlenmekte ve iteratif olarak
değişmemektedir. Bu özelliklerinden dolayı; sabit ağırlıklı
ve tek katmanlı bir ağ olarak tanımlanmaktadır. Ağ
ağırlıkları hesaplanırken, Hamming mesafesi
kullanılmaktadır. Ağın ismi buradan gelmektedir.
2. Tarihçe
Richard Hamming, 1915-1998 yılları arasında yaşamış
bilim adamıdır. 1940'lı yıllarda delikli kart kullanan
bilgisayarlarla çalışırken, hata bulma/düzeltme
algoritmaları üzerine uzun süre çalışmıştır. Hata bulma
süresini kısaltmak üzere yaptığı çalışmalar sırasında,
sayısal olmayan ifadeler arasındaki benzerliği ifade
edebilmek için bir tanım yapmış vr buna Hamming
mesafesi ismini vermiştir.
Hamming mesafesini kullanan yapay sinir ağları ilk
kez 1987 yılında Lippmann tarafından “An Introduction
to Computing with Neural Nets” isimli çalışmada ifade
edilmiştir.
3. Hamming Mesafesi
İki vektörün birbirine uzaklığını bulmak için kullanılan
yöntemlerden birisi Hamming mesafesidir.
Öklid mesafesi ve benzerleri sayısal verilerle işlem
yaparken, Hamming mesafesi sayısal olmayan ifadelerle
işlem yapmaktadır.
Hamming mesafesi; özetle, iki vektör (ifade, katar)
arasında kaç tane sembolün farklı olduğuna bağlı olarak
benzerlik ifade eder. Vektörlerin arasındaki farklı sembol
sayısı, iki vektör arasındaki uzaklığı ifade eder. Aşağıda
bununla ilgili birkaç örnek verilmiştir:
1. Vektör 2. Vektör Mesafe
11110000 1011000 2
abc123 abc120 1
Antalya Antakya 1
Hamming mesafesinin ağ içerisinde kullanılma amacı,
girişten verilen vektörlerin, önceden öğretilmiş olan
örneklere (sınıflar ~ classes) ne kadar benzediğini
bulmaktır. Mesafenin (uzaklığın) tersi yakınlık (benzerlik)
olarak kullanılmaktadır. Örneğin; 8 sembollü iki ifade
arasındaki mesafe 2 ise, bu iki ifadenin benzerlik değeri 6
olarak hesaplanmaktadır. Hamming ağlarında, giriş
vekörü ile benzerlik değeri en fazla olan sınıf, çıkışta elde
edilmektedir.
21.12.2015 Sayfa: 1/4 Murat ÖZALP
4. Ağın Temel Özellikleri
YSA algoritmaları sınıflandırmasında, “danışmansız
ağlar (unsupervised networks)” kategorisinde yer
almaktadır. Bazı kaynaklarda “danışmanlı ağlar”
kategorisine de dahil edildiği olmuştur. Bunun sebebi ağın
“sınıf” olarak kullanacağı örnek vektörlerin ağa önceden
veriliyor olmasıdır.
Sınıflandırma sırasında “giriş vektörüne en çok
benzeyen sınıf” arandığından, “yarışmacı ağlar
(competitive networks)” kategorisinde yer almaktadır.
Ağırlıkları baştan belirlendiği ve daha sonra
değişmediği için; “sabit ağırlıklı (fixed weights)”
ağlardandır.
Ağın ana karakterini ifade eden bu özellikleri şu şekilde
özetleyebiliriz:
• danışmansızdır
• yarışmacıdır
• tek katmanlıdır
• yarışmacıdır
“En yakın komşu (nearest neighboor)” tarzında
kümeleme veya sınıflandırma ağlarına da benzerlik
göstermektedir. kNN türü uygulamalarda, girişin her bir
elemanı, önceki elemanlardan en yakın k tanesinin
yoğunlukla dahil olduğu kümeye dahil olmaya çalışır. Bu
tarz uygulamalar genellikle sayısal veriler ile çalışmaktadır.
Ancak Hamming ağının bunlardan en önemli farkı, sayısal
olmayan veriler arasında yakınlık ifade edebilmesidir.
Hamming ağı ile benzer durumlarda kullanılan diğer
ağlar; MaxNET ve Meksika Şapkası'dır.
MaxNET ağları; klasik bir “kazanan hepsini alır
(winner takes all)” uygulamasıdır. Karşılaştırılan
değerlerden en büyük olanın çıkışı aktif, diğer tüm çıkışlar
pasif durumda olur. Bu durum çıkış katsayılarının 1 ve 0
şeklinde düzenlenmesi ile uygulanır. Hamming ağlarının
çıkışına ilave olarak genellikle bir MaxNET ağı eklenir.
Bunun sebebi; Hamming ağının çıkışındaki benzerlik
skaler değerlerinin en büyük olanının seçilmesidir.
Hamming ağının önemli bir özelliği de ikili girişlerle
(bipolar vectors) çalışmasıdır. Bu nedenle girişler ikili
ifadelerle verilmektedir.
5. Örnek Rakam Tanıma Sistemi
Rakam tanıma sisteminde, 0-9 arası rakamları ifade
eden 10 tane sınıf bulunmaktadır. Girişten verilen her bir
eleman, bu 10 sınıftan birisine dahil edilmelidir. Bunların
haricinde bir seçenek olamaz. Dolayısıyla, en çok hangi
rakama benzerse, o sınıfa dahil edilmesi düşünülebilir. İşte
bu benzerlik Hamming mesafesi ile ölçülmektedir. Aşağıda
bu örnek için şema gösterilmiştir:
Şekil 2. Rakam tanıma sistemi ağ şeması
Rakam tanıma sisteminde, girişten uygulanacak olan
her bir rakam 5x3 şeklinde matrislerle sayısallaştırılarak
verilmektedir. Her bir veri için; matrisin her bir
hücresinin dolu/boş olması durumu -1/+1 şeklinde
sayısallaştırılmaktadır. 15 hücrenin sisteme giriş olarak
verilebilmesi için, 15 tane giriş gerekmektedir. Girişler
Xi=[...]5x3 şeklinde sisteme verilmelidir.
Sistem çıkışında sınıflandırma yapılacaktır. Yani her
bir giriş verisi için, 0-9 rakamlarının hangisine tekabül
ettiğini sistem belirtebilmelidir. Bunu; üretim bandında
ürünlerin “sağlam” veya “arızalı” şeklinde iki ayrı sepete
ayrılması şeklinde düşünebiliriz. Rakam tanıma örneğinde
de benzer şekilde 10 ayrı sepet (sınıf) bulunmaktadır. Bu
10 ayrı sınıfı ifade edebilmek için, 10 tane ayrı çıkış
olması gerektiği açıktır. Çıkışlar, Yi=[.....]10x1 şeklinde
ifade edilmektedir.
6. Bağlantı Ağırlıkları ve Eşikler
Ağırlıklar ve eşik (bias) değerleri, sisteme tanıtılacak
olan örneklere (sınıflar) göre belirlenmektedir.
Örneğin; rakam tanıma örneği için, 10 tane 5x3 matris
verisi sisteme verilerek ağırlık ve eşiklerin oluşturulması
sağlanmaktadır. Bu aşamadan sonra bir daha ağırlık ve
eşik değerleri değiştirilmemektedir.
7. Ağın Oluşturulması
Sistemin tanıyacağı verilere göre örnek verilerin
(sınıflar) sisteme önceden yüklenmesi gerekmektedir.
Ağın oluşturulması bu şekilde sağlanmaktadır.
Hamming ağının temelinde Hamming mesafesinin
bulunduğun daha önce belirtilmişti. Aşağıda bunun
matematiksel ifadeleri verilmiştir.
a ve b, iki farklı vektör olsun. Bu vektörler için;
Birbirleri ile aynı olan eleman sayısı: A(a,b) şeklinde
(A: Agree) gösterilir. Farklı olan elemanların sayısı ise
H(a,b) şeklinde (H: Hamming) gösterilir.
Bu ili vektörün skaler çarpımları (dot product); aynı
elaman sayısının, farklı eleman sayısından farkına eşittir.
Yani;
a.b=A(a ,b)−H (a,b) (1)
21.12.2015 Sayfa: 2/4 Murat ÖZALP
Hamming ağlarında; A(a,b) değeri kullanılmaktadır.
Ağa önceden belirli sayıda örnek vektör verilmektedir.
Bu vektörleri c(1)
, c(2)
, … c(M)
şeklinde (c: class ~ sınıf) M
tane olacak şekilde ifade edebiliriz.
Giriş vektörü (örneğin x), c(j)
vektörleri ile karşılaştırılmakta ve en yakın olan vektör belirlenmektedir.
Skaler çarpım ifadesini (1) düzenleyerek yeniden
yazalım. Vektörlerden birisi x giriş vektörü olsun. Diğeri de
e örnek vektörü olsun:
x.c= A(x, c)−H (x ,c) (2)
(2) ifadesinde, her iki tarafı ikiye bölüp biraz
düzenleyelim:
1
2
x
T
.c=
n
2
−H (x, c) (3)
Bu ifadelerde;
• n: vektördeki sembol sayısı
• a: karşılaştırılan iki vektörde aynı olan sembol
sayısı
olmak üzere; H(x,c) = n­a olduğunu bir kez daha
hatırlayalım ve sonra benzerliği ifade etmek üzere ifadeyi
yeniden düzenleyelim:
a=
1
2
x
T
.c+
n
2
(4)
(4) ifadesi, YSA çıkışını belirtmektedir.
Genelleştirilmiş bir YSA çıkışının şu şekilde olduğunu
hatırlayalım:
yi=∑ xi.wi+θ (5)
Bu durumda, (4) ve (5) ifadeleri benzer duruma
gelmiştir. YSA modelini oluşturmak için, ağ şemasını
yeniden hatırlayalım:
Şekil 3. Hamming Ağı
Şekilde gösterilmiş olan netj ifadesi, şu şekildedir:
net j=x
T
.wj+bj j=1,2,..., M (6)
(4) ve (5) eşitliklerinden yararlanarak, (6) eşitliğindeki
ağırlık (w) ve eşik (b) değerlerini belirtelim:
wj=[wj1 wj2... wjn]
T
(7)
bj=
n
2
ve wj=
1
2
cj , j=1,2,..., M (8)
Ağırlıklar: W=
1
2
[
c11 c12 ⋯ c1N
c21 c2N
⋮ ⋮
cN 1 cN 2 ⋯ cNM
]NxM
olur.
wji=
1
2
cji , i=1,2,...,n ; j=1,2,. ..,M
21.12.2015 Sayfa: 3/4 Murat ÖZALP
Örnek:
a vektörü = [1, ­1, ­1, ­1]
b vektörü = [1,  1, ­1, ­1] olsun.
A(a,b) = 3 ve H(a,b)=1 olacaktır.
A(a,b) - H(a,b) = 3-1 = 2 olur.
a.b skaler çarpımı da
= (1*1) + (-1*1) + (-1*-1) + (-1*-1) = 1-1+1+1 = 2 olur.
8. Örnek Uygulama
8.1. Soru
3x3 piksel ile ifade edilen C, H ve L harflerini tanıyan
(sınıflandıran) bir Hamming ağı olsun. Harflerin şekli
aşağıda gösterilmiştir.
Şekil 4. Örnek soruda tanınan harfler
Bu harflerin vektör ile ifadesi şöyledir:
c1=(1  1  1;  1 ­1 ­1;  1  1  1)    C harfi
c2=(1 ­1  1;  1  1  1;  1 ­1  1)    H harfi
c3=(1 ­1 ­1;  1 ­1 ­1;  1  1  1)    L harfi
x=(1 1 1; 1 1 ­1; 1 1 1) girişinin, bu ağa göre
sınıfını bulmaya çalışalım.
8.2. Çözüm
Her bir harf 3x3 matris ile ifade edildiğinden, ağın
3x3=9 tane girişi olmalıdır.
Tasarlanacak olan ağ, 3 tane harfi tanıyacağı için üç
sınıf olmalıdır. Dolayısıyla 3 tane de çıkış olmalıdır. Buna
göre ağın şeması aşağıda gösterilmiştir:
Şekil 5. Örnek uygulamanın YSA şeması
Önce; ağırlık matrisini (w) ve eşik (b) değerini
hesaplayalım:
W=
1
2 [
1 1 1 1 −1 −1 1 1 1
1 −1 1 1 1 1 1 −1 1
1 −1 −1 1 −1 −1 1 1 1]
b1=b2=b3=
n
2
=
9
2
Buna göre net1 çıkışını hesaplayalım:
net1=b1+∑
i
xi w1i , i=1,2,...,9
net1=
9
2
+1(0,5)+1(0,5)+1(0,5)+1(0,5)+1(−0,5)
+(−1)(−0,5)+1(0,5)+1(0,5)+1(0,5)
net1=8
bulunur. net2 ve net3 çıkışları da benzer şekilde
hesaplandığında, aşağıdaki değerler elde edilir:
net1=8
net2=6
net3=6
Büyük olan değer, Hamming mesafesi açısından, x
giriş vektörüne en yakın olan değerdir. Burada Hamming
ağının görevi tamamlanmıştır.
Sorunun cevabı olarak; verilen x girişi sınıflandırılarak
net1 çıkışına tekabül ettiği görülmüştür. Bu çıkış, soruda
verilen C harfine ait olduğundan, girişte verilen veri ve
çıkışta gösterilen sınıf aşağıda verilmiştir:
--> Soruda verilen x vektörü
--> YSA kararı
Kaynaklar
Pattern Recognition and Image Preprocessing, Sing-
Tze Bow, 2002, Marcel Dekker Yayınevi
Fixed Weight Competitive Nets, K. Ming Leung, 2007,
Polytechnic University ders notları
Neural Networks Based on Competition, M.
Bennamoun, CS407 Neural Computation ders notları
21.12.2015 Sayfa: 4/4 Murat ÖZALP
Hamming, MaxNet, Mexican Hat
http://www.slideshare.net/balveenchugh/neural-networks-12102680/29

Mais conteúdo relacionado

Mais procurados (8)

Destek Vektör Makineleri - Support Vector Machine
Destek Vektör Makineleri - Support Vector MachineDestek Vektör Makineleri - Support Vector Machine
Destek Vektör Makineleri - Support Vector Machine
 
Matlab Seminer2005
Matlab Seminer2005Matlab Seminer2005
Matlab Seminer2005
 
Matlab grafik
Matlab grafikMatlab grafik
Matlab grafik
 
Divide & conquer
Divide & conquerDivide & conquer
Divide & conquer
 
Yzm 2116 - Bölüm 2 (Algoritma Analizi)
Yzm 2116  - Bölüm 2 (Algoritma Analizi)Yzm 2116  - Bölüm 2 (Algoritma Analizi)
Yzm 2116 - Bölüm 2 (Algoritma Analizi)
 
Destek vektör makineleri
Destek vektör makineleriDestek vektör makineleri
Destek vektör makineleri
 
Görüntü i̇şlemede makine öğrenme teknikleri
Görüntü i̇şlemede makine öğrenme teknikleriGörüntü i̇şlemede makine öğrenme teknikleri
Görüntü i̇şlemede makine öğrenme teknikleri
 
Matlab Neural Network Toolbox
Matlab Neural Network ToolboxMatlab Neural Network Toolbox
Matlab Neural Network Toolbox
 

Destaque (10)

Yapay sinir agları
Yapay sinir aglarıYapay sinir agları
Yapay sinir agları
 
Yapay Sinir Ağları
Yapay Sinir AğlarıYapay Sinir Ağları
Yapay Sinir Ağları
 
Yapay Sinir Ağları
Yapay Sinir AğlarıYapay Sinir Ağları
Yapay Sinir Ağları
 
Yapay Sinir Aglari
Yapay Sinir AglariYapay Sinir Aglari
Yapay Sinir Aglari
 
Bitirme Projesi Sunumu
Bitirme Projesi SunumuBitirme Projesi Sunumu
Bitirme Projesi Sunumu
 
Yapay Sinir Ağları ile İnsulin Tahminleme ve Mobil Diyabet
Yapay Sinir Ağları ile İnsulin Tahminleme ve Mobil DiyabetYapay Sinir Ağları ile İnsulin Tahminleme ve Mobil Diyabet
Yapay Sinir Ağları ile İnsulin Tahminleme ve Mobil Diyabet
 
Ysa Uygulamasi
Ysa UygulamasiYsa Uygulamasi
Ysa Uygulamasi
 
Ysa dönem ödevi̇
Ysa dönem ödevi̇Ysa dönem ödevi̇
Ysa dönem ödevi̇
 
Perceptron (neural network)
Perceptron (neural network)Perceptron (neural network)
Perceptron (neural network)
 
Perceptron
PerceptronPerceptron
Perceptron
 

Hamming Yapay Sinir Ağı (Konu anlatımı)

  • 1. Hamming Yapay Sinir Ağı ve Öğrenmesi Murat ÖZALP Bilecik Şeyh Edebali Üniversitesi murat.ozalp@bilecik.edu.tr Abstract This study was conducted as ANN homework. Hamming network was researched and presented. Özet Bu çalışma, YSA ev ödevi olarak yapılmıştır. Ödev kapsamında, Hamming ağının araştırılması ve sunumu yapılmıştır. 1. Giriş Ağın temel kullanım amaçları; desen eşleştirme (pattern matching) ve sınıflandırma (classification) gibi uygulamalardır. Aşağıda ağın temsili şeması verilmiştir. Şekil 1. Hamming Ağı'nın şeması Hamming ağı tek katmanlı bir ağdır. Girişler ve çıkışlar arasında tam bağlantı bulunmaktadır. Bağlantı ağırlıkları eğitim sırasında belirlenmekte ve iteratif olarak değişmemektedir. Bu özelliklerinden dolayı; sabit ağırlıklı ve tek katmanlı bir ağ olarak tanımlanmaktadır. Ağ ağırlıkları hesaplanırken, Hamming mesafesi kullanılmaktadır. Ağın ismi buradan gelmektedir. 2. Tarihçe Richard Hamming, 1915-1998 yılları arasında yaşamış bilim adamıdır. 1940'lı yıllarda delikli kart kullanan bilgisayarlarla çalışırken, hata bulma/düzeltme algoritmaları üzerine uzun süre çalışmıştır. Hata bulma süresini kısaltmak üzere yaptığı çalışmalar sırasında, sayısal olmayan ifadeler arasındaki benzerliği ifade edebilmek için bir tanım yapmış vr buna Hamming mesafesi ismini vermiştir. Hamming mesafesini kullanan yapay sinir ağları ilk kez 1987 yılında Lippmann tarafından “An Introduction to Computing with Neural Nets” isimli çalışmada ifade edilmiştir. 3. Hamming Mesafesi İki vektörün birbirine uzaklığını bulmak için kullanılan yöntemlerden birisi Hamming mesafesidir. Öklid mesafesi ve benzerleri sayısal verilerle işlem yaparken, Hamming mesafesi sayısal olmayan ifadelerle işlem yapmaktadır. Hamming mesafesi; özetle, iki vektör (ifade, katar) arasında kaç tane sembolün farklı olduğuna bağlı olarak benzerlik ifade eder. Vektörlerin arasındaki farklı sembol sayısı, iki vektör arasındaki uzaklığı ifade eder. Aşağıda bununla ilgili birkaç örnek verilmiştir: 1. Vektör 2. Vektör Mesafe 11110000 1011000 2 abc123 abc120 1 Antalya Antakya 1 Hamming mesafesinin ağ içerisinde kullanılma amacı, girişten verilen vektörlerin, önceden öğretilmiş olan örneklere (sınıflar ~ classes) ne kadar benzediğini bulmaktır. Mesafenin (uzaklığın) tersi yakınlık (benzerlik) olarak kullanılmaktadır. Örneğin; 8 sembollü iki ifade arasındaki mesafe 2 ise, bu iki ifadenin benzerlik değeri 6 olarak hesaplanmaktadır. Hamming ağlarında, giriş vekörü ile benzerlik değeri en fazla olan sınıf, çıkışta elde edilmektedir. 21.12.2015 Sayfa: 1/4 Murat ÖZALP
  • 2. 4. Ağın Temel Özellikleri YSA algoritmaları sınıflandırmasında, “danışmansız ağlar (unsupervised networks)” kategorisinde yer almaktadır. Bazı kaynaklarda “danışmanlı ağlar” kategorisine de dahil edildiği olmuştur. Bunun sebebi ağın “sınıf” olarak kullanacağı örnek vektörlerin ağa önceden veriliyor olmasıdır. Sınıflandırma sırasında “giriş vektörüne en çok benzeyen sınıf” arandığından, “yarışmacı ağlar (competitive networks)” kategorisinde yer almaktadır. Ağırlıkları baştan belirlendiği ve daha sonra değişmediği için; “sabit ağırlıklı (fixed weights)” ağlardandır. Ağın ana karakterini ifade eden bu özellikleri şu şekilde özetleyebiliriz: • danışmansızdır • yarışmacıdır • tek katmanlıdır • yarışmacıdır “En yakın komşu (nearest neighboor)” tarzında kümeleme veya sınıflandırma ağlarına da benzerlik göstermektedir. kNN türü uygulamalarda, girişin her bir elemanı, önceki elemanlardan en yakın k tanesinin yoğunlukla dahil olduğu kümeye dahil olmaya çalışır. Bu tarz uygulamalar genellikle sayısal veriler ile çalışmaktadır. Ancak Hamming ağının bunlardan en önemli farkı, sayısal olmayan veriler arasında yakınlık ifade edebilmesidir. Hamming ağı ile benzer durumlarda kullanılan diğer ağlar; MaxNET ve Meksika Şapkası'dır. MaxNET ağları; klasik bir “kazanan hepsini alır (winner takes all)” uygulamasıdır. Karşılaştırılan değerlerden en büyük olanın çıkışı aktif, diğer tüm çıkışlar pasif durumda olur. Bu durum çıkış katsayılarının 1 ve 0 şeklinde düzenlenmesi ile uygulanır. Hamming ağlarının çıkışına ilave olarak genellikle bir MaxNET ağı eklenir. Bunun sebebi; Hamming ağının çıkışındaki benzerlik skaler değerlerinin en büyük olanının seçilmesidir. Hamming ağının önemli bir özelliği de ikili girişlerle (bipolar vectors) çalışmasıdır. Bu nedenle girişler ikili ifadelerle verilmektedir. 5. Örnek Rakam Tanıma Sistemi Rakam tanıma sisteminde, 0-9 arası rakamları ifade eden 10 tane sınıf bulunmaktadır. Girişten verilen her bir eleman, bu 10 sınıftan birisine dahil edilmelidir. Bunların haricinde bir seçenek olamaz. Dolayısıyla, en çok hangi rakama benzerse, o sınıfa dahil edilmesi düşünülebilir. İşte bu benzerlik Hamming mesafesi ile ölçülmektedir. Aşağıda bu örnek için şema gösterilmiştir: Şekil 2. Rakam tanıma sistemi ağ şeması Rakam tanıma sisteminde, girişten uygulanacak olan her bir rakam 5x3 şeklinde matrislerle sayısallaştırılarak verilmektedir. Her bir veri için; matrisin her bir hücresinin dolu/boş olması durumu -1/+1 şeklinde sayısallaştırılmaktadır. 15 hücrenin sisteme giriş olarak verilebilmesi için, 15 tane giriş gerekmektedir. Girişler Xi=[...]5x3 şeklinde sisteme verilmelidir. Sistem çıkışında sınıflandırma yapılacaktır. Yani her bir giriş verisi için, 0-9 rakamlarının hangisine tekabül ettiğini sistem belirtebilmelidir. Bunu; üretim bandında ürünlerin “sağlam” veya “arızalı” şeklinde iki ayrı sepete ayrılması şeklinde düşünebiliriz. Rakam tanıma örneğinde de benzer şekilde 10 ayrı sepet (sınıf) bulunmaktadır. Bu 10 ayrı sınıfı ifade edebilmek için, 10 tane ayrı çıkış olması gerektiği açıktır. Çıkışlar, Yi=[.....]10x1 şeklinde ifade edilmektedir. 6. Bağlantı Ağırlıkları ve Eşikler Ağırlıklar ve eşik (bias) değerleri, sisteme tanıtılacak olan örneklere (sınıflar) göre belirlenmektedir. Örneğin; rakam tanıma örneği için, 10 tane 5x3 matris verisi sisteme verilerek ağırlık ve eşiklerin oluşturulması sağlanmaktadır. Bu aşamadan sonra bir daha ağırlık ve eşik değerleri değiştirilmemektedir. 7. Ağın Oluşturulması Sistemin tanıyacağı verilere göre örnek verilerin (sınıflar) sisteme önceden yüklenmesi gerekmektedir. Ağın oluşturulması bu şekilde sağlanmaktadır. Hamming ağının temelinde Hamming mesafesinin bulunduğun daha önce belirtilmişti. Aşağıda bunun matematiksel ifadeleri verilmiştir. a ve b, iki farklı vektör olsun. Bu vektörler için; Birbirleri ile aynı olan eleman sayısı: A(a,b) şeklinde (A: Agree) gösterilir. Farklı olan elemanların sayısı ise H(a,b) şeklinde (H: Hamming) gösterilir. Bu ili vektörün skaler çarpımları (dot product); aynı elaman sayısının, farklı eleman sayısından farkına eşittir. Yani; a.b=A(a ,b)−H (a,b) (1) 21.12.2015 Sayfa: 2/4 Murat ÖZALP
  • 3. Hamming ağlarında; A(a,b) değeri kullanılmaktadır. Ağa önceden belirli sayıda örnek vektör verilmektedir. Bu vektörleri c(1) , c(2) , … c(M) şeklinde (c: class ~ sınıf) M tane olacak şekilde ifade edebiliriz. Giriş vektörü (örneğin x), c(j) vektörleri ile karşılaştırılmakta ve en yakın olan vektör belirlenmektedir. Skaler çarpım ifadesini (1) düzenleyerek yeniden yazalım. Vektörlerden birisi x giriş vektörü olsun. Diğeri de e örnek vektörü olsun: x.c= A(x, c)−H (x ,c) (2) (2) ifadesinde, her iki tarafı ikiye bölüp biraz düzenleyelim: 1 2 x T .c= n 2 −H (x, c) (3) Bu ifadelerde; • n: vektördeki sembol sayısı • a: karşılaştırılan iki vektörde aynı olan sembol sayısı olmak üzere; H(x,c) = n­a olduğunu bir kez daha hatırlayalım ve sonra benzerliği ifade etmek üzere ifadeyi yeniden düzenleyelim: a= 1 2 x T .c+ n 2 (4) (4) ifadesi, YSA çıkışını belirtmektedir. Genelleştirilmiş bir YSA çıkışının şu şekilde olduğunu hatırlayalım: yi=∑ xi.wi+θ (5) Bu durumda, (4) ve (5) ifadeleri benzer duruma gelmiştir. YSA modelini oluşturmak için, ağ şemasını yeniden hatırlayalım: Şekil 3. Hamming Ağı Şekilde gösterilmiş olan netj ifadesi, şu şekildedir: net j=x T .wj+bj j=1,2,..., M (6) (4) ve (5) eşitliklerinden yararlanarak, (6) eşitliğindeki ağırlık (w) ve eşik (b) değerlerini belirtelim: wj=[wj1 wj2... wjn] T (7) bj= n 2 ve wj= 1 2 cj , j=1,2,..., M (8) Ağırlıklar: W= 1 2 [ c11 c12 ⋯ c1N c21 c2N ⋮ ⋮ cN 1 cN 2 ⋯ cNM ]NxM olur. wji= 1 2 cji , i=1,2,...,n ; j=1,2,. ..,M 21.12.2015 Sayfa: 3/4 Murat ÖZALP Örnek: a vektörü = [1, ­1, ­1, ­1] b vektörü = [1,  1, ­1, ­1] olsun. A(a,b) = 3 ve H(a,b)=1 olacaktır. A(a,b) - H(a,b) = 3-1 = 2 olur. a.b skaler çarpımı da = (1*1) + (-1*1) + (-1*-1) + (-1*-1) = 1-1+1+1 = 2 olur.
  • 4. 8. Örnek Uygulama 8.1. Soru 3x3 piksel ile ifade edilen C, H ve L harflerini tanıyan (sınıflandıran) bir Hamming ağı olsun. Harflerin şekli aşağıda gösterilmiştir. Şekil 4. Örnek soruda tanınan harfler Bu harflerin vektör ile ifadesi şöyledir: c1=(1  1  1;  1 ­1 ­1;  1  1  1)    C harfi c2=(1 ­1  1;  1  1  1;  1 ­1  1)    H harfi c3=(1 ­1 ­1;  1 ­1 ­1;  1  1  1)    L harfi x=(1 1 1; 1 1 ­1; 1 1 1) girişinin, bu ağa göre sınıfını bulmaya çalışalım. 8.2. Çözüm Her bir harf 3x3 matris ile ifade edildiğinden, ağın 3x3=9 tane girişi olmalıdır. Tasarlanacak olan ağ, 3 tane harfi tanıyacağı için üç sınıf olmalıdır. Dolayısıyla 3 tane de çıkış olmalıdır. Buna göre ağın şeması aşağıda gösterilmiştir: Şekil 5. Örnek uygulamanın YSA şeması Önce; ağırlık matrisini (w) ve eşik (b) değerini hesaplayalım: W= 1 2 [ 1 1 1 1 −1 −1 1 1 1 1 −1 1 1 1 1 1 −1 1 1 −1 −1 1 −1 −1 1 1 1] b1=b2=b3= n 2 = 9 2 Buna göre net1 çıkışını hesaplayalım: net1=b1+∑ i xi w1i , i=1,2,...,9 net1= 9 2 +1(0,5)+1(0,5)+1(0,5)+1(0,5)+1(−0,5) +(−1)(−0,5)+1(0,5)+1(0,5)+1(0,5) net1=8 bulunur. net2 ve net3 çıkışları da benzer şekilde hesaplandığında, aşağıdaki değerler elde edilir: net1=8 net2=6 net3=6 Büyük olan değer, Hamming mesafesi açısından, x giriş vektörüne en yakın olan değerdir. Burada Hamming ağının görevi tamamlanmıştır. Sorunun cevabı olarak; verilen x girişi sınıflandırılarak net1 çıkışına tekabül ettiği görülmüştür. Bu çıkış, soruda verilen C harfine ait olduğundan, girişte verilen veri ve çıkışta gösterilen sınıf aşağıda verilmiştir: --> Soruda verilen x vektörü --> YSA kararı Kaynaklar Pattern Recognition and Image Preprocessing, Sing- Tze Bow, 2002, Marcel Dekker Yayınevi Fixed Weight Competitive Nets, K. Ming Leung, 2007, Polytechnic University ders notları Neural Networks Based on Competition, M. Bennamoun, CS407 Neural Computation ders notları 21.12.2015 Sayfa: 4/4 Murat ÖZALP
  • 5. Hamming, MaxNet, Mexican Hat http://www.slideshare.net/balveenchugh/neural-networks-12102680/29