Giriş

Boğaziçi Üniversitesi Fizik Bölümü‘nde doktora öğrencisiyim ve deneysel parçacık fiziği alanında çalışıyorum. CERN’deki ATLAS deneyinde istatistiksel veri analizi ve yapay öğrenme (machine learning) problemleri üzerine kafa yoruyorum.

Bu blog bir fizikçi olarak veri analizi ve yazılım geliştirme konusundaki ‘kişisel’ yolculuğumda karşılaştığım, öğrendiğim, paylaşmaktan kendimi alıkoyamadığım şeyler için bir sayfa olacak. Yararlı olması dileğimle!

Gunden Geri Kalanlar - 8

Bu hafta Ordered Data Structures dersinin ikinci hafta odevleri uzerinde calisarak basladim haftaya. Bolumun sonunda basit bir ‘challange’ vardi: Verilen bir Tree’de kac tane Node oldugunu vulan bir fonksiyon yazmak uzerine. Veri yapisini ve ilgili fonksiyon asagida: #include <iostream> class Node { public: Node *left, *right; Node() { left = right = nullptr; } ~Node() { delete left; left = nullptr; delete right; right = nullptr; } }; int count(Node *n) { int counter = 0; if(n ! [Read More]

Gunden Geri Kalanlar - 7

Numerik hesaplama yaparken ya da veri analizi sirasinda pandas kullanirken kacinilmaz olarak arka tarafta numpy.ndarray yapilari kullaniyoruz. Python’daki tipik list yapilarindan, icindeki verinin tutulma seklinden, hafizada kapladigi yere, uzerinde cesitli numerik hesaplamalar yapmaya kadar bircok avantaj barindiran bu veri yapisini en iyi sekilde ogrenmek, bilimsel hesaplama & veri analizi yapan herkesin boynunun borcu sanirim. Bu amacla ben de bildiklerimi tazelemek ve biraz daha detaylara inmek icin bir tutorial bakarken gecen yil SciPy 2019 konferansinda verilen “Introduction to Numerical Computing With NumPy” egitimini izledim; sunumdan kayda deger birkac not asagida: [Read More]

Gunden Geri Kalanlar - 6

Haftasonu kahvemi alip, ayaklarimi uzatip “podcast keyfi” yaparken karsima cikan Data Skeptic podcastinin yeni bolumu “Black Boxes are not Required” ile tam bir “down the rabbit hole” deneyimi yasadim diyebilirim. Machine Learning yontemlerinin aciklanabilirlik/anlasilabilirlik kavramina epey radikal bir yaklasimi olan Duke Unv.‘den Cynthia Rudin, kendi calistigim projede de epey basimi agritan bu konu uzerine, cogu su ana kadar karsilasmadigim bircok yeni bakis acisindan bahsediyordu. Ben de podcast sonrasi, yayinda ustu kapali gectigi yontemlerin/yaklasimlarin neler oldugunu arastirmak adina profilini detaylica inceledigimde bir derya sey buldum. [Read More]

Gunden Geri Kalanlar - 5

Tum bu notlari yazarken fark ettim ki, calistigim, okudugum, dinledigim bir seyin hemen ardindan 3-5 dakika ayirip, kendi cumlelerimle anladigimi/hissettiklerimi kaleme almak bircok seyin kafamda oturmasini ve kalicilasmasini sagliyor. Bundan sonra yorumlardan ziyade, biraz daha ogrendigim seylerin onemli noktalarini tekrar eder sekilde maddeler yazacagim: bunlar bazen kod parcalari, bazen bir denklem bazen kazik bir kavramin aciklamasi olacak. Blog yazisi gibi uzatmadan, kisa kisa, aklimda kaldigi kadariyla… Gunlerden en sevdigim gun: Udacity’deki Peter Norvig’in Design of Computer Programs dersi gunu! [Read More]

Gunden Geri Kalanlar - 4

Bugun veri yapilarinda Tree yapilarina devam. Bu yapilarin linked-list ve array‘lere gore avantajinin herhangi bir deger arama ya da arama iliskili bir fonksiyonun ortalamada O(log(n)) zaman karmasikligina sahip oldugunu ogrendim. En kotu durumda (tum Node’larin arkasi arkaya birbirne bagli oldugu, ‘maximum height’) yine ayni hesaba geliyor fakat ortalamada avantajli gorunuyor. Bu ortalama O(log(n)) nasil elde edildigini anlamak icin ufak bir simulasyon yazmayi dusundum. Hem de sifirdan Python’da bir Binary Search Tree class’ini sifirdan yazayim diye kollari sivadim. [Read More]

Gunden Geri Kalanlar - 3

Bugun biraz programlama agirlikli gecen bir gundu; uzerine tekrar amacli yeni basladigim Istatistik dersi ve Python ile ilgili izledigim videolarin gunun one cikanlari oldu. Accelerated Computer Science dersinde bu hafta Tree veri yapilari isledik; uzun zamandir benim icin epey mistik gorunen seylerin bir anda gozumun onunde aydinlanmasi deneyimi yasadim resmen. Machine learning’de surekli karsima cikan ‘acyclic computational graph’ kavramindan, cebirsel bir islemi encode etmenin yontemine kadar bircok guzel ornekle anlatti dersi veren kisi de. [Read More]

Gunden Geri Kalanlar - 2

Aralikli olsa da gunden geri kalanlari paylasmaya devam edelim. Bugun, uzun zamandir ogrenmeye niyetli oldugum birkac seye egilme firsatim oldu… Bir suredir cesitli programlama problemleri cozerken gittikce daha da fazla ihtiyacini duymaya basladigim, uzun zamandir sadece print statement’lar ile ‘gunu kurtardigim’ gercegini asmak adina, sonunda en temelinden “debugger” kulllanmayi ogrenmeye karar verdim. Ilk olarak C++ iicn kullanilan gdb‘ye biraz goz atip, Youtube’de Hintli bir arkadasin 12 dakikada onemli hemen herseyini uygulamali anlattigi video epey isimi gordu. [Read More]

Gunden Geri Kalanlar - 1

Calisma gunlugu niteliginde, gunden geri kalanlari ufak ufak paylasacagim serinin ilki ile baslayalim. Cogu zaman ‘kendime notlar’ seklinde olacak kisa not, hatirlatma ve baglantilardan faydalanan baska birileri de olursa ne ala… Yeni basladigim Colombia Unv’den, ayni zamanda scikit-learn kutuphanesinin de gelisitiricilerinden Andreas Muller’in Applied Machine Learning dersi cok iyi basladi. Bugun ucuncu ders “Introduction to Supervised Learning”te dikkatimi ceken noktalar: Bugunun ders notlari k-Nearest Neighbor’da k’in kucuk degerleri icin model karmasikligi daha fazla (ve overfit’e yatkinken), buyuyen k degerleri icin model karmasikligi azaliyor (belirli bir yere kadar) - tam tersi gibi dusunmusumdur hep, demek ki yeterince dusunmemisim! [Read More]

Hesaplama/Analiz Günlüğü - 3

Son dönemde, araştırma, okuma, öğrenme ve bunları pratiğe dökme şeklinde geçen haftalardan geriye kalanları, yıldızlayıp ileride mutlaka geri dönmek istediğim şeyleri bir araya getirmek için ufak çaplı bir derleme hazırlamaya karar verdim. Başarabildiğim takdirde hafta başlarında yayınlamayı planladığım bu derlemeler çoğunlukla (bilimsel) programlama-hesaplama-analiz, bir takım akademik motivasyon/üretkenlik temalı paylaşımlar ve kayda değer bağlantılardan oluşacak. Son zamanlarda CERN’deki işimde yoğun olarak uğraştığım ‘İstatistiksel Veri Analizi’ ve ‘Python’ özelinde yüksek performanslı hesaplama/yazılım mühendisliği temaları muhtemelen geniş yer kaplayacak, bunların yanında benzer konularda kitap-video ders önerileri de olacak. [Read More]

Hesaplama/Analiz Günlüğü - 2

Son dönemde, araştırma, okuma, öğrenme ve bunları pratiğe dökme şeklinde geçen haftalardan geriye kalanları, yıldızlayıp ileride mutlaka geri dönmek istediğim şeyleri bir araya getirmek için ufak çaplı bir derleme hazırlamaya karar verdim. Başarabildiğim takdirde hafta başlarında yayınlamayı planladığım bu derlemeler çoğunlukla (bilimsel) programlama-hesaplama-analiz, bir takım akademik motivasyon/üretkenlik temalı paylaşımlar ve kayda değer bağlantılardan oluşacak. Son zamanlarda CERN’deki işimde yoğun olarak uğraştığım ‘İstatistiksel Veri Analizi’ ve ‘Python’ özelinde yüksek performanslı hesaplama/yazılım mühendisliği temaları muhtemelen geniş yer kaplayacak, bunların yaninda benzer konularda kitap-video ders önerileri de olacak. [Read More]