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 - 18

Coursera’daki Accelerated Computer Science kurs serisinin, ucuncu dersi Underordered Data Structures, ikinci haftasiyla devam. Bu hafta, baglamini henuz pek cozemedigim disjoint sets veri yapisi ile ugrastik. Anladiigm kadariyla onumuzdeki haftalarda graf yapilari icin epey bir isimize yarayacak. Temelde birbirinden ayrik verileri bir arada tuttugumuz ve her bir kumeyi temsilen de o kumeden bir eleman atadigimiz yapilar. Ornegin {1,2,3} ve {4,5} gibi iki disjoint set olsun elimizde, ilkini 1 ile digerini de 4 ile adresleyebiliriz. [Read More]

Gunden Geri Kalanlar - 17

Yaklasik iki haftalik aranin ardindan, Cern’deki grubun islerini anlattigim ATLAS Week toplantisindan sonra, tekrar sahalara donmenin heyecanini yasiyorum. Kaldigimiz yerden devam edelim. Coursera’daki Accelerated Computer Science kurs serisinin, ucuncu ve son dersine basladim bu hafta: Underordered Data Structures. Gecen dersteki array, linked-list, tree gibi “ordered” veri yapilarindan yavas yavas hash table, graph gibi “unordered” veri yapilarina geciyoruz. Ilk hafta hash table konusu ile biraz beyin yakan kivamda basladi. Hash table’lar elimizdeki key - value seklinde ikilileri efficient bir sekilde saklamamizi sagliyor. [Read More]

Gunden Geri Kalanlar - 16

Bugun, bu haftaki sunuma hazirliklarla ve yaptigim is gorusmesi ile gecti. Kisa kisa notlar: Python ile ilgili okudugum Real Python’da name = “main“ olayini cok guzel bir sekilde aciklayan detayli makale. Elimizde ufak bir skript degil de icinde cesitli fonksiyonlar barindiran daha cok “modulu” andiran bir kod varsa, burada asil calisitirilacak olan kodu main icinde tanimlayip if __name__ = "__main"": icinde cagirmak cok daha makul. Boylece kodu okuyan kisi, kodun komut satirindan cagirildiginda “first entry point”ini acik bir sekilde gorebiliyor. [Read More]

Gunden Geri Kalanlar - 15

Haftaya veri yapilariyla acilis yaptik. Bu hafta ve onumuzdeki hafta iki buyuk toplantida genis capli iki sunumum oldugundan muhtemelen, daha kompakt bir icerik olacak. Her gun not tutma aliskanligini epey ilerlettim, kisa da olsa buradan paylasmaya devam edecegim. Bu hafta Accelerated Computer Science dersi, Tree algoritmalarinin “son noktasi”, bir priority queue veri yapisi tasarlamak uzerineydi. Bu veri yapisi, Binary Search Tree’den daha “strict” on kosullara sahip olsa da, veriyi tutma sekliyle, minimum elemanina sabit zamanda ulasabilme imkani veriyor. [Read More]

Gunden Geri Kalanlar - 14

Pazar gunu, bir suredir yanda tuttugum birkac makaleye goz atip, birkac machine learning konusuna egildigim, aralarda birkac video izleyip, podcast dinledigim bir gun oldu. Bugun itibariyle Gunden Geri Kalanlar serisini, Haziran basindan beri iki haftadir eksiksiz iki haftadir yazdigimi fark ettim. Kendime “istikrar” sozu verip, Temmuz sonuna kadar devam etmeye niyetliyim. Bakalim gorecegiz. Onumuzdeki hafta bir mulakat icin yaptigim hazirliklar cercevesinde biraz Anamoly Detection konularina bakiyorum. Uzaklik ve yogunluk tahmini gibi yaklasimlara biraz asinayim fakat son zamanlarda birkac yerde rastladigim Isolation Forests yontemini merak ettigimden, gecen yil PyData Amsterdam’da verilmis kisa bir konusmayi izledim: Jan van der Vegt: A walk through the isolation forest | PyData Amsterdam 2019 [Read More]

Gunden Geri Kalanlar - 13

Haftasonu haftadan kalan isleri tamamlayip,muhtelif konularda sagdan soldan gordugum, okudugum, izledigim seylere zaman ayirdigim bir gun gecirdim. Geriye baktigimda gunden epey sey kaldigini goruyorum. Columbia Unv.‘den A. Muller’in Applied Machine Learning dersine devam. Bugunku ders Pre-processing uzerine. Veriyi modele gondermeden yapilmasi gereken donusumler ve bunlarin dogru sekilde yapilmasinin ne kadar onemli oldugunu; scikit-learn ile bunlari yapmanin aslinda ne kadar efektif oldugunu gosteren harika bir dersti. Kisa kisa: Oncelikle veriyi “scale” etmek… Ozellikle veri noktalari arasinda “uzaklik” bilgisinin kullanildigi bir model kullaniyorsak (orn. [Read More]

Gunden Geri Kalanlar - 12

Cuma gununu, haftanin yorgunlugunu atarak, biraz daha merak ettigim birkac seye bakarak gecirdim. Fizik tarafindan ilham alarak son donemde ugrastigim seylerle iliskilendirip ufak da bir proje bile yaptim. Dun aksam Veritasium’un Youtube kanalinda izledigim Turbulance videosu epey enteresan geldi. Bu konunun degme fizikcileri dize getirdigini bildigimden, calisilmasinin ne kadar zor olabilecegini hayal edebiliyorum. Fakat acaba “en basit haliyle” kucuk olcekli bir simulasyon yapip bunu gorsellestirebilir miyim diye kendi kendime sorarken, gece saat 1 olmasi beni durdurmadi, muthis bir “rabbit hole”‘a dalmistim bile. [Read More]

Gunden Geri Kalanlar - 11

Bugun Cern’de grup toplantisi gunu oldugundan, ekstra calismalara minimum, geri kalan islere ve sunum hazirlamacaya maksimum zaman ayirdigim bir gun oldu. Yine de “zinciri kirmayip” ufak tefek seyler yapmaya calistim kalan zamanda. CERN demisken bugun Flu TV’de danismanim Erkcan Ozcan‘in parcacik fizigi uzerine konustugu guzel bir videosu yayinlandi: CERN’de Neler Dönüyor? - Olmaz Öyle Saçma Bilim Bugunku LeetCode Challange‘i yine bir siralama problemiydi fakat hicbir sekilde built-in siralama metodu ya da herhangi ekstra bir hafiza kullanmadan in-place degisikliklerle verilen bir dizideki elemanlari kendi iclerinde kumeleyip siralamamiz gerekiyordu. [Read More]

Gunden Geri Kalanlar - 10

Accelerated Computer Science‘da bu hafta yeni derste biraz daha ileri seviye Tree structure’lara gectik. Bu asamada bunlarin hepsini oturup bastan asagi ogrenmeye niyetim olmasa da, kulak asinaligi olmasinin faydali olacagini dusundugum birkac yeni kavram ogrendim: AVL Tree: Elimizdeki Tree’nin her ekleme, cikarmada “dengeli” kalabilmesi icin her bir Node’a bir “yukseklik” verisi ve dengeyi saglamak icin olusturulan ek metodlar ekleniyor. Her yeni Node eklenme ve cikariminda, bu yukseklik bilgisine bakarak 2 veya -2 olma durumunda Tree tekrar duzenleniyor. [Read More]

Gunden Geri Kalanlar - 9

Design of Computer Programs dersinin ikinci haftasi yine ‘beyin yakan’ modda bitti. Her hafta birbirinden ilginc problemler ve bunlara olabilecek en zarif cozumlerle gelebilmeyi basariyor Norvig amcamiz. Bu haftaki dersten geriye kalanlar: Ugrastigimiz problem cryptarithmetic diye adlandirilan, harflerle kodlanmis aritmetik islemleri decode etmek uzerineydi. Ornegin AB + AB = CDF seklinde verilmis ve her harfin farkli bir sayiyi, ayni harfin ayni sayiyi ifade ettigi tipte cebirsel ifadeleri saglayan sayilari bulmak amac. [Read More]