Makine Öğrenmesi Varken Neden Elimizi Veri ile Kirletelim?

Yiğit Şener
5 min readOct 16, 2021

--

Yakışıklı abimiz Ben Affleck’in baş rolünde oynadığı The Accountant (IMDB: 7.3) filmini seneler önce ilk izlediğimde güzel bir aksiyon filmi olduğu düşüncesiyle ekran başından ayrılmıştım. Ancak geçenlerde bir daha izledikten sonra özellikle bir sahne çok ilgimi çekti. Bu sahnenin ilgimi çekmesinin sebebi ise makine öğrenmesi, veri analitiği, veri madenciliği, veri bilimi gibi disiplinler için örnek bir vaka oluşturmasıydı.

Filmi Türkçeye Hesaplaşma diye çevirmişler bence orijinal adı olan Muhasebeci olarak isimlendirselerdi daha iyi olurdu. Bunu söylemeden geçemedim.

Öncelikle size filme ait tek bir sahne göstereceğim ve bu fotoğraf üzerinden biraz veri ile olan işlerimizi tartışalım istiyorum. Bu tartışmayı Alman Filozof Hegel’in diyalektik yöntemine (tez-antitez-sentez) göre ilerletmek konu itibariyle daha rasyonel olacaktır;

  • Tez: Makine öğrenmesi varken neden bunca zahmet?
  • Antitez: Elini kirletmekten korkma! verinin içerisinde gidebildiğin yere kadar git!
  • Sentez

Filmin bu sahnesinde Ben abimiz danışmanlık verdiği şirketin muhasebe kayıtlarını incelerken bulduğu sonuçları şirkette çalışan ve muhtemelen gelecekteki müstakbel eşi hanımefendiye büyük bir gururla anlatıyor. Şirket, Ben Abimizden, sonuna kadar giderek firmayı denetlemesini, finansal akışlarda varsa bir anormallik, tespit edilerek raporlanmasını istemektedir.

Fotoğrafa biraz detaylı bakalım. Klasik bir toplantı odasındayız. Masanın üzerinde bir sürü evrak, kağıt, ıvır zıvır şeylerle dolu. Buradan yola çıkarak çok fazla kaydın incelenmesi gerektiği ya da incelendiğini anlayabiliyoruz. Bunun yanı sıra camlar dahil her yerde notlar bulunuyor. Rakamlar, tablolar, işaretler bize notlarla beraber ardı ardına gelen hesaplamaları ortaya koyuyor.

Bu arada Ben abimiz filmde otizmin bir türüne sahiptir ve bu problemi ona yüksek kapasiteli işlemleri aklından yapmasını ve zihnini adeta bir bilgisayar gibi kullanmasına izin veriyor. Düzenli ve tertipli olan Ben abimiz uzun saatler çalışmasının neticesi olarak biraz yorgun ama sonuca ulaştığı içinde gururlu ve bir o kadarda vakur görünüyor.

Hanımefendi ise hayran hayran Ben abimizin yaptığı çalışmalara ve ulaştığı sonuca bakmaktadır. Aslında onu heyecanlandıran his, sonuçtan ziyade Ben’in dağ gibi olmuş veriler arasında sistematik bir şekilde çalışması. Böyle adamlar kaldı mı? diye içinden geçiriyor :).

Gelgelelim diyalektik eksendeki tartışmamıza…

Tez: Makine Öğrenmesi Varken Neden Bunca Zahmet?

Bilgisayarların bu kadar geliştiği, makine öğrenmesi algoritmalarını yarıştırdığımız bu dönemde bunca zahmete gerek var mı?

Öyle ki makine öğrenmesi son yılların en popüler konularından birisi oldu. Her yerde kurslar, makaleler, yapay zeka sohbetleri, seksi terimler vb. hayatımıza girdi. Denetimli (supervised) ve denetimsiz (unsupervised) öğrenme çeşitleri ile elimizdeki veriden yola çıkarak bir çok problemi çözebilme yeteneğine sahip olduk. Bu problemlerden bazıları anormallik tespitine (Anomaly Detection) dayalı olarak makine öğrenmesi ile çözüm bulabiliyor. Veri setindeki dağılımlar ve değişkenlerin birbirleri ile olan ilişkisinden yola çıkarak sıra dışı (outlier) durumlar belirlenebiliyor.

Grafik 1

Artık bilgisayarımızında gücü arttı. Bırakın milyon satırlık Excelleri milyonlarca milyon satırlık Excelleri tutan veri tabanları ile bunları işleyebilen işlemciler geliştiriliyor.

Dolayısıyla Ben abimizin özel yeteneği varsa bizim de algoritmalarımız var. Hem de çok daha kısa bir zamanda sonuçları elde edebiliriz.

Makinelerin önünü açalım. Bırakalım işerini yapsınlar biz o arada bir kahve içelim.

laissez-faire, laissez-passer (bırakınız yapsınlar, bırakınız geçsinler) Adam Smith

Antitez: Elini kirletmekten korkma! verinin içerisinde gidebildiğin yere kadar git!

Beynimiz meşrebi gereği en az eforla çalışmak ister. Hep bir kısa yol arar. Çok nazlıdır. Sizin bir işe konsantre olabilmeniz için öncelikli olarak onu motive etmeniz, pış pışlamanız gerekir. Patronumuz olan beynimiz bir yanda hazır algoritmalar ile üç beş satır kod yazarak bu işi çözmek varken saatleri/günleri verileri inceleyerek geçirmenin ne anlamı var ki diye düşünür.

Veriyi detayları ile incelemek gerçekten zahmetli bir iştir. Ardı ardını kovalayan, neden böyle olmuş ya da olmamış sorularını takip etmek beyninizi adeta çamaşır makinesi gibi çalıştırır. Ancak unutmayın ki zamanınızı problemi bulmak ve ona çözüm harcamak için gerçirdiğiniz her bir an yeni problemleri görme veya var olan probleme farklı yaklaşmak için başka başka fırsatlar doğurabilir. Hiç birşey çıkmasa bile veriyi hızlı okuma yeteneğimiz gelişir.

Makine öğrenmesine gerek kalmadan aklınızdan bağlantılar kurarak, bulduğunuz ilişkiler üzerinden hipotezler geliştirip tekrar tekrar çürüterek ya da kanıtlayarak ilerlemeniz hangi iş olursa olsun daha fazla derinleşmenizi ve gelişmenizi sağlar. İster muhasebe kayıtlarından yola çıkarak şirketin yıllık tasarruflarını ortaya koyun, isterseniz kripto paraların yükseliş-azalış trendini yakalamaya çalışın. Sorunun temelini araştırarak indiğiniz taktirde fırsatları ya da tehditleri görebileceksiniz.

Makine öğrenmesi algoritmaları geliştirmek çok havalı ancak çalıştığınız kurumda ya da uğraştığınız veri içerindeki ruhu okuyamazsanız her zaman bir şeylerin eksik olduğunu hissedebilirsiniz. Zaten verini okunması için belirli bir iş bilgisine ihtiyacımız bulunuyor. Daha fazla veri okuryazarlığı, bize daha fazla iş bilgisi sunar böylece o alanda daha çok uzmanlaşmış oluruz.

Peki ya kaçımız gerçekten makine öğrenmesi algoritması geliştiriyoruz? Var olan Sklearn ya da SAS gibi araçlar içindeki algoritmları çalıştırmadan sıfırdan cebirsel ya da istatistiksel yöntemleri bir araya getirip bir algoritma üretiyor muyuz? (ki gerek var mı o ayrı bir yazını konusu). Burada anlatmak istediğim veriye hakim olmadan, onun üzerinde çalışmadan bir de hazır kütüphaneler ile inşa edilen bir sistem ne kadar sağlıklı olabilir?

Hiç veriye bakmadan elimizi kirletmeden çok çalışmadan geliştirdiğimiz makine öğrenmesi algoritmaları belki bugün bizi kurtarır ancak yarın yeni bir girdi geldiğinde ve farklı bir çıktı elde ettiğimizde eğer bunun sebebini açıklayamazsak o zaman her şey havada kalır.

Sentez

Denemekten hiç bir zaman çekinmemek lazım. İşimizi kolaylaştıran gelişmeler bizim başka işleri yapabilmemiz içinde zaman kalmasına imkan tanır. Ancak kolayca yaptığımız bazı işlerin içine giremediğimizde ise gözümüzden kaçanlar yarın karşımıza çıkabilir. Önerim aşağıdaki aşamaları kullanarak hem algoritmlardan yararlanmak hem de elimizi kirleterek fırsatları/tehditleri görme yetimizi kaybetmemekten yanadır;

  • Gelen olarak veri kuşbakışı incelenir.
  • Çok az bir işlem belki çeşitli hazır veri hazırlama kütüphaneleri ile makine öğrenmesi için data hazır hale getirilir.
  • Makine öğrenmsi algorimtası uygulanır. Özellikle veriye dair açıklayıcılığı bulunanlar tercih edilmelidir (feature importance, p-value vb.)
  • Yeniden veriye dönülür. Algoritmadan çıkan sonuçlar ile değişkenler incelenir.
  • her bir değişkenden mümkünse örneklem seçilerek bunların neden oluştuğu üzerine biraz kafa yorulup varsa başka veriler üzerinden incelenir.
  • Çıkardığımız dersler ile yeni bir veri hazırlığı yapılır. Burada belki yeni değişkenler türetilebilir, filtrelenebilir ya da transform edilebilir.
  • Çıktı sahibi bir veri setimiz var ise çıktı ile girdi arasındaki ilişki çeşitli istatistiksel araçlar vasıtasıyla incelenebilir. Değişken kaybetmemek için farklı kombinasyonlar ile değişken transform edilebilir. Ya da değişken indirmek için ekle-çıkar yöntemler PCA gibi algoritmaların yanında denenebilir.
  • Boosting ve bagging dışında makine öğrenmesi algoritmaları ile sonuçlar gözlemlenir.
  • Çıkan sonuçlar tatmin ettiyse hyper parameter tuning gibi yöntemler ile doğruluk ya da tespit oranları artırılır.
  • Algoritmanın doğru tespit edemediği verilerden örnekler seçilerek manuel olarak incelenir. Bunların algoritmayı bozum nedenleri araştırılır.
  • Yukarıdaki aşamalar birbirinden bağımsız yeri geldiğinde tekrarlanabilir.

Sanırım bazen işe terzi gibi yaklaşmak ancak bulduğumuz imkanlarda da dikiş makinesinden yararlanmak bizi daha doğru ve verimli bir sürece görürecektir.

--

--