Cumartesi, Haziran 30, 2018

EKG Kalp Atışı Sınıflandırması 1

Giriş :


Malumunuz Kalp en hayati organlarımızdan biri.  Ölüm sebeplerinin başlıcalarından biride kalp krizi. EKG de kalbin gidişatını doktorlara gösteren temel bir test. Hatta kardiyolojiye gidip selam verseniz. EKG çektir derler. Konuyu dağıtmadan, teferruatlı bilgi için konunun uzmanlarına ulaşın. deyip geçelim.

Bizim konuyla ilgimiz, EKG verileri ile sınıflandırma çalışması yapılması konusunda. Çok popüler bir test ve önemli olması sebebiyle, internette pek çok veriye ulaşmanız mümkün. Biz burdaki çalışmamızda, Kaggle da Shayan Fazeli tarafından yayınlanmış olan "HeartBeat" veri kümesini kullanacağız.

Bu veri kümesi;
"ECG Heartbeat Classification: A Deep Transferable Representation"
Mohammad Kachuee, Shayan Fazeli, Majid Sarrafzadeh
University of California, Los Angeles (UCLA)
Los Angeles, USA
arXiv preprint arXiv:1805.00794 (2018)

çalışmada kullanılmıştır.
Normalde Bir EKG test sonucu

şeklinde görnür.  Bu makalede Bu tip EKG ölçümü alınıp, Temizlenip, kalp atımlarına ayrılıp standartlaştırılmıştır.

 
Bölünmüş ve normalize edilmiş kalp atım siyaline gerekiyorsa sonuna sıfırlar doldurularak - padding- stanart bir uzuluğa - 187 - getirilmiştir.
Bu kalp atım siyalinin etiket değeri olarak 5 seçenek var
['N', 'S', 'V', 'F', 'Q']

yukarda bahsettiğimiz makalenin tablo 1 de bu sınıfların açıklaması olarak



yazılmıştır.  Aslında bu verileri  the MIT-BIH Arrhythmia Dataset alıp dönüştürmüşler.  Biz hazır temizlenmiş ve düzenlenmiş olduğu için tercih ettik. Sağlık alanında pek çok değişik veriye bu siteden ulaşabilirsiniz.
https://physionet.org/physiobank/database/
Eğer sağlık alanındaki çalışmalara ilgi duyuyorsanız. Uygulama yapmak istiyor ve veri kümesi arıyorsanız. Yukardaki siteyi inceleminizi tavsiye ederiz.

Verimize geri dönersek, 187 lik bir vectör şeklinde kalp atım sinyalimiz var. Bu sinyalin 5 sınıf içinden hangisine ait olduğunu tahmin edecek bir sistem geliştirmemiz gerekiyor.

Kaggle dan veri dosyasını indirip bir dizine açıyoruz. Veri kümesinde iki farklı veri kümesi var. Biz mitbih ile başlayan 5 sınıflı "MIT-BIH Arrhythmia" isimli veri kümesini  kullanacağız.
"mitbih_train.csv"  : 188 sutunlu son sutun etiket değeri ve 87554  örnek içeriyor
"mitbih_test.csv"  : 188 sutunlu son sutun etiket değeri ve 21892  örnek içeriyor
Elimizdeki veri kümesi üzerinde değişik metodlarla çalışma yapmak istiyoruz. Bu çalışmaları takip eden yazılarımıza bırakıyoruz.
Şimdilik anlatacaklarımız bu kadar. Bayda uzamış, buraya kadar sabırla okuğunuz için teşekkürler . Her türlü görüş ve önerilerinizi bekleriz.

Pazartesi, Haziran 18, 2018

Keloğlanın Optimizasyonla imtihanı

Zeka Hakkında Kıssalı Yazılar - 6 *

 
Evvel zaman içinde kalbur saman içinde. Develer tellal iken, pireler berber iken, ben annemim beşiğini tıngır mıngır sallar iken, bir varmış bir yokmuş.





Diyarın birinde bir garip keloğlan varmış. Sevdiceği Aykız ile mutlu mesut yaşarmış. Mutlu mesut yeknesaklığından sıkılan YZ Cadısı, Aykızın zihnini çalıvermiş. Aykız keloğlanı, tanımaz, bilmez olmuş. Aykızın zihninide "Optimizasyon" namlı diyarda bir kuyuya saklamış. YZ cadısı bütün bütün kötüde değilmiş, sadece macera seyretmek istermiş. Bu yüzden Keloğlana Aykızın zihnini bulabilmesi için çeşitli alet edavat bırakmış.

Keloğlan önce afallamış, bu alet edavatlar nedir, ne işe yarar. Optimizasyon diyarı nerdedir, nasıl gidilir, üzerinde nasıl gezilir ?  Kel kafacığında deli sorular dolanırken, aklına "Tarihteki ilk YZ projesini"  yürüten Nasrettin Hoca gelir. YZ cadısının bıraktıklarını toparlayıp, çalar hocanın kapısını.

Hoca keloğlanın anllattıklarını dinler. Bırakılan alet edavatları inceler. Sonra başlar anlatmaya;

Evlat optimizasyon denen diyar, büyülü bir diyardır. YZ Cadısı Aykızın zihnini billur bir şişede su olarak o diyarda bir kuyuda saklamış. O diyara dünyevi araçlarla uğraşamazsın şu bırakılan sihirli halılardan birini seçmen lazım. Halı seni her halükarda o diyara götürüp bırakır. Bırakacağı yeri sen seçemezsin ama  Halının köşelerinde ecnebi lisanı ile yazılmış ;"glorot , lecun , xavier , gaussian" diye geçen tılsımlar var. Bu tılsımlardan bazısının bazısından daha uygun noktaya inmeni sağlayacağına inanılıyor. Denemeden bilinmez.

İndikten sonra karayolu ile ilerlemen lazım.  Karayolunda seyahat etmek için şu çizmeleri kullanacaksın. Bu çizmeyi giyerek 1 arşından 100 bin arşınlık mesafeye kadar değişen " learning rate " uzaklıklara zıplaya bilirsin. Uzaklık ayarını çizmenin bağcığıyla ayarlıyabiliyorsun.

Son olarak bu çok gözlü heybe var. İçlerinde milyonlarca minyatür kristal kürecikler var. Optimizasyon diyarında sayısız kuyu ve kuyularda sayısız billur şişeler varmış. Doğru kuyu ve elbette doğru billur şişeyi bulabilmek için bu kristal kürecikleri kullanacaksın. Bu kristal kürecikler sana gideceğin yön ve uzaklığa dair bilgicik verir. Her kürecik sana kısmen doğru kısmende yalan söyler. Bu yüzden tek birinin göstergesine güvenemezsin.  Sen bir seferde  aklında tutabileceğin kadar küreyi çıkar sonuçları birleştir ve ortalamasını al ve o yönde hareket et. Her hareketin öncesinde bu işlemi farklı küreciklerle yap. Küreckler bazen yalan söylüyor dedikya. Seni  yanlış bir kuyuyada götürebilirler. Bu yüzden En başta küreckler den bir kısmını - Test Verisi - ayır. ve Hareket için asla kullanma. Kalanların hepsini gurup gurup kullanıp hepsi bitince. Bu ayırdığın küreckiklerle ulaştığın noktanın sonucunu test edebilirsin.

Hocadan gereken taktikleri alan keloğlan, halıya binip çıkmış yola. İlk indiği noktada hedefine hızlıca varacağını umarak çizmesinin hızını en yükseğe çıkarmış. Ama görmüşki bir o yana bir bu yana tutarsızca zıplayıp durmuş. Keza zıplamalar sırasında pek çok vadinin üzerinden geçdiği görmüş. O zaman farkına varmış ki çok yavaş giderse  hedefine ulaşması çoook uzun sürecek, çok hızlı giderse kontrol edemediği pek çok alanı geçecek. Böylece ilk optimzasyonunu çizme hızını düzgün seçmek olduğunu anlamış. Hızını orta dereceye alıp birazda böyle devam etmeye başlamış. Yaklaştığımı anladıkça biraz dahada yavaşlarım demiş.
Her seferinde seçtiği küreciklerden çıkan sonuca göre yön belirleyip giderken, farketmiş ki kısmi de olsa her seferde yalpalar yapmaktaymış. Bu yaplalamaları azaltıp daha hızlı yol alabilmek için önceki seferlerde küreciklerin söylediklerinide kısmen hesaba katayım demiş - momentum - Böylece daha düzgün bir yol almay başlamış.
Derken güzel bir konuma ulaşmış. Ulaşmış ama ulaştığı yerde hareket için kullanmadığı kürecikler - Test Verisi  -  doğru yerde olmadığını gösteriyormuş. Hareket için kullandığı kürecikler hedefe ulaştık diyorlarkerken, diğerleri ulaştığımız yerin yanlış olduğunu söylüyormuş - Local Minimum -
 Ne yapacağını şaşırmış kalmış. Düşünürken, farkına varmış ki  kürecikler yalan üzerinde ittifaka varıyor. Sonra, Küreciklerin yeterli olacağını düşünüp sadece birazını aldığını, çoğunu boşuna yük olur deyip bıraktığını hatırlamış. Geri dönüp bütün kürecikleri yüklenmiş ve baştan başlamış.
Küre sayısının artması sebebiyle, ilerlemesi çok daha uzun sürmüş ama Küreciklerde yalan üzerinde ittifak edememişler. Peyder pey gerçek hedefe doğru ilerleyebildiğini  hareket için kullanmadığı küreciklerden görmüş.  Uzun bir yolculuktan sonra hedefine varmış Billur şişeyi bulup Aykıza götürmüş. Billur şişedeki suyu içen Aykız eski haline dönmüş...

Gökten üç elma düşmüş biri Hinton'un biri Lecun'un biride Ng nin başına ...

* Zeka Hakkında Kıssalı Yazılar Serisi - 1 2 3 4 5