elektrik port üyelik servisleri elektrik port üyelik servisleri

Yapay Sinir Ağları ile Maç Sonucu Tahmini |
1. Bölüm

Yapay sinir ağlarının uygulama alanlarının sınırsız olduğunu söylesek pek yanılmayız. Peki iyi eğitilmiş bir ağ ile futbol maç sonuçlarını tahmin etmek mümkün müdür ? Sizlerde bu sorunun cevabını merak ediyorsanız ayrıntılar yazı dizimizde...



A- A+
19.02.2015 tarihli yazı 8535 kez okunmuştur.
Son yıllarda, yapay sinir ağları pek çok alanda uygulanan ve gelişime açık bir uygulamadır. Yapay sinir ağ teknikleri karmaşık ve doğrusal olmayan modellerde etkilidir. Karmaşık ve doğrusal olmayan bu modellerde uygun veri seti kullanılarak bir çok konu da tahmin yürütme işlemi yapılmaktadır. Meteorolojide  günlük, aylık hatta yıllık hava durumu tahmini, sanayi de ürün talep ve satış tahmini, sigortacılık alanında kaza risk tahmini ve bunun gibi onlarca doğrusal olmayan tahminler yapay sinir ağları ile yapılabilmektedir.

Biz de uygulamamızda futbol maç sonuçlarını tahmin etmeye çalışacağız. Bunun için normalize edilmiş bir veri setine ve ağın eğitilebileceği bir simulasyon ortamına ihtiyacımız var. Simulasyon ortamı olarak MATLAB'in nntool  toolbox'ını kullanacağız. Peki veri setini nasıl oluşturacağız ?

 

Veri Seti Oluşturma


Veri seti oluşturmak yapay sinir ağlarının en önemli noktasıdır. Eğer çıktınıza etki eden uygun değişkenleri belirleyip, yeterli sayıda olay ile bir veri seti oluşturabilirseniz işlemin büyük bir kısmı hallolmuş demektir. Bizim uygulamamızda veri setimizin olayları daha önce oynanmış futbol maçları olacak çıktımız ise bu maçların sonuçları. Peki maç sonuçlarına etki eden değişkenler neler olmalı? İki takımın aralarında oynanan son 5 maç, ev sahibi takımın iç saha performansı, deplasman takımının dış saha performansı, takımların ligdeki konumları, sakat veya eksik oyuncuları, takımların psikolojik ve fiziksel durumları gibi onlarca farklı değişken tanımlanabilir. Ne kadar çok değişken ve olay ile ağımızı eğitirsek o kadar başarılı sonuçlar alacağımızı unutmayalım. Bu uygulamada basit olarak maçların bahis oranları, takımların iç saha ve dış saha performansları ile genel performansları değişkenler olarak kullanılmıştır. Veri seti exel ortamında oluşturulmuştur. 
 


Şekil 1: Veri Seti Değişkenleri

İlginizi Çekebilir:  Matlab ile Ses Bölütleme
 

Şekil 1'de uygulamamızda kullanılan değişkenler görülmektedir. Uygulamamızda 15 farklı değişken için bir olay incelenmiştir ve sonuç olarak maçın sonucu 1,0 veya 2 olarak atanmıştır. Minumum her değişken için 10 farklı olay olacak şekilde bir veri seti oluşturulmalıdır. Yani uygulamamızda minimum 150 farklı maç için analiz yapılması gerekmektedir. 150 olayın %80 i eğitim %20 si de test için kullanılmalıdır.

Normalizasyon İşlemi Neden ve Nasıl Yapılmalı?


Yapay sinir ağlarında, ağ giriş ve çıkışlarına belirli ön işlem adımları uygulayarak yapay sinir ağına sunulan verilerin eğitimi daha verimli hale getirilebilir. Normalizasyon da bu ön işlemlerden en önemlisidir. Normalize edilmeyen veri seti ile bir ağı eğitmek hem ağın eğitim süresini uzatacak hemde ağın verimini düşürecektir.
 
Normalleştirme işlemlerinde farklı teknikler kullanılabilir. Literatürde birçok veri normalizasyon çeşidi vardır. Bunlar; Min kuralı, Max kuralı, Medyan, Sigmoid ve Z-Score gibi kurallar olarak sıralanabilir. Uygulamamızda min_max normalizasyon metonu uygulanmış ve veri seti değerleri 0 ile 1 arasında normalize edilmiştir. Normalizasyon formülü ;

Normalize değer= (0.8 x (Girdi değeri - Girdinin min değeri)/ (Girdinin max değeri - Girdinin min değeri))+0,1

 


Şekil 2: Normalize Edilmiş Veri Seti

İlginizi Çekebilir: Yapay Sinir Ağları| Avanataj ve Dezavantajları

 
Normalizasyon işlemi yapılmış veri seti değerleri şekil2 de görüldüğü üzere 0 ila 1 arasına indirgenmiştir. Bu işlem yapılırken exel'in fonksiyon hesaplama işlemi kullanılmıştır. Exel'in bu özelliği bizlere sadece formülü yazıp her sütunun değerinin tek seferde hesaplanmasını sağlayacaktır.
 
 

Şekil 3 : Normalizasyon fonksiyonunun exele uygulanması

►İlginizi Çekebilir: Yapay Sinir Ağları

 
Şekil 3'de görüldüğü gibi excel'in fonksiyon satırına normalizasyon fonksiyonumuzu uygun bir şekilde giriyoruz. Burada B5 değeri ham veri setindeki değeri işaret etmektedir. Fonksiyon ilk yazıldığında sadece U5 satırı için hesaplanacaktır. Daha sonra U5 değerine tıklayıp çıkan siyah çerçevenin sağ al köşesinden tutup veri setimizin olay sayısı kadar satır aşağıya sürükleyip bıraktığımızda her satıra fonksiyon ayrı ayrı uygulanacaktır.

Bu yazımızda veri setimizin nasıl oluşturulacağını ve normalizasyon işleminin nasıl  yapılacağından bahsettik. Bir sonraki yazımızda matlabın nntool'unu kullanarak ağımızı nasıl eğitebileceğimizi anlatacağız. Uygulamamızın sonunda sizlerde kendi veri setinizle kendi ağınızı oluşturup, uygulamalarınızda kullanabileceksiniz.

 

 
Osman AYMAZ Osman AYMAZ Yazar Hakkında Tüm yazıları Mesaj gönder Yazdır



ANKET
Endüstri 4.0 için En Hazır Sektör Hangisidir

Sonuçlar