Verimizin kaynağı yine Kaggle
https://www.kaggle.com/kinguistics/heartbeat-sounds
Biz kaggle dan ulaşmış olsakda asıl verinin kaynağı 2011 tarihli bir yarışmadan geliyorumuş
http://www.peterjbentley.com/heartchallenge/index.htmlİki ayrı şekilde kaydedilmiş ses dosyaları var
ilki "iStethoscope Pro" isimli bir iphone uygulaması kullanılarak kaydedilmiş sesler
Kalanlar "DigiScope" marka bir dijital steteskop ile alınmış
Ses dosyalarının uzunlukları farklı tahmin edeceğiniz gibi ses dosyalarının çoğuda Normal seslerden oluşuyor.
Önce ses dosyalarımızı test ve eğitim olarak iki guruba ayırıyoruz.
Eğitim %80
Test %20
Bu ayrımdan sonra ses dosyalarımızı 0.5 saniyelik kaydırmayla 2 saniyelik kısımlara bölüyoruz. ve giriş verisi olarak bunu kullanıyoruz.Yani giriş verimiz 2 saniyelik ses sinyali. Elimizdeki ses dosyalarına göre konuşursak ( sample rate 22050 ) 44100 lük vektörü giriş olarak kullanıyoruz.
Veri dosyalarımızı oluşturduktan sonra tek boyutlu evrişim katmanları kullanan bir ağ tasarladık ve bir sınıflandırıcı eğittik.
- Opimizasyon metodu : Adam
- Toplam parametre sayısı : 1,366,865
- Eğitim Epoch sayısı : 29 - earlystop ile -
Modelin başarısı eğitim için kullandığımız datalarla %95 in üzerinde
Eğitim için kullanmadığımız datalarla yaptığımız test ve sonuçlarıda şöyle gösterelim
ortalama %73 -75 arası bir başarı görünüyor.
Başarının düşük olması ve artımamız gerektiği bir gerçek elbette. Ama sadece ham ses sinyali vererek. Bir dönüşüm -fft mel vs gibi - yapmadan bir sınıflandırıcı eğitilebilmeside zannımca çok önemli bir özellik.
Fırsat bulabilirde bu çalışmaya tekrar dönebilirmiyiz bilemiyorum ama. Bu çalışmaya devam isteyenlere ilk önce ses sinyalinde kalp atış kısımlarının ayrıştırılması sonrasında bu çalışmanın yapılmasının başarıyı oldukça yükselteceğini düşünüyoruz.
Her türlü görüş ve önerilerinizi bekleriz.