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.

Hamming Yapay Sinir Ağı

Embed Size (px)

DESCRIPTION

Sabit ağırlıklı ve yarışmacı bir sinir ağı(Doktora ders ödevi)

Citation preview

Page 1: Hamming Yapay Sinir Ağı

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.

Page 2: Hamming Yapay Sinir Ağı

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

Page 3: Hamming Yapay Sinir Ağı

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)

Page 4: Hamming Yapay Sinir Ağı

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

Page 5: Hamming Yapay Sinir Ağı

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 x3x4

B

y1y2

B

Page 6: Hamming Yapay Sinir Ağı

21.12.2015 Murat Özalp 6/17

Örnek Hamming Ağı

x1 x2 x3x4

B

y1y2

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 tanegiriş olmalıdır.

Page 7: Hamming Yapay Sinir Ağı

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

Page 8: Hamming Yapay Sinir Ağı

21.12.2015 Murat Özalp 8/17

Yapay Sinir Ağları Sınıflandırması

Hamming, MaxNet, Mexican Hat

Page 9: Hamming Yapay Sinir Ağı

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 (A: 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.

Page 10: Hamming Yapay Sinir Ağı

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: [c11 c12 ⋯ c1 N

c21 c2 N

⋮ ⋮cN 1 cN 2 ⋯ cNM

]NxM

c(1) c(2) c(M)

Page 11: Hamming Yapay Sinir Ağı

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­aolduğ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)

12

xT .c=n2−H (x , c)

a=12

xT .c+n2

Page 12: Hamming Yapay Sinir Ağı

21.12.2015 Murat Özalp 12/17

Ağırlıkların Hesaplanması

Önceki eşitliklerden yararlanarak, yukarıdaki formüldeki ağırlık (w) veeşik (b) değerlerini belirtelim:

B

net j=xT .w j+b j j=1,2,. .. ,M

w j=[w j1 w j 2 ...w jn]T

b j=n2

ve w j=12

c j , j=1,2,. .. , M

W=12 [

c11 c12 ⋯ c1 N

c21 c2 N

⋮ ⋮cN 1 cN 2 ⋯ cNM

]NxM

w ji=12c ji , i=1,2,. .. ,n ; j=1,2,. .. ,M

Ağırlık Matrisi

x=[x1

x2

⋮xn

]nx1

Page 13: Hamming Yapay Sinir Ağı

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 şekliyanda gösterilmiştir.

Bu harflerin vektör ile ifadesi şöyledir:c1=(1  1  1;  1 ­1 ­1;  1  1  1) C harfic2=(1 ­1  1;  1  1  1;  1 ­1  1) H harfic3=(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, net

2, net

3) olacaktır.

Ağırlık matrisini (w) ve eşik (b) değerini hesaplayalım:

W=12 [

1 1 1 1 −1 −1 1 1 11 −1 1 1 1 1 1 −1 11 −1 −1 1 −1 −1 1 1 1] ve b1=b2=b3=

n2=

92

net 1=b1+∑i

xi w1i , i=1,2,. .. ,9

=92+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

Page 14: Hamming Yapay Sinir Ağı

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 şekliyanda gösterilmiştir.

Bu harflerin vektör ile ifadesi şöyledir:c1=(1  1  1;  1 ­1 ­1;  1  1  1) C harfic2=(1 ­1  1;  1  1  1;  1 ­1  1) H harfic3=(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, net

2, net

3) olacaktır.

Ağırlık matrisini (w) ve eşik (b) değerini hesaplayalım:

W=12 [

1 1 1 1 −1 −1 1 1 11 −1 1 1 1 1 1 −1 11 −1 −1 1 −1 −1 1 1 1] ve b1=b2=b3=

n2=

92

net 1=b1+∑i

xi w1i , i=1,2,. .. ,9

=92+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

Page 15: Hamming Yapay Sinir Ağı

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 şekliyanda gösterilmiştir.

Bu harflerin vektör ile ifadesi şöyledir:c1=(1  1  1;  1 ­1 ­1;  1  1  1) C harfic2=(1 ­1  1;  1  1  1;  1 ­1  1) H harfic3=(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, net

2, net

3) olacaktır.

Ağırlık matrisini (w) ve eşik (b) değerini hesaplayalım:

W=12 [

1 1 1 1 −1 −1 1 1 11 −1 1 1 1 1 1 −1 11 −1 −1 1 −1 −1 1 1 1] ve b1=b2=b3=

n2=

92

net 1=b1+∑i

xi w1i , i=1,2,. .. ,9

=92+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

Page 16: Hamming Yapay Sinir Ağı

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 şekliyanda gösterilmiştir.

Bu harflerin vektör ile ifadesi şöyledir:c1=(1  1  1;  1 ­1 ­1;  1  1  1) C harfic2=(1 ­1  1;  1  1  1;  1 ­1  1) H harfic3=(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, net

2, net

3) olacaktır.

Ağırlık matrisini (w) ve eşik (b) değerini hesaplayalım:

W=12 [

1 1 1 1 −1 −1 1 1 11 −1 1 1 1 1 1 −1 11 −1 −1 1 −1 −1 1 1 1] ve b1=b2=b3=

n2=

92

net 1=b1+∑i

xi w1i , i=1,2,. .. ,9

=92+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.

Page 17: Hamming Yapay Sinir Ağı

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ı