SlideShare ist ein Scribd-Unternehmen logo
1 von 21
T.C.
  ÇANAKKALE ONSEKİZ MART ÜNİVERSİTESİ
    MÜHENDİSLİK-MİMARLIK FAKÜLTESİ
    BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ




SOM ALGORİTMASI İLE FİLM UYGULAMASI




          Esranur ÖĞRETMEN




            Proje Danışmanı

       Yard.Doç.Dr Mahmut SİNECEN
Yapay Sinir Ağı Nedir?

          Yapay sinir ağı insan beyninden esinlenerek geliştirilmiş, ağırlıklı bağlantılar
aracılığıyla birbirine bağlanan işlem elemanlarından oluşan paralel bilgi işleme yapılarıdır.
1980’li yılların ortalarından itibaren bilim adamları yapay sinir ağlarıyla ilgilenmeye
başlamışlardır. White 1989 yılında istatistiksel yöntemlerindeki matematiksel modeller ile
yapay sinir ağlarında kullanılan öğrenme algoritmalarının birbirlerine benzediğini
ispatlamıştır.   Sarle 1994’te yaptığı araştırmalarda da bu iki alanda uygunluk olduğunu
belirtmiştir. Gizli katmansız ileri beslemeli ağlar lineer modellere, bir gizli katmanlı ileri
beslemeli ağlar lineer olmayan regresyon modellerine, Hebbian öğrenme temel bileşenler
analizine ve Kohonen SOM ağları kümeleme analizine karşılık gelmektedir. İstatistiksel
yöntemlerin çoğunda verilerle ilgili dağılım varsayımı ve değişkenlerle ilgili varyasyon ve
korelasyon varsayımları vardır.[1](arastimax1829pp47 68)

                                   YSA’nın Elemanları

Girdiler: Yapay sinir ağlarına dış dünyada veya diğer bir hücreden gelen bilgilerdir.

Ağırlıklar: Hücreler arasında bağlantıların sayısal değerini ifade etmektedir. Bir hücreye
gelen bilginin değerini ve hücre üzerindeki etkisini gösterir.

Toplama Fonksiyonu:Hücreye gelen girdilerin net girdi değerini hesaplar.

Aktivasyon Fonksiyonu: Hücreye gelen net girdiyi kullanarak çıktı değerini hesaplanmasını
sağlar.

Çıktılar: Aktivasyon fonksiyonu ile elde edilen değerdir. Üretilen çıktı dış dünya veya başka
bir hücreye girdi olarak gönderilebilir.
YSA’nın Yapısı

   Giriş Katmanı, Ara(gizli) Katmanı ve Çıkış Katmanı olmak üzere üçe ayırabiliriz.

Giriş Katmanı: Dış dünyadan yapay sinir ağına gelen girdilerin bulunduğu katmandır. Girdi
sayısı kadar hücre bulunmakta, girdilerin üzerinde işlem yapılmadan gizli katmana
iletilmektedir.

Ara(gizli) Katman: Giriş katmanından aldığı bilgiler üzerinde işlem yaparak bir sonraki
katmana iletir. Buradaki hücre sayısı değişkendir, girdi ve çıktı katmanlarındaki hücre
sayısına bağlı değildir.

Çıkış Katmanı: Ara katmandan gelen değerleri işleyerek çıktı üretilir ve dış dünyaya verilir.
Çıkış katmanındaki her bir hücre bir önceki katmandaki bütün hücrelere bağlıdır.

                           YSA’nın Avantaj ve Dezavantajı

Avantajı:

       Yapay sinir ağı yaklaşımının istatistiksel yöntemlere göre avantajı, verilerin dağılım
varsayımları ve değişken varsayımlara ihtiyaç duymamasıdır. Adaptasyon yeteneği, bilginin
ağın tamamında saklanması, istisnai ve anormal veri sayısı çok olan konularda iyi sonuç
vermesi avantajları arasındadır. Yapay sinir ağları, değişkenlere ait veri eksiklerini de tolere
etme özelliğine de sahiptir.

Dezavantaj

       Yapay sinir ağının eğitimi için çok sayıda veri gerekmesi, ağın parametre değerlerinin
belirlenmesinde ve eğitim örneklerinde belli bir kural olmaması, ağın eğitiminin ne zaman
bitirilmesi gerektiği, öğrenilecek problemin ağa gösterimi önemi problemlerdir.

Yapay Sinir Ağlarının Temel İşlevi

1-Öngörü veya Tahminleme: İleriki satışlar, hava tahminleri, at yarışları.

2-Sınıflandırma ve Kümeleme: Müşteri profilleri, tıbbı teşhis, ses ve şekil tanıma.

3-Kontrol: Erken uyarı için uçaklarda ses ve titreşim düzeyleri.
YSA’ nın Sınıflandırılması

A.Yapılarına Göre

1-İleri Beslemeli: Hücreler girişten çıkışa doğru düzenli katmanlar şeklindedir. Ağa gelen
bilgiler giriş katmanına daha sonra gizli katman ve çıkış katmanından işlenir ve dış dünyaya
verilir.

2-Geri Beslemeli: Hücrenin çıktısı kendiden önceki katmanda veya kendi katmanına girdi
olarak verilebilir.

B.Öğrenme Algoritmalarına Göre

1-Danışmanlı Öğrenme: Ağ kullanılmaya başlanmadan önce eğitilir. Hem girdi değerleri
hem de çıktı değerlerinin istenen çıktı değerleri sisteme verilir. İstenen çıktı ile ağın ürettiği
çıktı karşılaştırılarak hata oranı hesaplanır, ağırlıklar güncellenir.

2-Danışmansız Öğrenme: Sisteme sadece girdiler verilerek sistemin kendi kendine
öğrenmesi beklenir.

3-Pekiştirmeli Öğrenme: Giriş verileri ağda işlenir ve sonucun değerlendirilmesi danışman
tarafından yapılır. Ödül ve ceza ile ağ ağırlıkları güncellenir.

                            ÖĞRENME ALGORİTMALARI

               Geri Yayılım Algoritması
               Esnek Yayılım Algoritması
               Delta Bar Delta Algoritması
               Geliştirilmiş Delta Bar Delta Algoritması
               Hızlı Yayılım Algoritması
               Levenberg-Marquardt Metodu
               Eşleştirilmeli Eğim Algoritması

           Yapay sinir ağlarının istatistiksel alanlardaki uygulamalarında genellikle SOM(Self-
Organizing Maps) ve geri yayılım öğrenme algoritmalarının kullanılır.
SOM(SELF ORGANIZING MAPS)

       1982 yılında Teuvo Kohonen tarafından geliştirilmiştir. İlişkisel bellek temelini
kullanan ve denetimsiz öğrenen bir YSA modelidir. İlişkisel bellek, iki nesne arasındaki bağın
kuvvetliliği ölçüsünde ilişkilendirdiğimiz öğrenme biçimi anlamına gelmektedir. Martinetz,
Berkovich ve Schulten 1993’te SOM algoritmasına alternatif olarak Neural-Gas algoritmasını
öne sürmüşlerdir. Neural-Gas aloritması, SOM algoritması ile K-ortalama metodunu birlikte
kullanır. SOM veri setindeki elemanları hem kümelendirir hem de haritalandırır. Bu sebeple,
bu ağlar son yıllarda oldukça popüler olmuştur.
       SOM ağları tek katmanlı bir ağdır. Bu ağın eğitiminde kullanılacak veriler bağımlı
değişken içermez. Bu sebeple, kümeleme analizi ilgili problemlerin çözümü için idealdir.
Ancak, elde edilen sonuçların doğruluğunu denetlemek için konuyla ilgili uzman görüşüne
başvurmak gerekebilir. SOM ağları, hem verilerin kümelenmesi hem de görselleştirilmesi
açısından tercih edilmektedir. Bu ağlar çok boyutlu bir veriyi iki boyutlu bir haritaya
indirgemektedir. Her bir küme için oluşturulan referans vektörleri bir araya geldiğinde bir
haritayı meydana getirmektedir. SOM un LVQ dan en önemli farkı, LVQ nun denetimli
olması ve topolojik komşuluk içermemesidir.
       SOM ağları, tek katmanlı bir ağ olup giriş ve çıkış nöronlarından oluşur. Giriş
nöronlarının sayısını veri setindeki değişken sayısı belirler. Çıkış nöronlarının her biri bir
kümeyi temsil eder. Diğer yapay sinir ağlarından farklı olarak, çıkış katmanındaki nöronların
dizilimi çok önemlidir. Bu dizilim doğrusal, dikdörtgensel, altıgen veya küp şeklinde olabilir.
En çok dikdörtgensel ve altıgen şeklindeki dizilimler tercih edilmektedir. Pratikte, çoğu kez
dikdörtgensel dizilim karesel dizilim olarak uygulanır. Buradaki dizilim topolojik komşuluk
açısından önemlidir. Aslında, çıkış nöronları arasında doğrudan bir bağlantı yoktur. Giriş
nöronları ile her bir çıkış nöronu arasındaki bağlantıyı referans vektörleri gösterir. Bu
vektörler bir katsayılar matrisinin sütunları olarak da düşünülebilir. SOM sinir ağları
eğitilirken bu topolojik komşuluk referans vektörlerinin yenilenmesinde kullanılır.
SOM AĞININ YAPISI




SOM ağlarının çeşitleri;

      Kohonen
      Kangas
      Laaksonen

SOM UN BİLEŞENLERİ

   1. İlklendirme:         Bağlantı    ağırlıklarının   tümü   rastgele   olarak   küçük   sayılarla
       ilklendirilirler.
   2. Rekabet:       Hücreler her girdi için bir fonksiyon aracılığı ile yarışırlar. Burada
       kullanılan fonksiyon;
                                              Dj(x) = ∑ (xi-wji)2
        Fonsiyondan elde edilen değere bakılarak, hangi sinir hücresinin ağırlık vektörü girdi
       vektörüne yakın ise o hücre winner olarak belirlenir. Sinir hücrelerinin rekabeti
       sayesinde, girdi uzayı ve kesikli çıktı uzayı eşleşmiş olur.


   3. İşbirliği: Uyarılacak hücrelerin topolojik komşuluğunun konumu belirlenerek
       hücreler arası işbirliği yapılır.
4. Uyum: Fonksiyondan elde edilen değer azaltılarak bağlantı ağırlıklarının azaltılması
       işlemi uygulanır. Kazanan hücre ile birlikte komşuları da girdi vektörüne
       yaklaştırılarak ağırlıklar düzenlenir. Böylece topolojik düzen sağlanmış olur.

                     SOM ALGORİTMASININ ÇALIŞMASI




                SOM Modelinde Kümelemeyi Etkileyen Faktörler

       Başarılı bir kümeleme çalışması gerçekleştirebilmek için bazı faktörlere dikkat etmek
gerekir. Çoğu kez deneme yanılma yoluyla bu faktörler için en iyi değerler bulunur.
Giriş vektörüyle referans vektörleri arasındaki fark hata olarak kabul edilirse, en küçük
mutlak hata ortalamasına sahip model en iyidir denilebilir. Bu faktörler şunlardır:


   1) Çıkış katmanındaki nöron sayısı:
       Çıkış katmanındaki nöron sayısı, elde edilebilecek maksimum küme sayısını belirtir.
       Genellikle, veri setindeki eleman sayısının %10’u civarında çıkış nöronu tercih edilir.


   2) Verilerin normalleştirilmesi:
       Veri   setindeki   değişken    değerleri   arasında   büyük    farklar   varsa   değerler
       normalleştirilmelidir. Böylece, tüm değişkenlere eşit şans verilmiş olur. Sütun bazında
       yapılan normalleştirme üç şekilde yapılabilir:
a) Her bir sütundaki değerler sütun standart sapmasına bölünür.
    b) Her bir sütundaki değerlerden sütun ortalaması çıkartılıp çıkan sonuç sütun standart
   sapmasına bölünür. Böylece, ortalaması 0 standart sapması 1 olan standart dağılım
   elde edilir.
   c) Her bir sütundaki değer, sütun vektör uzunluğuna bölünür.


3) Referans vektörlerine ilk değer atanması:
Referans vektörlerine ilk değer atanması, SOM modelinde çok kritik bir yere sahiptir. Bu
ilk değerler atanırken veri setindeki giriş vektör değerleri göz önünde bulundurulmalıdır.
Pratikte, referans vektörlerine rasgele değerler atamak bazen sakıncalı olabilir. Tüm
vektörlere 0’dan çok az büyük bir değer atanırsa öğrenme katsayısı 1’e yakın bir değerle
başlatılmalı ve belli bir döngü boyunca (1000 döngü gibi) azaltılmamalıdır. Ayrıca,
komşuluk değişkeni büyük bir değerle başlatılmalı ve öğrenme katsayısının değişmediği
periyotta sabit kalmalıdır. Böylece, referans vektörleri giriş vektörlerine uygun bir forma
kavuşurlar. Referans vektörlerine, giriş vektörlerinin dağılımına uygun bir ilk atama
yapıldığında öğrenme katsayısı ve komşuluk değişkeni daha küçük bir değerle
başlatılabilir. Bu da algoritmanın öğrenme hızını artırır.


4) Uzaklık ölçüsü:
SOM algoritmasında giriş vektörleriyle referans vektörleri arasındaki uzaklık, öklid
uzaklığının karesi ile ifade edilmektedir. Ancak, öklid uzaklığı yerine başka uzaklık
ölçüleri de kullanılabilir: Minkowski ölçüsü, city-block uzaklığı gibi. Bazı çalışmalarda
uzaklık ölçüsü yerine vektör çarpımı kullanılmıştır. Vektör çarpımı kullanıldığında, en
büyük çarpım değerine sahip olan nöron, kazanan nörondur.
Bununla ilgili SOM algoritmasında değişiklik yapmak gerekir.


5) Öğrenme katsayısı ve Komşuluk değişkeni:
Öğrenme katsayısı 0 ile 1 arasında bir değerle başlamalı ve döngü arttıkça 0’a
yaklaşmalıdır. Komşuluk değişkeni, çıkış katmanındaki dizilime uygun büyük bir değerle
başlamalı ve döngü ilerledikçe azaltılmalıdır.
SOM AĞININ KULLANIM ALANLARI

1. Verilerin kümelenmesi ve görselleştirilmesi açısından önemlidir.

2. Çok boyutlu veriler iki boyutlu haritaya indirgenir.

3. Görüntüleme alanında kullanılmaktadırlar.

               Başlıca kullanım alanları;

            SınıflandırmaProblemleri(örnek:http://www.cis.hut.fi/research/somresearch/worl
               dmap.html)

            Görüntü Tanıma

            Örüntü Tanıma

            Ses Tanıma(örnek:http://research.ics.aalto.fi/ica/cocktail/cocktail_en.cgi)

            Veri Sıkıştırma

            Çevre Modellemesi




PROJE AŞAMALARI

Projeye ilk etapta 500 tane film verisinin yıl bilgisine, puan bilgisine, yönetmen bilgisine,
başrol oyuncusunu kadın erkek olma özelliklerine göre som algoritması kullanarak ağ
eğitimine başladık. Ağ eğitimi sonucunda film türlerine göre kümeleme yapmasını amaçladık.

Ve film türleri çıktılarının doğru oranda kümelenmesini amaçladık. Fakat proje kapsamında
bazı zorluklarla karşılaşıldı bunlardan en önemlisi veri kümesini doğru verilerden seçmekti.
Film verilerini ilk etapta doğru seçmediğimizden dolayı 1 haftalık eğitim sonuç vermedi
danışman hocamızın desteğiyle veri kümesini nasıl oluşturacağımız konusunda daha net
bilgiye ulaştık ve veri kümemizi 1040 film verisinden oluşturduk. Bu veri kümesinde 7 farklı
film türüne yer verdik ve ağımızı som algoritmasıyla eğitmeye başladık.
Ağımızın eğitiminde 4 özellik yani (ülke , renk bilgisi,yönetmen ve tarih bilgisi) ile ağın
eğitimini gerçekleştirdik ve amacımız test verilerinden doğru kümeleme elde etmek ve bunu
som algoritmasıyla gerçekleştirmek.

Yapılan çalışmalar;

Som algoritmasında ağ eğitimi için 4 topoloji bulunmaktadır ;

Hextop, Gridtop, Randtop, Tritop topolojileridir.

Biz projemizde ağ eğitiminde başarı doğru oranının daha iyi bir sonuç vermesi için sık sık
denemelerimizde bu topolojileri kullanarak her eğitim sonuçlara bu topolojilerin nasıl etki
ettiğini gözlemledik ve bunları raporumuzda sunmaya çalıştık ayrıca ağ eğitiminde sadece
topolojileri değiştirmekte kimi zaman sonuç vermedi bunun içinde sık sık test verilerimizi ve
ağ eğitimi için farklı değerler kullanarak daha iyi sonuca ulaşmak için denemelerde bulunduk.

   1) Xls dosyamızdan 2 ile 1040 arasındaki verileri ağın eğitimi için kullandık ve hextop
       topolojisini kullandığımızda daha iyi kümele yaptı ve burada ağ eğitimi için
       selforgmap ağ eğitim fonksiyonu kullandık.
   2) Xls dosyası içerisindeki verilerden 2-40 verilerini test verisi ve 41-1040 arası
       verilerimizi de ağ eğitimi için kullandık selforgmap ağ eğitim fonksiyonunda 1x10
       grid topolojisi ile 1. Sonucumuza göre kümeleme daha başarılı bir sonuç elde ettik.
       Aşağıdaki adımlarda 4 özellik alınarak yapılan eğitim sonucunda elde edilen sonuçlar;
   3) 1x2 lük hextop topolojisi kullanarak kümeleme başarımız önceki sonucumuza oranla
       düştü.
   4) 1x3 lük hextop topolojisi için kümeleme başarısı bir öncekine göre daha başarılı
   5) 1x4 lük hextop topolojisi için kümeleme başarısı 4. değere göre daha iyi kümeledi ve
       renk tonları daha iyi sonuca yansıdı
   6) 3x4 lük hextop topolojisi ile kümele önceki sonuclara göre daha kötü sonuc verdi
   7) 3x4 lük grid topolojisi ile kümeleme hextop topolojine göre daha kötü kümeleme
       sonucu vermiştir.
       Ağ eğitimi için özellik sayısını 5 e çıkardığımızda ve 1x4 lük hextop topolojisini
       kullandığımızda elde ettiğimiz başarı oranı kümeleme belirgin olarak daha iyi sonuç
       verdiği gözlemlenmiştir.özellik sayısı 5 ve 1x15 lik hextop topolojisi ile kümeleme
       1x4 topolojiye göre daha kötü kümeleme yaptığı görülmüştür.
8) 100-1000 arasındaki verileri eğitim için kullandık ve 1020 ile 1040 arasındaki verileri
       de test verileri olarak aldıgımızda ve 1x7 lik hextop topolojini kullanarak kümeleme
       daha başarılı oldu 1x15 lik hextop topolojisine göre.

Bu sonuçlar göstermiştir ki; som algoritmasıyla sınıflandırma işleminde elde edilen neticelere
göre kümeleme işleminde hextop topolojisi diğer topolojilere göre daha iyi sonuçlar
vermektedir ve ayrıca kümeleme işleminde eğitim aşamasında verilerin seçimi önemli bir
konudur ve tüm ağı etkilemektedir.




Türü siyah-beyaz (bw) olan filmlerin gruplamasını yaptık ilk 120 veri için 1x5 lik hextop
topolojisi kullanarak elde edilen sonuçlar
Türü siyah-beyaz (bw) ve renkli türdeki veriler olan filmlerin gruplamasını yaptık ilk 1000
veri için 1x5 lik hextop topolojisi kullandık ve 1000-1025 arsındaki verileri de test verisi
olarak kullandık ve aşağıdaki sonuçları elde ettik




Şekil-1 deki resimde siyah-beyaz türünde girilen drama verilerinde input2 için siyah verilerin
daha yoğun olduğu görülmekte bu veri kümesini genişletip ve ayrıca renkli film tür bilgisine
göre de gruplama yaptığımızda şekil-2 de karşılaştığımız sonuç siyah bölgenin azaldığını
göstermektedir.
Amerika’da çekilmiş filmlerin yıllara göre dağılımı üzerine bir kümeleme işlemi yapıcaz.




Fransa’da çekilmiş filmlerin yıllara göre dağılımı üzerine bir kümeleme işlemi yapıcaz.




Buradaki kümelemede 1930 dan önce fransada çekilen filmler amerika’da çekilen filmlerden
daha az olduğu görülmektedir.Burda filmlerin yıl ağırlıkları baz alarak kümeleme yapılmıştır.
Amerika’ da çekilen filmlerin yıllara göre kümeleme işlemi




Fransa’ da çekilen filmlerin yıllara göre kümeleme işlemi




Sonuç olarak grafiğe bakarak amerika’da ve Fransa arasındaki filmlerin kümelenmesini
görüyoruz.
Girilen tüm verilerin yıl türüne göre filmlerin kümelenmesi




Girilen tüm verilerin yıl türüne göre filmlerin kümelenmesi
%som algoritmasıyla film analizi kod

clear all

clc

%excel dosyasındaki verilerin okunması

%içerik değerleri num, her bir hücre

%değeri txt ve her ikisinin birleşimi

%raw değişkeninde tutulmaktadır.

[num,txt,raw] = xlsread('ersinvahap.xls');




%Verilerin rastgele karıştırılması

%için kullanılan özellik

i = randi(size(num,1),size(num,1),1);




%cell formatındaki değişkenin

%double türe dönüştürülmesi

%Giriş ve çıkışların oluşturulması




Target = num(i,1); % birinci sütun hedef

Feature = num(i,2:5); % ikinci ve besinci sütunlar özellik yani inputlar




%giriş ve çıkış eğitim ve test vektörlerinin oluşturulması

traininput = Feature(100:1000,:)';

targetinput = Target(100:1000,:)';
testinput = Feature(1020:1040,:)';

testoutput = Target(1020:1040,:)';




sayac=1;

%Ağın oluşturulmasu




for v=1:3;

   for e=1:3;

   pos = randtop(v,e);

net = selforgmap([v e],'topologyFcn','hextop');




%net = newsom(traininput,[v e],'randtop');

%[net,tr] = train(net,traininput);

plotsomplanes(net) % grafikte ağın eğitiliş eğrisi gösterimi

%plotsomtop(net); % grafikte ağın eğitiliş eğrisi gösterimi

sayi=int2str(sayac);

mat='.mat';

savefile=strcat(sayi,mat);

save(savefile, 'net')

%load('71.mat','net')

%Ağın test verilerine göre çıkış üretmesi

%out = vec2ind(net(traininput));
%Test giriş değerlerine göre eğitilen ağdan elde edilen çıkış değerlerinin

%karşılaştırılması

%sonuc = out - targetinput;




%Doğru bulunanların toplam değeri

%dogru = 0;




%for k =1:size(sonuc,2)

 % if(sonuc(k) == 0)% eğer sonuc sıfır cıkarsa dogru sonuc

 %       dogru = dogru + 1;

% end

%end




%Doğru ve yanlış olanların yüzdesel değerleri

%basaridogru(v,e) = dogru*100 / size(sonuc,2);

%basariyanlis(v,e) = (size(sonuc,2)-dogru)*100 / size(sonuc,2);

   sayac=sayac+1;

   end

end
aşağıdaki bilgiler excel’e girmiş olduğumuz bilgilerin sayısallaştırılması

sıra                   yönetmen
1                      aldrich robert
2                      bergman ingmer
3                      allen woody
4                      godard jean luc
5                      steven spielberg
6                      lang fritz
7                      lubitsh ernst
8                      lumet sidney
9                      minnelli vicente
10                     ozu yasujiro
11                     preminger otto
12                     ray nicholas
13                     ray satyajit
14                     renoir jean
15                     resnais alain
16                     rivette socques
17                     rahmer eric
18                     rossellini roberto
19                     russel ken
20                     scorsese martin
21                     sidney george
22                     siodmak robert
23                     sokurov aleksandr
24                     steven spielberg
25                     stone oliver
26                     tavernier bertnard
27                     tourneur jacques
28                     trauffaut françois
29                     tsui hark
30                     vidor king
31                     visconti luchino
32                     von stenberg
33                     wajda andrzej
34                     walsh raoul
35                     warhol andy
36                     weir peter
37                     wellman william
38                     wenders wim
39                     wilder billy
40                     wise robert
41                     wiseman frederick
42                     wyler william
43                     zemeckis robert
44                 zinneman fred
45                 almador pedro
46                 altman robert
47                 antonioni michelangelo
48                 boorman john
49                 borzage frank
50                 brokhage stan
51                 bresson robert
52                 bunuel luis
53                 copra frank
54                 chabrol claude
55                 chaplin charles
56                 clair rene
57                 coppola francis
58                 corman rager
59                 cronenberg david
60                 cukor george
61                 curtiz michael



     ülke                            tür           renklilik
1                                1   war         1 bw
2    us                          2   adventure   2 col
3    france                      3   comedy      3 bw-col
4    canada                      4   crime       4
5    germany                     5   drama
6    ıtaly                       6   thriller
7                                7   romance
8    uk
9    denmark
10   honkong
11   australia
12   belgiue
13   chile
14   india
15   ireland
16   japan
17   mexico
18   netherland
19   poland
20   russia
21   spain
22   sweden
23   switzerland
24   turkey
25   ussr
Som algorithms in artificial neural networks

Weitere ähnliche Inhalte

Andere mochten auch

Dare to be Digital 2012 - Information presentation
Dare to be Digital 2012 - Information presentation Dare to be Digital 2012 - Information presentation
Dare to be Digital 2012 - Information presentation Dare to be Digital
 
ituren eta zubieta inauteriak
ituren eta zubieta inauteriakituren eta zubieta inauteriak
ituren eta zubieta inauteriakIratxe Allende
 
HOLA in ENGLISH
HOLA in ENGLISHHOLA in ENGLISH
HOLA in ENGLISHdearl1
 
Zambia schools
Zambia schoolsZambia schools
Zambia schoolsmichwood
 
спасение солнечной системы (математика+астрономия)
спасение солнечной системы (математика+астрономия)спасение солнечной системы (математика+астрономия)
спасение солнечной системы (математика+астрономия)killaruns
 
9. getting into groups
9. getting into groups9. getting into groups
9. getting into groupsgia1995
 
Questionnaire results analysed
Questionnaire results analysedQuestionnaire results analysed
Questionnaire results analysedSaraMcgranaghan
 
плакаты ЕГЭ
плакаты ЕГЭплакаты ЕГЭ
плакаты ЕГЭkillaruns
 
Friday, may 20, 2016, teacher institute
Friday, may 20, 2016, teacher instituteFriday, may 20, 2016, teacher institute
Friday, may 20, 2016, teacher instituteGalesburg CUSD #205
 

Andere mochten auch (20)

Ponencia Alicia
Ponencia  AliciaPonencia  Alicia
Ponencia Alicia
 
Ituren eta zubieta3
Ituren eta zubieta3Ituren eta zubieta3
Ituren eta zubieta3
 
Dare to be Digital 2012 - Information presentation
Dare to be Digital 2012 - Information presentation Dare to be Digital 2012 - Information presentation
Dare to be Digital 2012 - Information presentation
 
102 Imagine
102 Imagine102 Imagine
102 Imagine
 
Final Focus Group Report
Final Focus Group ReportFinal Focus Group Report
Final Focus Group Report
 
IKT PROIEKTUA
IKT PROIEKTUAIKT PROIEKTUA
IKT PROIEKTUA
 
Media evaluation music mag ew
Media evaluation music mag ewMedia evaluation music mag ew
Media evaluation music mag ew
 
ituren eta zubieta inauteriak
ituren eta zubieta inauteriakituren eta zubieta inauteriak
ituren eta zubieta inauteriak
 
HOLA in ENGLISH
HOLA in ENGLISHHOLA in ENGLISH
HOLA in ENGLISH
 
Newspaper analysis 3
Newspaper analysis 3Newspaper analysis 3
Newspaper analysis 3
 
Zambia schools
Zambia schoolsZambia schools
Zambia schools
 
Jaime ladino
Jaime ladinoJaime ladino
Jaime ladino
 
спасение солнечной системы (математика+астрономия)
спасение солнечной системы (математика+астрономия)спасение солнечной системы (математика+астрономия)
спасение солнечной системы (математика+астрономия)
 
Writing 160 Lesson Pan
Writing 160 Lesson PanWriting 160 Lesson Pan
Writing 160 Lesson Pan
 
9. getting into groups
9. getting into groups9. getting into groups
9. getting into groups
 
Transparency in Government
Transparency in GovernmentTransparency in Government
Transparency in Government
 
Questionnaire results analysed
Questionnaire results analysedQuestionnaire results analysed
Questionnaire results analysed
 
плакаты ЕГЭ
плакаты ЕГЭплакаты ЕГЭ
плакаты ЕГЭ
 
CiaoAmoreCiao
CiaoAmoreCiaoCiaoAmoreCiao
CiaoAmoreCiao
 
Friday, may 20, 2016, teacher institute
Friday, may 20, 2016, teacher instituteFriday, may 20, 2016, teacher institute
Friday, may 20, 2016, teacher institute
 

Ähnlich wie Som algorithms in artificial neural networks

Yapay Sinir Ağları ile Değerli Kağıt Tanıma Sistemi
Yapay Sinir Ağları ile Değerli Kağıt Tanıma SistemiYapay Sinir Ağları ile Değerli Kağıt Tanıma Sistemi
Yapay Sinir Ağları ile Değerli Kağıt Tanıma SistemiSerkan Kaba
 
Sayisal Haberleşmede Çok Katmanlı Algılayıcı Kullanarak Modülasyonun Tanınması
Sayisal Haberleşmede Çok Katmanlı Algılayıcı Kullanarak Modülasyonun TanınmasıSayisal Haberleşmede Çok Katmanlı Algılayıcı Kullanarak Modülasyonun Tanınması
Sayisal Haberleşmede Çok Katmanlı Algılayıcı Kullanarak Modülasyonun TanınmasıHarun Çetin
 
Rassal Bölümlenmiş Veri Üzerinde Aşırı Öğrenme Makinesi ve Topluluk Algoritma...
Rassal Bölümlenmiş Veri Üzerinde Aşırı Öğrenme Makinesi ve Topluluk Algoritma...Rassal Bölümlenmiş Veri Üzerinde Aşırı Öğrenme Makinesi ve Topluluk Algoritma...
Rassal Bölümlenmiş Veri Üzerinde Aşırı Öğrenme Makinesi ve Topluluk Algoritma...Ferhat Ozgur Catak
 
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 teknikleriTalha Kabakus
 
Hamming Yapay Sinir Ağı (Konu anlatımı)
Hamming Yapay Sinir Ağı (Konu anlatımı)Hamming Yapay Sinir Ağı (Konu anlatımı)
Hamming Yapay Sinir Ağı (Konu anlatımı)Murat Özalp
 
Bitirme Projesi Sunumu
Bitirme Projesi SunumuBitirme Projesi Sunumu
Bitirme Projesi SunumuMemre
 
K-Means & K-Medoids Algoritması
K-Means & K-Medoids AlgoritmasıK-Means & K-Medoids Algoritması
K-Means & K-Medoids AlgoritmasıSinem Altan
 
Network - Bilgisayar Ağlarına Giriş
Network - Bilgisayar Ağlarına Giriş Network - Bilgisayar Ağlarına Giriş
Network - Bilgisayar Ağlarına Giriş Murat KARA
 
Kablosuz Sensör Ağlarda Konumlandırma - Locatization in WSNs
Kablosuz Sensör Ağlarda Konumlandırma - Locatization in WSNsKablosuz Sensör Ağlarda Konumlandırma - Locatization in WSNs
Kablosuz Sensör Ağlarda Konumlandırma - Locatization in WSNsVeysi Ertekin
 
Kablosuz sensör Ağlarda Konumlandırma (Locatization in WSNs)
Kablosuz sensör Ağlarda Konumlandırma (Locatization in WSNs)Kablosuz sensör Ağlarda Konumlandırma (Locatization in WSNs)
Kablosuz sensör Ağlarda Konumlandırma (Locatization in WSNs)Veysi Ertekin
 
Ağ teknolojileri hakkında bilgiler içermektedir.Ağ potolojileri
Ağ teknolojileri hakkında bilgiler içermektedir.Ağ potolojileriAğ teknolojileri hakkında bilgiler içermektedir.Ağ potolojileri
Ağ teknolojileri hakkında bilgiler içermektedir.Ağ potolojileriAydın Özen
 
Recurrent neural network
Recurrent neural networkRecurrent neural network
Recurrent neural networkServer CALAP
 
03 sap-2000-ile-yap-sistemlerinin-cozumu
03 sap-2000-ile-yap-sistemlerinin-cozumu03 sap-2000-ile-yap-sistemlerinin-cozumu
03 sap-2000-ile-yap-sistemlerinin-cozumuFaruk Kazaz
 
Data minning k means algori̇tmalari
Data minning k means algori̇tmalariData minning k means algori̇tmalari
Data minning k means algori̇tmalariFatih Sekmen
 
Router yönlendi̇rme protokolleri̇ ve algori̇tmalari(9.grup)
Router yönlendi̇rme protokolleri̇ ve algori̇tmalari(9.grup)Router yönlendi̇rme protokolleri̇ ve algori̇tmalari(9.grup)
Router yönlendi̇rme protokolleri̇ ve algori̇tmalari(9.grup)faz2hprotocol
 
Sosyal Ağlar, Analiz Yöntemleri ve Araçları
Sosyal Ağlar, Analiz Yöntemleri ve AraçlarıSosyal Ağlar, Analiz Yöntemleri ve Araçları
Sosyal Ağlar, Analiz Yöntemleri ve AraçlarıMehmet Gençer
 
Sayısal Devreler 05, Feza BUZLUCA
Sayısal Devreler 05, Feza BUZLUCASayısal Devreler 05, Feza BUZLUCA
Sayısal Devreler 05, Feza BUZLUCAFeza BUZLUCA
 

Ähnlich wie Som algorithms in artificial neural networks (20)

Yapay Sinir Ağları ile Değerli Kağıt Tanıma Sistemi
Yapay Sinir Ağları ile Değerli Kağıt Tanıma SistemiYapay Sinir Ağları ile Değerli Kağıt Tanıma Sistemi
Yapay Sinir Ağları ile Değerli Kağıt Tanıma Sistemi
 
Sayisal Haberleşmede Çok Katmanlı Algılayıcı Kullanarak Modülasyonun Tanınması
Sayisal Haberleşmede Çok Katmanlı Algılayıcı Kullanarak Modülasyonun TanınmasıSayisal Haberleşmede Çok Katmanlı Algılayıcı Kullanarak Modülasyonun Tanınması
Sayisal Haberleşmede Çok Katmanlı Algılayıcı Kullanarak Modülasyonun Tanınması
 
Rassal Bölümlenmiş Veri Üzerinde Aşırı Öğrenme Makinesi ve Topluluk Algoritma...
Rassal Bölümlenmiş Veri Üzerinde Aşırı Öğrenme Makinesi ve Topluluk Algoritma...Rassal Bölümlenmiş Veri Üzerinde Aşırı Öğrenme Makinesi ve Topluluk Algoritma...
Rassal Bölümlenmiş Veri Üzerinde Aşırı Öğrenme Makinesi ve Topluluk Algoritma...
 
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
 
Hamming Yapay Sinir Ağı (Konu anlatımı)
Hamming Yapay Sinir Ağı (Konu anlatımı)Hamming Yapay Sinir Ağı (Konu anlatımı)
Hamming Yapay Sinir Ağı (Konu anlatımı)
 
Bitirme Projesi Sunumu
Bitirme Projesi SunumuBitirme Projesi Sunumu
Bitirme Projesi Sunumu
 
K-Means & K-Medoids Algoritması
K-Means & K-Medoids AlgoritmasıK-Means & K-Medoids Algoritması
K-Means & K-Medoids Algoritması
 
Network - Bilgisayar Ağlarına Giriş
Network - Bilgisayar Ağlarına Giriş Network - Bilgisayar Ağlarına Giriş
Network - Bilgisayar Ağlarına Giriş
 
Kablosuz Sensör Ağlarda Konumlandırma - Locatization in WSNs
Kablosuz Sensör Ağlarda Konumlandırma - Locatization in WSNsKablosuz Sensör Ağlarda Konumlandırma - Locatization in WSNs
Kablosuz Sensör Ağlarda Konumlandırma - Locatization in WSNs
 
Kablosuz sensör Ağlarda Konumlandırma (Locatization in WSNs)
Kablosuz sensör Ağlarda Konumlandırma (Locatization in WSNs)Kablosuz sensör Ağlarda Konumlandırma (Locatization in WSNs)
Kablosuz sensör Ağlarda Konumlandırma (Locatization in WSNs)
 
Ağ teknolojileri hakkında bilgiler içermektedir.Ağ potolojileri
Ağ teknolojileri hakkında bilgiler içermektedir.Ağ potolojileriAğ teknolojileri hakkında bilgiler içermektedir.Ağ potolojileri
Ağ teknolojileri hakkında bilgiler içermektedir.Ağ potolojileri
 
1.modül
1.modül1.modül
1.modül
 
Recurrent neural network
Recurrent neural networkRecurrent neural network
Recurrent neural network
 
Ağ Temelleri
Ağ TemelleriAğ Temelleri
Ağ Temelleri
 
Sunum
SunumSunum
Sunum
 
03 sap-2000-ile-yap-sistemlerinin-cozumu
03 sap-2000-ile-yap-sistemlerinin-cozumu03 sap-2000-ile-yap-sistemlerinin-cozumu
03 sap-2000-ile-yap-sistemlerinin-cozumu
 
Data minning k means algori̇tmalari
Data minning k means algori̇tmalariData minning k means algori̇tmalari
Data minning k means algori̇tmalari
 
Router yönlendi̇rme protokolleri̇ ve algori̇tmalari(9.grup)
Router yönlendi̇rme protokolleri̇ ve algori̇tmalari(9.grup)Router yönlendi̇rme protokolleri̇ ve algori̇tmalari(9.grup)
Router yönlendi̇rme protokolleri̇ ve algori̇tmalari(9.grup)
 
Sosyal Ağlar, Analiz Yöntemleri ve Araçları
Sosyal Ağlar, Analiz Yöntemleri ve AraçlarıSosyal Ağlar, Analiz Yöntemleri ve Araçları
Sosyal Ağlar, Analiz Yöntemleri ve Araçları
 
Sayısal Devreler 05, Feza BUZLUCA
Sayısal Devreler 05, Feza BUZLUCASayısal Devreler 05, Feza BUZLUCA
Sayısal Devreler 05, Feza BUZLUCA
 

Mehr von Esranur Öğretmen

An efficient implementation of pattern growth approach
An efficient implementation of pattern growth approachAn efficient implementation of pattern growth approach
An efficient implementation of pattern growth approachEsranur Öğretmen
 
Medical data mining applications
Medical data mining applicationsMedical data mining applications
Medical data mining applicationsEsranur Öğretmen
 
Medical data mining applications
Medical data mining applicationsMedical data mining applications
Medical data mining applicationsEsranur Öğretmen
 
An improved genetic algorithm and its blending
An improved genetic algorithm and its blendingAn improved genetic algorithm and its blending
An improved genetic algorithm and its blendingEsranur Öğretmen
 

Mehr von Esranur Öğretmen (7)

An efficient implementation of pattern growth approach
An efficient implementation of pattern growth approachAn efficient implementation of pattern growth approach
An efficient implementation of pattern growth approach
 
Dolby sound encoders
Dolby sound encodersDolby sound encoders
Dolby sound encoders
 
Medical data mining applications
Medical data mining applicationsMedical data mining applications
Medical data mining applications
 
Raid technologies
Raid technologiesRaid technologies
Raid technologies
 
Medical data mining applications
Medical data mining applicationsMedical data mining applications
Medical data mining applications
 
An improved genetic algorithm and its blending
An improved genetic algorithm and its blendingAn improved genetic algorithm and its blending
An improved genetic algorithm and its blending
 
Health Chase Systems
Health Chase SystemsHealth Chase Systems
Health Chase Systems
 

Som algorithms in artificial neural networks

  • 1. T.C. ÇANAKKALE ONSEKİZ MART ÜNİVERSİTESİ MÜHENDİSLİK-MİMARLIK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ SOM ALGORİTMASI İLE FİLM UYGULAMASI Esranur ÖĞRETMEN Proje Danışmanı Yard.Doç.Dr Mahmut SİNECEN
  • 2. Yapay Sinir Ağı Nedir? Yapay sinir ağı insan beyninden esinlenerek geliştirilmiş, ağırlıklı bağlantılar aracılığıyla birbirine bağlanan işlem elemanlarından oluşan paralel bilgi işleme yapılarıdır. 1980’li yılların ortalarından itibaren bilim adamları yapay sinir ağlarıyla ilgilenmeye başlamışlardır. White 1989 yılında istatistiksel yöntemlerindeki matematiksel modeller ile yapay sinir ağlarında kullanılan öğrenme algoritmalarının birbirlerine benzediğini ispatlamıştır. Sarle 1994’te yaptığı araştırmalarda da bu iki alanda uygunluk olduğunu belirtmiştir. Gizli katmansız ileri beslemeli ağlar lineer modellere, bir gizli katmanlı ileri beslemeli ağlar lineer olmayan regresyon modellerine, Hebbian öğrenme temel bileşenler analizine ve Kohonen SOM ağları kümeleme analizine karşılık gelmektedir. İstatistiksel yöntemlerin çoğunda verilerle ilgili dağılım varsayımı ve değişkenlerle ilgili varyasyon ve korelasyon varsayımları vardır.[1](arastimax1829pp47 68) YSA’nın Elemanları Girdiler: Yapay sinir ağlarına dış dünyada veya diğer bir hücreden gelen bilgilerdir. Ağırlıklar: Hücreler arasında bağlantıların sayısal değerini ifade etmektedir. Bir hücreye gelen bilginin değerini ve hücre üzerindeki etkisini gösterir. Toplama Fonksiyonu:Hücreye gelen girdilerin net girdi değerini hesaplar. Aktivasyon Fonksiyonu: Hücreye gelen net girdiyi kullanarak çıktı değerini hesaplanmasını sağlar. Çıktılar: Aktivasyon fonksiyonu ile elde edilen değerdir. Üretilen çıktı dış dünya veya başka bir hücreye girdi olarak gönderilebilir.
  • 3. YSA’nın Yapısı Giriş Katmanı, Ara(gizli) Katmanı ve Çıkış Katmanı olmak üzere üçe ayırabiliriz. Giriş Katmanı: Dış dünyadan yapay sinir ağına gelen girdilerin bulunduğu katmandır. Girdi sayısı kadar hücre bulunmakta, girdilerin üzerinde işlem yapılmadan gizli katmana iletilmektedir. Ara(gizli) Katman: Giriş katmanından aldığı bilgiler üzerinde işlem yaparak bir sonraki katmana iletir. Buradaki hücre sayısı değişkendir, girdi ve çıktı katmanlarındaki hücre sayısına bağlı değildir. Çıkış Katmanı: Ara katmandan gelen değerleri işleyerek çıktı üretilir ve dış dünyaya verilir. Çıkış katmanındaki her bir hücre bir önceki katmandaki bütün hücrelere bağlıdır. YSA’nın Avantaj ve Dezavantajı Avantajı: Yapay sinir ağı yaklaşımının istatistiksel yöntemlere göre avantajı, verilerin dağılım varsayımları ve değişken varsayımlara ihtiyaç duymamasıdır. Adaptasyon yeteneği, bilginin ağın tamamında saklanması, istisnai ve anormal veri sayısı çok olan konularda iyi sonuç vermesi avantajları arasındadır. Yapay sinir ağları, değişkenlere ait veri eksiklerini de tolere etme özelliğine de sahiptir. Dezavantaj Yapay sinir ağının eğitimi için çok sayıda veri gerekmesi, ağın parametre değerlerinin belirlenmesinde ve eğitim örneklerinde belli bir kural olmaması, ağın eğitiminin ne zaman bitirilmesi gerektiği, öğrenilecek problemin ağa gösterimi önemi problemlerdir. Yapay Sinir Ağlarının Temel İşlevi 1-Öngörü veya Tahminleme: İleriki satışlar, hava tahminleri, at yarışları. 2-Sınıflandırma ve Kümeleme: Müşteri profilleri, tıbbı teşhis, ses ve şekil tanıma. 3-Kontrol: Erken uyarı için uçaklarda ses ve titreşim düzeyleri.
  • 4. YSA’ nın Sınıflandırılması A.Yapılarına Göre 1-İleri Beslemeli: Hücreler girişten çıkışa doğru düzenli katmanlar şeklindedir. Ağa gelen bilgiler giriş katmanına daha sonra gizli katman ve çıkış katmanından işlenir ve dış dünyaya verilir. 2-Geri Beslemeli: Hücrenin çıktısı kendiden önceki katmanda veya kendi katmanına girdi olarak verilebilir. B.Öğrenme Algoritmalarına Göre 1-Danışmanlı Öğrenme: Ağ kullanılmaya başlanmadan önce eğitilir. Hem girdi değerleri hem de çıktı değerlerinin istenen çıktı değerleri sisteme verilir. İstenen çıktı ile ağın ürettiği çıktı karşılaştırılarak hata oranı hesaplanır, ağırlıklar güncellenir. 2-Danışmansız Öğrenme: Sisteme sadece girdiler verilerek sistemin kendi kendine öğrenmesi beklenir. 3-Pekiştirmeli Öğrenme: Giriş verileri ağda işlenir ve sonucun değerlendirilmesi danışman tarafından yapılır. Ödül ve ceza ile ağ ağırlıkları güncellenir. ÖĞRENME ALGORİTMALARI  Geri Yayılım Algoritması  Esnek Yayılım Algoritması  Delta Bar Delta Algoritması  Geliştirilmiş Delta Bar Delta Algoritması  Hızlı Yayılım Algoritması  Levenberg-Marquardt Metodu  Eşleştirilmeli Eğim Algoritması Yapay sinir ağlarının istatistiksel alanlardaki uygulamalarında genellikle SOM(Self- Organizing Maps) ve geri yayılım öğrenme algoritmalarının kullanılır.
  • 5. SOM(SELF ORGANIZING MAPS) 1982 yılında Teuvo Kohonen tarafından geliştirilmiştir. İlişkisel bellek temelini kullanan ve denetimsiz öğrenen bir YSA modelidir. İlişkisel bellek, iki nesne arasındaki bağın kuvvetliliği ölçüsünde ilişkilendirdiğimiz öğrenme biçimi anlamına gelmektedir. Martinetz, Berkovich ve Schulten 1993’te SOM algoritmasına alternatif olarak Neural-Gas algoritmasını öne sürmüşlerdir. Neural-Gas aloritması, SOM algoritması ile K-ortalama metodunu birlikte kullanır. SOM veri setindeki elemanları hem kümelendirir hem de haritalandırır. Bu sebeple, bu ağlar son yıllarda oldukça popüler olmuştur. SOM ağları tek katmanlı bir ağdır. Bu ağın eğitiminde kullanılacak veriler bağımlı değişken içermez. Bu sebeple, kümeleme analizi ilgili problemlerin çözümü için idealdir. Ancak, elde edilen sonuçların doğruluğunu denetlemek için konuyla ilgili uzman görüşüne başvurmak gerekebilir. SOM ağları, hem verilerin kümelenmesi hem de görselleştirilmesi açısından tercih edilmektedir. Bu ağlar çok boyutlu bir veriyi iki boyutlu bir haritaya indirgemektedir. Her bir küme için oluşturulan referans vektörleri bir araya geldiğinde bir haritayı meydana getirmektedir. SOM un LVQ dan en önemli farkı, LVQ nun denetimli olması ve topolojik komşuluk içermemesidir. SOM ağları, tek katmanlı bir ağ olup giriş ve çıkış nöronlarından oluşur. Giriş nöronlarının sayısını veri setindeki değişken sayısı belirler. Çıkış nöronlarının her biri bir kümeyi temsil eder. Diğer yapay sinir ağlarından farklı olarak, çıkış katmanındaki nöronların dizilimi çok önemlidir. Bu dizilim doğrusal, dikdörtgensel, altıgen veya küp şeklinde olabilir. En çok dikdörtgensel ve altıgen şeklindeki dizilimler tercih edilmektedir. Pratikte, çoğu kez dikdörtgensel dizilim karesel dizilim olarak uygulanır. Buradaki dizilim topolojik komşuluk açısından önemlidir. Aslında, çıkış nöronları arasında doğrudan bir bağlantı yoktur. Giriş nöronları ile her bir çıkış nöronu arasındaki bağlantıyı referans vektörleri gösterir. Bu vektörler bir katsayılar matrisinin sütunları olarak da düşünülebilir. SOM sinir ağları eğitilirken bu topolojik komşuluk referans vektörlerinin yenilenmesinde kullanılır.
  • 6. SOM AĞININ YAPISI SOM ağlarının çeşitleri;  Kohonen  Kangas  Laaksonen SOM UN BİLEŞENLERİ 1. İlklendirme: Bağlantı ağırlıklarının tümü rastgele olarak küçük sayılarla ilklendirilirler. 2. Rekabet: Hücreler her girdi için bir fonksiyon aracılığı ile yarışırlar. Burada kullanılan fonksiyon; Dj(x) = ∑ (xi-wji)2 Fonsiyondan elde edilen değere bakılarak, hangi sinir hücresinin ağırlık vektörü girdi vektörüne yakın ise o hücre winner olarak belirlenir. Sinir hücrelerinin rekabeti sayesinde, girdi uzayı ve kesikli çıktı uzayı eşleşmiş olur. 3. İşbirliği: Uyarılacak hücrelerin topolojik komşuluğunun konumu belirlenerek hücreler arası işbirliği yapılır.
  • 7. 4. Uyum: Fonksiyondan elde edilen değer azaltılarak bağlantı ağırlıklarının azaltılması işlemi uygulanır. Kazanan hücre ile birlikte komşuları da girdi vektörüne yaklaştırılarak ağırlıklar düzenlenir. Böylece topolojik düzen sağlanmış olur. SOM ALGORİTMASININ ÇALIŞMASI SOM Modelinde Kümelemeyi Etkileyen Faktörler Başarılı bir kümeleme çalışması gerçekleştirebilmek için bazı faktörlere dikkat etmek gerekir. Çoğu kez deneme yanılma yoluyla bu faktörler için en iyi değerler bulunur. Giriş vektörüyle referans vektörleri arasındaki fark hata olarak kabul edilirse, en küçük mutlak hata ortalamasına sahip model en iyidir denilebilir. Bu faktörler şunlardır: 1) Çıkış katmanındaki nöron sayısı: Çıkış katmanındaki nöron sayısı, elde edilebilecek maksimum küme sayısını belirtir. Genellikle, veri setindeki eleman sayısının %10’u civarında çıkış nöronu tercih edilir. 2) Verilerin normalleştirilmesi: Veri setindeki değişken değerleri arasında büyük farklar varsa değerler normalleştirilmelidir. Böylece, tüm değişkenlere eşit şans verilmiş olur. Sütun bazında yapılan normalleştirme üç şekilde yapılabilir:
  • 8. a) Her bir sütundaki değerler sütun standart sapmasına bölünür. b) Her bir sütundaki değerlerden sütun ortalaması çıkartılıp çıkan sonuç sütun standart sapmasına bölünür. Böylece, ortalaması 0 standart sapması 1 olan standart dağılım elde edilir. c) Her bir sütundaki değer, sütun vektör uzunluğuna bölünür. 3) Referans vektörlerine ilk değer atanması: Referans vektörlerine ilk değer atanması, SOM modelinde çok kritik bir yere sahiptir. Bu ilk değerler atanırken veri setindeki giriş vektör değerleri göz önünde bulundurulmalıdır. Pratikte, referans vektörlerine rasgele değerler atamak bazen sakıncalı olabilir. Tüm vektörlere 0’dan çok az büyük bir değer atanırsa öğrenme katsayısı 1’e yakın bir değerle başlatılmalı ve belli bir döngü boyunca (1000 döngü gibi) azaltılmamalıdır. Ayrıca, komşuluk değişkeni büyük bir değerle başlatılmalı ve öğrenme katsayısının değişmediği periyotta sabit kalmalıdır. Böylece, referans vektörleri giriş vektörlerine uygun bir forma kavuşurlar. Referans vektörlerine, giriş vektörlerinin dağılımına uygun bir ilk atama yapıldığında öğrenme katsayısı ve komşuluk değişkeni daha küçük bir değerle başlatılabilir. Bu da algoritmanın öğrenme hızını artırır. 4) Uzaklık ölçüsü: SOM algoritmasında giriş vektörleriyle referans vektörleri arasındaki uzaklık, öklid uzaklığının karesi ile ifade edilmektedir. Ancak, öklid uzaklığı yerine başka uzaklık ölçüleri de kullanılabilir: Minkowski ölçüsü, city-block uzaklığı gibi. Bazı çalışmalarda uzaklık ölçüsü yerine vektör çarpımı kullanılmıştır. Vektör çarpımı kullanıldığında, en büyük çarpım değerine sahip olan nöron, kazanan nörondur. Bununla ilgili SOM algoritmasında değişiklik yapmak gerekir. 5) Öğrenme katsayısı ve Komşuluk değişkeni: Öğrenme katsayısı 0 ile 1 arasında bir değerle başlamalı ve döngü arttıkça 0’a yaklaşmalıdır. Komşuluk değişkeni, çıkış katmanındaki dizilime uygun büyük bir değerle başlamalı ve döngü ilerledikçe azaltılmalıdır.
  • 9. SOM AĞININ KULLANIM ALANLARI 1. Verilerin kümelenmesi ve görselleştirilmesi açısından önemlidir. 2. Çok boyutlu veriler iki boyutlu haritaya indirgenir. 3. Görüntüleme alanında kullanılmaktadırlar. Başlıca kullanım alanları;  SınıflandırmaProblemleri(örnek:http://www.cis.hut.fi/research/somresearch/worl dmap.html)  Görüntü Tanıma  Örüntü Tanıma  Ses Tanıma(örnek:http://research.ics.aalto.fi/ica/cocktail/cocktail_en.cgi)  Veri Sıkıştırma  Çevre Modellemesi PROJE AŞAMALARI Projeye ilk etapta 500 tane film verisinin yıl bilgisine, puan bilgisine, yönetmen bilgisine, başrol oyuncusunu kadın erkek olma özelliklerine göre som algoritması kullanarak ağ eğitimine başladık. Ağ eğitimi sonucunda film türlerine göre kümeleme yapmasını amaçladık. Ve film türleri çıktılarının doğru oranda kümelenmesini amaçladık. Fakat proje kapsamında bazı zorluklarla karşılaşıldı bunlardan en önemlisi veri kümesini doğru verilerden seçmekti. Film verilerini ilk etapta doğru seçmediğimizden dolayı 1 haftalık eğitim sonuç vermedi danışman hocamızın desteğiyle veri kümesini nasıl oluşturacağımız konusunda daha net bilgiye ulaştık ve veri kümemizi 1040 film verisinden oluşturduk. Bu veri kümesinde 7 farklı film türüne yer verdik ve ağımızı som algoritmasıyla eğitmeye başladık.
  • 10. Ağımızın eğitiminde 4 özellik yani (ülke , renk bilgisi,yönetmen ve tarih bilgisi) ile ağın eğitimini gerçekleştirdik ve amacımız test verilerinden doğru kümeleme elde etmek ve bunu som algoritmasıyla gerçekleştirmek. Yapılan çalışmalar; Som algoritmasında ağ eğitimi için 4 topoloji bulunmaktadır ; Hextop, Gridtop, Randtop, Tritop topolojileridir. Biz projemizde ağ eğitiminde başarı doğru oranının daha iyi bir sonuç vermesi için sık sık denemelerimizde bu topolojileri kullanarak her eğitim sonuçlara bu topolojilerin nasıl etki ettiğini gözlemledik ve bunları raporumuzda sunmaya çalıştık ayrıca ağ eğitiminde sadece topolojileri değiştirmekte kimi zaman sonuç vermedi bunun içinde sık sık test verilerimizi ve ağ eğitimi için farklı değerler kullanarak daha iyi sonuca ulaşmak için denemelerde bulunduk. 1) Xls dosyamızdan 2 ile 1040 arasındaki verileri ağın eğitimi için kullandık ve hextop topolojisini kullandığımızda daha iyi kümele yaptı ve burada ağ eğitimi için selforgmap ağ eğitim fonksiyonu kullandık. 2) Xls dosyası içerisindeki verilerden 2-40 verilerini test verisi ve 41-1040 arası verilerimizi de ağ eğitimi için kullandık selforgmap ağ eğitim fonksiyonunda 1x10 grid topolojisi ile 1. Sonucumuza göre kümeleme daha başarılı bir sonuç elde ettik. Aşağıdaki adımlarda 4 özellik alınarak yapılan eğitim sonucunda elde edilen sonuçlar; 3) 1x2 lük hextop topolojisi kullanarak kümeleme başarımız önceki sonucumuza oranla düştü. 4) 1x3 lük hextop topolojisi için kümeleme başarısı bir öncekine göre daha başarılı 5) 1x4 lük hextop topolojisi için kümeleme başarısı 4. değere göre daha iyi kümeledi ve renk tonları daha iyi sonuca yansıdı 6) 3x4 lük hextop topolojisi ile kümele önceki sonuclara göre daha kötü sonuc verdi 7) 3x4 lük grid topolojisi ile kümeleme hextop topolojine göre daha kötü kümeleme sonucu vermiştir. Ağ eğitimi için özellik sayısını 5 e çıkardığımızda ve 1x4 lük hextop topolojisini kullandığımızda elde ettiğimiz başarı oranı kümeleme belirgin olarak daha iyi sonuç verdiği gözlemlenmiştir.özellik sayısı 5 ve 1x15 lik hextop topolojisi ile kümeleme 1x4 topolojiye göre daha kötü kümeleme yaptığı görülmüştür.
  • 11. 8) 100-1000 arasındaki verileri eğitim için kullandık ve 1020 ile 1040 arasındaki verileri de test verileri olarak aldıgımızda ve 1x7 lik hextop topolojini kullanarak kümeleme daha başarılı oldu 1x15 lik hextop topolojisine göre. Bu sonuçlar göstermiştir ki; som algoritmasıyla sınıflandırma işleminde elde edilen neticelere göre kümeleme işleminde hextop topolojisi diğer topolojilere göre daha iyi sonuçlar vermektedir ve ayrıca kümeleme işleminde eğitim aşamasında verilerin seçimi önemli bir konudur ve tüm ağı etkilemektedir. Türü siyah-beyaz (bw) olan filmlerin gruplamasını yaptık ilk 120 veri için 1x5 lik hextop topolojisi kullanarak elde edilen sonuçlar
  • 12. Türü siyah-beyaz (bw) ve renkli türdeki veriler olan filmlerin gruplamasını yaptık ilk 1000 veri için 1x5 lik hextop topolojisi kullandık ve 1000-1025 arsındaki verileri de test verisi olarak kullandık ve aşağıdaki sonuçları elde ettik Şekil-1 deki resimde siyah-beyaz türünde girilen drama verilerinde input2 için siyah verilerin daha yoğun olduğu görülmekte bu veri kümesini genişletip ve ayrıca renkli film tür bilgisine göre de gruplama yaptığımızda şekil-2 de karşılaştığımız sonuç siyah bölgenin azaldığını göstermektedir.
  • 13. Amerika’da çekilmiş filmlerin yıllara göre dağılımı üzerine bir kümeleme işlemi yapıcaz. Fransa’da çekilmiş filmlerin yıllara göre dağılımı üzerine bir kümeleme işlemi yapıcaz. Buradaki kümelemede 1930 dan önce fransada çekilen filmler amerika’da çekilen filmlerden daha az olduğu görülmektedir.Burda filmlerin yıl ağırlıkları baz alarak kümeleme yapılmıştır.
  • 14. Amerika’ da çekilen filmlerin yıllara göre kümeleme işlemi Fransa’ da çekilen filmlerin yıllara göre kümeleme işlemi Sonuç olarak grafiğe bakarak amerika’da ve Fransa arasındaki filmlerin kümelenmesini görüyoruz.
  • 15. Girilen tüm verilerin yıl türüne göre filmlerin kümelenmesi Girilen tüm verilerin yıl türüne göre filmlerin kümelenmesi
  • 16. %som algoritmasıyla film analizi kod clear all clc %excel dosyasındaki verilerin okunması %içerik değerleri num, her bir hücre %değeri txt ve her ikisinin birleşimi %raw değişkeninde tutulmaktadır. [num,txt,raw] = xlsread('ersinvahap.xls'); %Verilerin rastgele karıştırılması %için kullanılan özellik i = randi(size(num,1),size(num,1),1); %cell formatındaki değişkenin %double türe dönüştürülmesi %Giriş ve çıkışların oluşturulması Target = num(i,1); % birinci sütun hedef Feature = num(i,2:5); % ikinci ve besinci sütunlar özellik yani inputlar %giriş ve çıkış eğitim ve test vektörlerinin oluşturulması traininput = Feature(100:1000,:)'; targetinput = Target(100:1000,:)';
  • 17. testinput = Feature(1020:1040,:)'; testoutput = Target(1020:1040,:)'; sayac=1; %Ağın oluşturulmasu for v=1:3; for e=1:3; pos = randtop(v,e); net = selforgmap([v e],'topologyFcn','hextop'); %net = newsom(traininput,[v e],'randtop'); %[net,tr] = train(net,traininput); plotsomplanes(net) % grafikte ağın eğitiliş eğrisi gösterimi %plotsomtop(net); % grafikte ağın eğitiliş eğrisi gösterimi sayi=int2str(sayac); mat='.mat'; savefile=strcat(sayi,mat); save(savefile, 'net') %load('71.mat','net') %Ağın test verilerine göre çıkış üretmesi %out = vec2ind(net(traininput));
  • 18. %Test giriş değerlerine göre eğitilen ağdan elde edilen çıkış değerlerinin %karşılaştırılması %sonuc = out - targetinput; %Doğru bulunanların toplam değeri %dogru = 0; %for k =1:size(sonuc,2) % if(sonuc(k) == 0)% eğer sonuc sıfır cıkarsa dogru sonuc % dogru = dogru + 1; % end %end %Doğru ve yanlış olanların yüzdesel değerleri %basaridogru(v,e) = dogru*100 / size(sonuc,2); %basariyanlis(v,e) = (size(sonuc,2)-dogru)*100 / size(sonuc,2); sayac=sayac+1; end end
  • 19. aşağıdaki bilgiler excel’e girmiş olduğumuz bilgilerin sayısallaştırılması sıra yönetmen 1 aldrich robert 2 bergman ingmer 3 allen woody 4 godard jean luc 5 steven spielberg 6 lang fritz 7 lubitsh ernst 8 lumet sidney 9 minnelli vicente 10 ozu yasujiro 11 preminger otto 12 ray nicholas 13 ray satyajit 14 renoir jean 15 resnais alain 16 rivette socques 17 rahmer eric 18 rossellini roberto 19 russel ken 20 scorsese martin 21 sidney george 22 siodmak robert 23 sokurov aleksandr 24 steven spielberg 25 stone oliver 26 tavernier bertnard 27 tourneur jacques 28 trauffaut françois 29 tsui hark 30 vidor king 31 visconti luchino 32 von stenberg 33 wajda andrzej 34 walsh raoul 35 warhol andy 36 weir peter 37 wellman william 38 wenders wim 39 wilder billy 40 wise robert 41 wiseman frederick 42 wyler william 43 zemeckis robert
  • 20. 44 zinneman fred 45 almador pedro 46 altman robert 47 antonioni michelangelo 48 boorman john 49 borzage frank 50 brokhage stan 51 bresson robert 52 bunuel luis 53 copra frank 54 chabrol claude 55 chaplin charles 56 clair rene 57 coppola francis 58 corman rager 59 cronenberg david 60 cukor george 61 curtiz michael ülke tür renklilik 1 1 war 1 bw 2 us 2 adventure 2 col 3 france 3 comedy 3 bw-col 4 canada 4 crime 4 5 germany 5 drama 6 ıtaly 6 thriller 7 7 romance 8 uk 9 denmark 10 honkong 11 australia 12 belgiue 13 chile 14 india 15 ireland 16 japan 17 mexico 18 netherland 19 poland 20 russia 21 spain 22 sweden 23 switzerland 24 turkey 25 ussr