SlideShare a Scribd company logo
1 of 17
Hamming Ağı ve Öğrenmesi
Murat Özalp
Bilecik Şeyh Edebali Üniversitesi
Yapay Sinir Ağları (doktora) ders ödevi
2015, Bilecik
1915 - 1998
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
21.12.2015 Murat Özalp 2/17
İçindekiler
● Giriş
● Hamming Mesafesi
● Hamming Ağı
● Örnek Hamming Ağı
● Hamming Ağı'nın Karakteristik Özelikleri
● Yapay Sinir Ağları Sınıflandırması
● Matematiksel İlişkiler
● Ağırlıkların Hesaplanması
● Örnek Uygulama
21.12.2015 Murat Özalp 3/17
Giriş
● Richard Hamming, 1915-1998 yılları arasında yaşadı.
● 1940'lı yıllarda delikli kartlarla çalışırken, veri iletişiminde
hata düzeltme üzerine çalışmaya başladı.
● Hata düzeltme üzerine çalışırken; iki vektörün (dize'nin,
metnin) birbirine benzerliğini ifade etmek için, 1950 yılında
Hamming Mesafesi kavramını ortaya koydu.
● Literatürde kaba bir araştırma sonucunda; yapay sinir
ağları konusunda “Hamming mesafesi” ifadesinin
bulabildiğim en eski kullanımı, Hopfield tarafından 1982
yılında yayınlanan “Neural networks and physical systems
with emergent collective computational abilities” isimli
makale oldu. (referans)
● Hamming ağları tanımı ise ilk kez 1987'de Lippmann
tarafından, “An Introduction to Computing with Neural
Nets” isimli çalışmada ifade edilmiştir. (referans)
21.12.2015 Murat Özalp 4/17
Hamming Mesafesi
● İki vektörün birbirine uzaklığını bulmak için kullanılan
bir çok yöntemden birisi Hamming mesafesidir. En
yaygın yöntemlerden birisi olan Öklid mesafesi ve
benzerleri, sayısal verilerle işlem yaparlar.
● Hamming mesafesi ise iki ifade arasında kaç tane
farklı sembol olduğuna bakarak mesafe ölçümü yapar.
Örnekler:
11110000 10110001 Mesafe: 2
abc123 abc120 Mesafe: 1
Antakya Antalya Mesafe: 1
21.12.2015 Murat Özalp 5/17
Hamming Ağı
Desen eşleştirme (pattern matching) ve sınıflandırma
(classification) gibi amaçlarla kullanılmaktadır. Ağın
girişinde vektör biçiminde verilen bir desenin, eldeki bilinen
desenlerden en çok hangisine benzediğini söyleyebilir.
x1 x2 x3
x4
B
y1
y2
B
21.12.2015 Murat Özalp 6/17
Örnek Hamming Ağı
x1 x2 x3
x4
B
y1
y2
B
Çıkışlar, 0-9 arası rakamları temsil eder
0-9 arası rakamları tanıyan
ağın temsili gösterimi
10 tane çıkış
olmalıdır.
5x3=15 tane
giriş olmalıdır.
21.12.2015 Murat Özalp 7/17
Hamming Ağı'nın Karakteristik Özelikleri
● Sabit ağırlıklı yarışmacı ağlardandır (fixed weight competitive nets). Bu kategorideki
diğer ağ türleri ise MaxNet ve Meksika Şapkası'dır.
● Bir giriş vektörü verildiğinde; önceden ağa verilmiş olan örnek (exemplar ~ prototip,
sınıf, class) vektörler ile karşılaştırılarak, girişin hangi örneğe en yakın olduğuna
bakılır. Bu şekilde sınıflandırma yapılmaktadır.
● Vektörlerde; genellikle {-1,1} şeklinde iki sembollü alfabe kullanılır.
● “En yakın komşu sınıflandırması”nın Hamming mesafesi kullanılan özel bir türüdür.
● Hamming ağı, tek katmandan oluşur. Bu tek katmanın görevi; giriş vektörlerinin,
örnek vektörlerden hangisine daha çok benzediğine karar vermektir. Hamming ağına
genellikle, en yüksek girişi bulan bir MaxNet ağı ilave edilir.
● Hamming ağının yaptığı iş; “desen eşleştirme” (pattern matching, inner product)
şeklinde de ifade edilmektedir.
Eğiticisiz Yarışmacı Ağlar
● MaxNet
● Hamming Net
● Mexican Hat Net
● Self-Organizing Map (SOM)
● Adaptive Resonance Theory (ART)
Eğiticili Yarışmacı Ağlar
● Learning Vector Quantization (LVQ)
● Counterpropagation
21.12.2015 Murat Özalp 8/17
Yapay Sinir Ağları Sınıflandırması
Hamming, MaxNet, Mexican Hat
21.12.2015 Murat Özalp 9/17
Matematiksel İlişkiler
● 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)
Ö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.
21.12.2015 Murat Özalp 10/17
Matematiksel İlişkiler
● 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.
Matris ilişkileri:
x vektörü [……….]1xN
biçimindedir.
c(j)
vektörleri de = [……….]1xN
biçimindedir.
Bu durumda; c(j)
vektörleri, Hamming ağının ağırlık matrisini oluşturmak
için, sütun vektörü haline getirilip, NxM boyutunda bir matris elde edilir.
Örnek vektörler:
[
e11 e12 ⋯ e1 N
e21 e2 N
⋮ ⋮
eN 1 eN 2 ⋯ eNM
]NxM
c(1)
c(2)
c(M)
21.12.2015 Murat Özalp 11/17
Matematiksel İlişkiler
a.b=A(a,b)−H (a ,b)
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:
Skaler çarpım ifadesini biraz düzenleyelim. Vektörlerden birisi x giriş vektörü olsun.
Diğeri de e örnek vektörü olsun.
veya
Üstteki ifadede her iki tarafı ikiye bölüp biraz düzenleyelim:
x.c=A(x ,c)−H (x,c)
1
2
x
T
.c=
n
2
−H (x ,c)
a=
1
2
xT
.c+
n
2
21.12.2015 Murat Özalp 12/17
Ağırlıkların Hesaplanması
Önceki eşitliklerden yararlanarak,
yukarıdaki formüldeki ağırlık (w) ve
eşik (b) değerlerini belirtelim:
B
net j=xT
.wj+bj j=1,2,..., M
wj=[wj1 wj 2... w jn]
T
bj=
n
2
ve wj=
1
2
cj , j=1,2,..., M
W=
1
2
[
c11 c12 ⋯ c1 N
c21 c2 N
⋮ ⋮
cN 1 cN 2 ⋯ cNM
]NxM
wji=
1
2
c ji , i=1,2,...,n ; j=1,2,..., M
Ağırlık Matrisi
x=
[
x1
x2
⋮
xn
]nx1
21.12.2015 Murat Özalp 13/17
Örnek Uygulama
(2002, Bow, Pattern Recognition and Image Preprocessing, Sayfa: 240)
3x3 piksel ile ifade edilen C, H ve L harflerini tanıyan
(sınıflandıran) bir Hamming ağı olsun. Harflerin şekli
yanda gösterilmiştir.
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.
Ağın 9 tane girişi (n=9) ve 3 tane çıkışı (3 sınıf için: net1
, net2
, net3
) olacaktır.
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] ve b1=b2=b3=
n
2
=
9
2
net1=b1+∑
i
xi w1i , i=1,2,...,9
=
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)
=8
21.12.2015 Murat Özalp 14/17
Örnek Uygulama
(2002, Bow, Pattern Recognition and Image Preprocessing, Sayfa: 240)
3x3 piksel ile ifade edilen C, H ve L harflerini tanıyan
(sınıflandıran) bir Hamming ağı olsun. Harflerin şekli
yanda gösterilmiştir.
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.
Ağın 9 tane girişi (n=9) ve 3 tane çıkışı (3 sınıf için: net1
, net2
, net3
) olacaktır.
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] ve b1=b2=b3=
n
2
=
9
2
net1=b1+∑
i
xi w1i , i=1,2,...,9
=
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)
=6
21.12.2015 Murat Özalp 15/17
Örnek Uygulama
(2002, Bow, Pattern Recognition and Image Preprocessing, Sayfa: 240)
3x3 piksel ile ifade edilen C, H ve L harflerini tanıyan
(sınıflandıran) bir Hamming ağı olsun. Harflerin şekli
yanda gösterilmiştir.
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.
Ağın 9 tane girişi (n=9) ve 3 tane çıkışı (3 sınıf için: net1
, net2
, net3
) olacaktır.
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] ve b1=b2=b3=
n
2
=
9
2
net1=b1+∑
i
xi w1i , i=1,2,...,9
=
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)
=6
21.12.2015 Murat Özalp 16/17
Örnek Uygulama
(2002, Bow, Pattern Recognition and Image Preprocessing, Sayfa: 240)
3x3 piksel ile ifade edilen C, H ve L harflerini tanıyan
(sınıflandıran) bir Hamming ağı olsun. Harflerin şekli
yanda gösterilmiştir.
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
x1
=(1 1 1; 1 ­1 ­1; 1 1 1) girişinin, bu ağa göre sınıfını bulmaya çalışalım.
Ağın 9 tane girişi (n=9) ve 3 tane çıkışı (3 sınıf için: net1
, net2
, net3
) olacaktır.
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] ve b1=b2=b3=
n
2
=
9
2
net1=b1+∑
i
xi w1i , i=1,2,...,9
=
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)
=6
Ağın çıkışları aşağıdaki gibi bulunmuştur.
● 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.
21.12.2015 Murat Özalp 17/17
Kaynaklar
1) Pattern Recognition and Image Preprocessing,Sing-Tze Bow,
2002, Marcel Dekker Yayınevi
2) Fixed Weight Competitive Nets, K. Ming Leung,
2007, Polytechnic University ders notları
3) Neural Networks Based on Competition, M. Bennamoun,
CS407 Neural Computation ders notları

Hamming Yapay Sinir Ağı (Sunu)

  • 1. Hamming Ağı ve Öğrenmesi Murat Özalp Bilecik Şeyh Edebali Üniversitesi Yapay Sinir Ağları (doktora) ders ödevi 2015, Bilecik 1915 - 1998 This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
  • 2. 21.12.2015 Murat Özalp 2/17 İçindekiler ● Giriş ● Hamming Mesafesi ● Hamming Ağı ● Örnek Hamming Ağı ● Hamming Ağı'nın Karakteristik Özelikleri ● Yapay Sinir Ağları Sınıflandırması ● Matematiksel İlişkiler ● Ağırlıkların Hesaplanması ● Örnek Uygulama
  • 3. 21.12.2015 Murat Özalp 3/17 Giriş ● Richard Hamming, 1915-1998 yılları arasında yaşadı. ● 1940'lı yıllarda delikli kartlarla çalışırken, veri iletişiminde hata düzeltme üzerine çalışmaya başladı. ● Hata düzeltme üzerine çalışırken; iki vektörün (dize'nin, metnin) birbirine benzerliğini ifade etmek için, 1950 yılında Hamming Mesafesi kavramını ortaya koydu. ● Literatürde kaba bir araştırma sonucunda; yapay sinir ağları konusunda “Hamming mesafesi” ifadesinin bulabildiğim en eski kullanımı, Hopfield tarafından 1982 yılında yayınlanan “Neural networks and physical systems with emergent collective computational abilities” isimli makale oldu. (referans) ● Hamming ağları tanımı ise ilk kez 1987'de Lippmann tarafından, “An Introduction to Computing with Neural Nets” isimli çalışmada ifade edilmiştir. (referans)
  • 4. 21.12.2015 Murat Özalp 4/17 Hamming Mesafesi ● İki vektörün birbirine uzaklığını bulmak için kullanılan bir çok yöntemden birisi Hamming mesafesidir. En yaygın yöntemlerden birisi olan Öklid mesafesi ve benzerleri, sayısal verilerle işlem yaparlar. ● Hamming mesafesi ise iki ifade arasında kaç tane farklı sembol olduğuna bakarak mesafe ölçümü yapar. Örnekler: 11110000 10110001 Mesafe: 2 abc123 abc120 Mesafe: 1 Antakya Antalya Mesafe: 1
  • 5. 21.12.2015 Murat Özalp 5/17 Hamming Ağı Desen eşleştirme (pattern matching) ve sınıflandırma (classification) gibi amaçlarla kullanılmaktadır. Ağın girişinde vektör biçiminde verilen bir desenin, eldeki bilinen desenlerden en çok hangisine benzediğini söyleyebilir. x1 x2 x3 x4 B y1 y2 B
  • 6. 21.12.2015 Murat Özalp 6/17 Örnek Hamming Ağı x1 x2 x3 x4 B y1 y2 B Çıkışlar, 0-9 arası rakamları temsil eder 0-9 arası rakamları tanıyan ağın temsili gösterimi 10 tane çıkış olmalıdır. 5x3=15 tane giriş olmalıdır.
  • 7. 21.12.2015 Murat Özalp 7/17 Hamming Ağı'nın Karakteristik Özelikleri ● Sabit ağırlıklı yarışmacı ağlardandır (fixed weight competitive nets). Bu kategorideki diğer ağ türleri ise MaxNet ve Meksika Şapkası'dır. ● Bir giriş vektörü verildiğinde; önceden ağa verilmiş olan örnek (exemplar ~ prototip, sınıf, class) vektörler ile karşılaştırılarak, girişin hangi örneğe en yakın olduğuna bakılır. Bu şekilde sınıflandırma yapılmaktadır. ● Vektörlerde; genellikle {-1,1} şeklinde iki sembollü alfabe kullanılır. ● “En yakın komşu sınıflandırması”nın Hamming mesafesi kullanılan özel bir türüdür. ● Hamming ağı, tek katmandan oluşur. Bu tek katmanın görevi; giriş vektörlerinin, örnek vektörlerden hangisine daha çok benzediğine karar vermektir. Hamming ağına genellikle, en yüksek girişi bulan bir MaxNet ağı ilave edilir. ● Hamming ağının yaptığı iş; “desen eşleştirme” (pattern matching, inner product) şeklinde de ifade edilmektedir. Eğiticisiz Yarışmacı Ağlar ● MaxNet ● Hamming Net ● Mexican Hat Net ● Self-Organizing Map (SOM) ● Adaptive Resonance Theory (ART) Eğiticili Yarışmacı Ağlar ● Learning Vector Quantization (LVQ) ● Counterpropagation
  • 8. 21.12.2015 Murat Özalp 8/17 Yapay Sinir Ağları Sınıflandırması Hamming, MaxNet, Mexican Hat
  • 9. 21.12.2015 Murat Özalp 9/17 Matematiksel İlişkiler ● 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) Ö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.
  • 10. 21.12.2015 Murat Özalp 10/17 Matematiksel İlişkiler ● 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. Matris ilişkileri: x vektörü [……….]1xN biçimindedir. c(j) vektörleri de = [……….]1xN biçimindedir. Bu durumda; c(j) vektörleri, Hamming ağının ağırlık matrisini oluşturmak için, sütun vektörü haline getirilip, NxM boyutunda bir matris elde edilir. Örnek vektörler: [ e11 e12 ⋯ e1 N e21 e2 N ⋮ ⋮ eN 1 eN 2 ⋯ eNM ]NxM c(1) c(2) c(M)
  • 11. 21.12.2015 Murat Özalp 11/17 Matematiksel İlişkiler a.b=A(a,b)−H (a ,b) 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: Skaler çarpım ifadesini biraz düzenleyelim. Vektörlerden birisi x giriş vektörü olsun. Diğeri de e örnek vektörü olsun. veya Üstteki ifadede her iki tarafı ikiye bölüp biraz düzenleyelim: x.c=A(x ,c)−H (x,c) 1 2 x T .c= n 2 −H (x ,c) a= 1 2 xT .c+ n 2
  • 12. 21.12.2015 Murat Özalp 12/17 Ağırlıkların Hesaplanması Önceki eşitliklerden yararlanarak, yukarıdaki formüldeki ağırlık (w) ve eşik (b) değerlerini belirtelim: B net j=xT .wj+bj j=1,2,..., M wj=[wj1 wj 2... w jn] T bj= n 2 ve wj= 1 2 cj , j=1,2,..., M W= 1 2 [ c11 c12 ⋯ c1 N c21 c2 N ⋮ ⋮ cN 1 cN 2 ⋯ cNM ]NxM wji= 1 2 c ji , i=1,2,...,n ; j=1,2,..., M Ağırlık Matrisi x= [ x1 x2 ⋮ xn ]nx1
  • 13. 21.12.2015 Murat Özalp 13/17 Örnek Uygulama (2002, Bow, Pattern Recognition and Image Preprocessing, Sayfa: 240) 3x3 piksel ile ifade edilen C, H ve L harflerini tanıyan (sınıflandıran) bir Hamming ağı olsun. Harflerin şekli yanda gösterilmiştir. 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. Ağın 9 tane girişi (n=9) ve 3 tane çıkışı (3 sınıf için: net1 , net2 , net3 ) olacaktır. 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] ve b1=b2=b3= n 2 = 9 2 net1=b1+∑ i xi w1i , i=1,2,...,9 = 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) =8
  • 14. 21.12.2015 Murat Özalp 14/17 Örnek Uygulama (2002, Bow, Pattern Recognition and Image Preprocessing, Sayfa: 240) 3x3 piksel ile ifade edilen C, H ve L harflerini tanıyan (sınıflandıran) bir Hamming ağı olsun. Harflerin şekli yanda gösterilmiştir. 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. Ağın 9 tane girişi (n=9) ve 3 tane çıkışı (3 sınıf için: net1 , net2 , net3 ) olacaktır. 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] ve b1=b2=b3= n 2 = 9 2 net1=b1+∑ i xi w1i , i=1,2,...,9 = 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) =6
  • 15. 21.12.2015 Murat Özalp 15/17 Örnek Uygulama (2002, Bow, Pattern Recognition and Image Preprocessing, Sayfa: 240) 3x3 piksel ile ifade edilen C, H ve L harflerini tanıyan (sınıflandıran) bir Hamming ağı olsun. Harflerin şekli yanda gösterilmiştir. 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. Ağın 9 tane girişi (n=9) ve 3 tane çıkışı (3 sınıf için: net1 , net2 , net3 ) olacaktır. 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] ve b1=b2=b3= n 2 = 9 2 net1=b1+∑ i xi w1i , i=1,2,...,9 = 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) =6
  • 16. 21.12.2015 Murat Özalp 16/17 Örnek Uygulama (2002, Bow, Pattern Recognition and Image Preprocessing, Sayfa: 240) 3x3 piksel ile ifade edilen C, H ve L harflerini tanıyan (sınıflandıran) bir Hamming ağı olsun. Harflerin şekli yanda gösterilmiştir. 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 x1 =(1 1 1; 1 ­1 ­1; 1 1 1) girişinin, bu ağa göre sınıfını bulmaya çalışalım. Ağın 9 tane girişi (n=9) ve 3 tane çıkışı (3 sınıf için: net1 , net2 , net3 ) olacaktır. 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] ve b1=b2=b3= n 2 = 9 2 net1=b1+∑ i xi w1i , i=1,2,...,9 = 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) =6 Ağın çıkışları aşağıdaki gibi bulunmuştur. ● 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.
  • 17. 21.12.2015 Murat Özalp 17/17 Kaynaklar 1) Pattern Recognition and Image Preprocessing,Sing-Tze Bow, 2002, Marcel Dekker Yayınevi 2) Fixed Weight Competitive Nets, K. Ming Leung, 2007, Polytechnic University ders notları 3) Neural Networks Based on Competition, M. Bennamoun, CS407 Neural Computation ders notları