Evet Yeni bir zihin egzersizi ile yine karşınızdayız.
Geçenlerde arabamızla yolda kaldık epey yüklü bir miktar tamir ücreti vermek zorunda kaldık. Tamir için gittiğimiz usta Motorun sesinde değişiklik olacağından ve farkına varabilseymişim yolda kalmadan tamiratı daha ucuza getirebileceğimizden bahsetti. Malesef bende bu farkı anlayabilecek tecrübe yok. Bu yazımızın konusuda burdan çıkıyor. Gerçekten konusunda tecrübeli ustalar motorun sesindeki değişikliklerden muhtemel arıza belirtilerini hissedebiliyorlarsa, Niçin benzeri bir arıza tespit sistemi yapılmasın ?
İlk aşamada bize ses verileri ve arıza sonuçları lazım. Motorun değişik devir değerlerinde standart şekilde seslerinin alınabileceği bir ekipman da yapmak gerekiyor. Böyle bir sistemin bir başka avantajıda günümüz arabalarının hepsinde artık bulununan Motor Kontrol Ünitesinden de ekstra veriler alabilecek ve arıza tanısını nispeten kolaylaştırabilecektir. Konuyu dağıtmamak için Motor Kontrol Ünitesi ingilizce adıyla "Engine control unit" yada kısaca ECU hakkında bir iki link verip geçeceğiz.
İkinci aşamada ses verisinden arıza ip uçlarını çıkarabilmek. Ses verisi sürekli bir veri tipi. Örnekleme frekansına ve süresine göre değişik sayıda veriden oluşur. Öznitelik çıkarma işlemi olmaksızın pek işimize yaramaz. "YSA ile Ses Tanıma" yazılarında bir parça bahsediliyor. Şöyle düşünelim arkadışımız ile telefonda görüşüyoruz. Sonra bir başkasına aktarırken "Filanca arkadaşla telefonda şu konuda konuştum sesi iyi gelmiyordu biraz rahatsızmış" diye biliyoruz demekki Telefondan bize ulaşan ses verisinden biz
- Ne konuşuldu
- Konuşan Kim
- Konuşanın durumunu
bilgilerini çıkarabiliyoruz. İşte bizim Motorlardan aldığımız ses verilerinden de arıza ile ilgili olan kısmı çıkarabilmemiz lazım.
Öznitelik Çıkarma litaratürdeki ismiyle Feature Extaction, bir çeşit boyut küçültme işlemidir. Bu dönüşümle bizim hedeflediğimiz bilgiyi daha rahat çıkarmamızı sağlamalıdır. Pek çok değişik öznitelik çıkarma şekli vardır kimisi hedeflediğimiz bilgiyi yeterince ayrıştırmamıza yardımcı olabilirken, kimisi ters etkiyede sebep olabilir.
Yukardaki grafiğe bir bakın x1 ve x2 niteliklerinden oluşan noktalar ve etiket değerleri var. biz grafikden de anlaşılabileceği gibi C3 sınıfını diğerlerinden sadece X1 değerlerine göre çıkarabiliriz. Ama böyle bir dönüşüm C1 ve C2 sınıflarını birbirinden ayrılamaz hale getirir.
Kısacası Öznitelik çıkarmak kadar Öznitelik seçmekde -Feature selection - zor ve yapılacak uygulamalarla tespit edilebilecek bir sonuç.
Ses gibi süreklilik arzeden ve zaman serisi tipi veriler için genellikle kullanılan Öznitelik çıkarma metodlarından bir kaçından bahsetmek istiyorum.
1 ) Hızlı Fourier dönüşümü (Fast Fourier Transform-FFT) ;
kabaca sinyali freknslarına ayrıştırır. En bilinen ve yaygın kullanılan bir metoddur.
2) Dalgacık Dönüşümü orjinal adıyla Wavelet Transform ; Sinaylin frekansında Zaman içinde önemli değişmeler oluyorsa FFT işinizi görmeyecektir.
Dalgacık dönüşümü bu işler içinde kullanılabilir. Oldukça populer ve çok değişik alanlarda kullanılan bir sistemdir. İşin detayını bu tutorial ' a devredip devam ediyoruz.
3) TESPAR ; Time Encoded Signal Processing And Recognition ; Pek bilinen bir metod değil ama bana güçlü bir sistem gibi geldi. Profösör R. King tarafından geliştirilmiştir. Sistemde Dalga formu özel bir tabloya göre kodlanıp
elde edilen yeni serinin 2 ( S-Matrix ) ve 3 boyutlu ( A- Matrix ) histogramları üzerinden çalışılıyor
"Metercheck water meter Quality Control tool " incelemenizi tavsiye ederim. cihaz su sayaçlarının kontrolünü ses ile yapıyor.
Yeterince veri topladıktan ve uygun bir öznitelik çıkarma işleminden sonra Son aşama olarak Yapay Sinir Ağları yada benzeri Yapay Öğrenme algoritmaları ile sistemimizi eğitiyoruz.
Not : Bir zihin egzersizinin daha sonuna geldik faydalı olabiliyormu bilmiyorum. Zihin egzersizleri serisinin sürüp sürmeyeceği sizin tepkilerinize bağlı. Her türlü olumlu olumsuz görüşlerinizi bekleriz.
2 yorum:
Harika bir yazi olmus. Tesekkurler.
çok güzel bir fikir
teşekkürler
Yorum Gönder