Eveet Nihayet serimizin sonuna ermiş bulunuyoruz. YSA uygulaması kısmında yine söz bize kaldı...
Tuhaf tuhaf sembollerle dolu tuhaf formüller,bir o kadar acayip grafiklerden sonra elimiz de kalan nedir diye bakıyoruz.
Başlangıçta
Kaliteli bir sesin 20 ms kısmındaki örnek sayısıŞeklindeki veriyi her pencere için 36 adet veriye düşürdük, İlaveten Sözcüğün uzunluğuna söylenişinin hızına göre değişik sayıda penceremiz var.
yaklaşık 20 * 10^-3 * 44100 = 882.
Değişken sayıdaki veri; YSA ve pekçok Yapay öğrenme metodu için uygun değil. keza minimum 200 pencereden(200x36) gibi pek de pratik olmayan veri ortaya çıkıyor.
YSA yı uygulayabilmemiz için iki şey yapmamız lazım
- Sabit bir uzunluğa çevirmek
- Pratikte kullanılabilir bir sayıya düşürmek
Bir önceki yazıda grafik olarak gördüğünüz, metod şuydu
En basit uygulamada; Tüm veriler kendi içlerinde, 0. bileşenlerinÇok pratik ve yeterince küçük.Fakat o kadar uğraşarak damıttığımız özniteliklerin heba olmasına sebep oluyor. Bir birinden çok farklı sözcükler için çalışsada nispeten yakın sözcüklerde muhtemelen işimiz görmeyecektir.
ortalaması, 1.bileşenlerin ortalaması……n.bileşenlerin ortalaması gibi 36
adet sözcüğü ifade eden rakama düşürülüyor.
Biraz daha geliştirsek mesela ortalamaya ek olarak minimum, maksimum, standart sapma değerleride ( 4x36 ) şeklinde ifade edebiliriz.
Bizim tercih ettiğimiz yaklaşım biraz daha gelişkin ;
Elimizdeki bütün verileri kullanarak herbir seviye için
histogramlar hesaplamak.
Histogram değerlerini 10 seviyede hesaplarsak. 10 x 36 = 360 adet katsayı
ile bütün bir sözcüğü ifade edebiliyoruz.
yeterince makul ve sabit uzunlukta
Gelelim YSA uygulamamıza;
Küçük bir veri seti hazırlandı 6 değişik kelime 10 kez seslendirildi.
60 veriden oluşan bu setin 48 tanesini eğitim 12 tanesini test için kullandık.
Giriş : 360şeklinde bir YSA tasarlandı ve FannTool ile eğitildi, Ulaştığımız sonuçlar
Çıkış : 6
Eğitim Verisi : %100Sonuçda çok güzel bir çalışma ortaya çıkarmışlar, İnşallah devamını getirip projeyi ticari bir hale getirirler.
Test Verisi : % 91
Emeği geçenlere, bizle de paylaştıkları için teşekkür ediyoruz. Daha Nice okuyucu yazılarına diyoruz...
Not:
- Bütün Çalışma C# ile yazıldı,Dil fanatiği değilim ama hem lehinde hem aleyhinde olanlar var. Sadece sürükle bırak tarzı uygulama yapanlar ve sadece öyle olduğunu zannettiklerinden eleştirenler, C# ile böyle uygulamada yazılabiyor bilmem size bir şey ifade ediyormu ?
- Stajı angarya olarak gören Öğrenciler, bakınız stajda neler yapılabiliyor...
- Stajeri angarya işe koşturulacak sebil zanneden firmalar, bakınız doğru yönlendirmeyle neler yapabiliyorlarmış...
5 yorum:
Merhaba,
Öncelikle yazınız için teşekkürler.Şu an bende ses tanımayla uğraşıyorum ve ysa ile yapacağım. Ancak bahsettiğiniz gibi ysa giriş sayısının sabit olması gerekiyor.Bunu nasıl gerçekleştirdiğinizi detaylı anlatabilirmisiniz?
İyi çalışmalar.
Yazıda geçiyor histogram ile yapıyorum
Histogram ile ama nasıl , histogramla yaptıünızı zaten gördüğümüz için onun açıklamasını soruyoruza
Histogramla ama nasıl , matematiksel izahı ne , Zaten yazıda histogasm ile yazdıüınızı gördüğümüzden soruyoruz
sonuçda çıkarılan özniteliklerde bir çeşit zaman serisi uzunluğuda sabit değil
bu serinin histogramını alıyoruz
yani serideki değerlerin dağılımı
farklı seslerdekiyle daha fazla farklı varsayımıyla
elbette başka sistemlerde düşünülebilir benimkisi biraz sade...
Yorum Gönder