top of page
  • Yazarın fotoğrafıSelçuk Şentürk

Veri Bilimci Yol Haritası #5: Makine Öğrenmesine Ne Zaman İhtiyaç Var?



Heyecanı Dindirmek


Yapay zekâ ve makine öğrenmesi muazzam iş ve ürün fırsatları sunsa da her şeyin çözümü olmayabilir. Aslında etrafta bu araçları kullanarak her şeyin çözülebileceğini söyleyenlere karşı çok dikkatli olunmalı. Bu yazı dizisinde makine öğrenmesinin uygulanabilirliğini incelemeye çalışıyoruz.


Hype, medyada çok göze batan/yer alan kişi veya konu, şişirme, çokça reklamı yapılan anlamına gelir. Bir konuyu veya kişiyi, manşetlerin en üstüne taşıyan ve haklarında çokça yoruma sebebiyet veren güçlü bir kavramdır. Ancak çoğu zaman (her zaman değil) bu durum bir saman alevidir ve gerçekler beklentileri karşılamadığında bu ilgi hızlıca kaybolur.

Makine öğrenmesi ve derin öğrenme konularında özellikle büyük bir hype mevcut.


Derin öğrenme, kendisine verilen veri ve kavramları, algoritmalar sayesinde piramit şeklinde organize ederek, en basitten başlayarak en karmaşığa doğru modelleyen öğrenme modelleri oluşturur.


Derin öğrenmenin uygulanabilmesi için aşağıdaki ögeler gereklidir:


  • Veri

  • Teknik Bilgi

  • Hesaplama Gücü


Bu üç ögeden biri eksik olduğunda, derin öğrenme projesi özel bir ilgiye ihtiyaç duyacaktır ve başarılı bir şekilde tamamlanabilmek için spesifik sorular sorulup cevaplanması gerekecektir.


Eğer bir kişi, bu üç ögeyi elde etmeden bir derin öğrenme projesi ile size gelirse dikkatli olun ve bu üç ögeden eksik olanların neden eksik olduğu ve yerine koyulup koyulamayacağı hakkında sorular sorun. Yanıtları nasıl değerlendireceğiniz ve nasıl ilerleyeceğinizle ilgili yardımcı bilgileri bir önceki yazımda bulabilirsiniz.


Elbette, bir projenin uygulanabilirliğini tam olarak değerlendirebilmek için alanla ilgili deneyim ve bilgiye ihtiyaç var, ancak daha önce bahsedilen üç ögeden biri eksikse önerilen projenin yanlış bir bakış açısıyla ortaya konmuş olma ihtimali yüksektir.


Bu nedenle, derin öğrenmenin inanılmaz olanaklar sunduğunu anlamakla birlikte, çok yüksek beklentiler karşılanmadığında tüm teknoloji dünyasına zarar veren bir durumun ortaya çıkması tehlikeli sonuçlar yaratabilir.



Fırsatların Değerlendirilmesi


Önceki bahsettiklerimiz, tabi ki elinizde veri, teknik bilgi ve hesaplama gücü varsa makine öğrenmesi ve derin öğrenmenin muhteşem olanaklar sunabileceği gerçeğini değiştirmiyor.


Peki elimizdeki verinin, bizim için bir hazineyi saklayıp saklamadığını nereden anlayabiliriz? Genel olarak elimizde yeterli miktarda ve türde (mesela bir veritabanı) veri varsa, bu veriyi kullanarak çeşitli makine öğrenmesi algoritmaları sayesinde değer yaratabileceğimizi düşünebiliriz.


Örnek

Aşağıdaki (basitleştirilmiş) durumu hayal edelim:

Bir e-ticaret sitesi için her satın alınan ürünün kayıtlarının tutulduğu bir veri tabanımız var. Bu veritabanında bazı sütunlar "isim", "renk", "fiyat" ve "fiyat aralığı" gibi bilgileri içeriyor. "Fiyat aralığı" sütunu, bir ürünün fiyatının yüksek veya düşük olduğunu belirtiyor ve ürünü üreten firma tarafından sağlanıyor. 

Ancak bazen üretici firma dikkatsiz davranır ve fiyat aralığı bilgisini eksik iletir.

Bu problemin üstesinden nasıl gelebiliriz?


Bu duruma için fiyat sütununu dikkate alacağız ve fiyat aralığı için "yüksek" veya "düşük" gibi bir tahminde bulunan iki sınıflı tahmin problemi olarak yaklaşacağız.


  • Derin öğrenme algoritmaları uygulayabiliriz

  • Daha genel bir makine öğrenmesi algoritması uygulayabiliriz

  • Bu senaryo için özel olarak oluşturulmuş deterministik bir program yazabiliriz (geleneksel programlama yaklaşımı)


Çeşitli olasılıkları değerlendirelim:


Belki de en iyi çözüm tedarikçiyi değiştirmek olacaktır!



Şaka bir yana, önce derin öğrenmenin uygulanmasından başlayalım, daha sonra genel bir makine öğrenmesi yaklaşımı ve geleneksel programlama yaklaşımını inceleyeceğiz.


Direkt, tüm özellikleri girdi olarak alan ve çıktı olarak fiyat aralığı veren bir derin öğrenme modeli oluşturmayı düşünelim.


Ama muhtemelen büyük bir hata yapmış olurduk!


Bildiğimiz gibi önce verilerin temizlenmesi, modelin işleyebileceği hale getirilmesi, modelin tatmin edici bir sonuca erişene kadar eğitilmesi gerekiyordu.


Ayrıca, yarın bir gün özelliklerden bazıları değişse veya verilere yeni bir özellik eklense, tüm bu işlemlerin yeniden yapılması gerekecekti.


Derin öğrenme çok karmaşık ve güçlü bir araçtır. Bu yüzden çok basit görevler için derin öğrenme yaklaşımını kullanmaktan kaçınmalıyız. (Bazen aşırı mühendislik o kadar da yararlı olmayabilir.)

Bu senaryo, doğrusal olmayan (derin öğrenme modellerinin en başarılı olduğu konu) bir problem içermediğinden, girdi ile çıktı arasında doğrusal bir model kurarak genel bir makine öğrenmesi modeli ile çok daha basit bir şekilde çözülebilir.


Lineer sınıflandırıcı (linear classifier) gibi doğrusal bir klasik makine öğrenme modeli kullanmak sorunu daha iyi çözebilir ve daha iyi bir performans gösterebilir.


Aslında bu senaryo o kadar basittir ki, if ve else gibi geleneksel programlama yöntemleriyle bile çözülebilir. Basit bir örnekle, eğer fiyat N'den yukarı ise "yüksek", N'den aşağı ise "düşük" denilebilir.


Herhangi bir programlama diliyle yazacağınız iki satırlık bir kod muhtemelen bu senaryodaki problemi çözecektir.


Bu bir kaç paragraf, makine öğrenmesinin ve derin öğrenmenin değerini azaltmayı veya gözardı etmeyi amaçlamıyor, aksine bu gibi karmaşık yaklaşımların her senaryo için uygun olmayabileceğini göstermeyi amaçlıyor.

Özellikle veri azken makine öğrenmesini uygulamaya çalışmak faydasız bir çaba olabilir.



Veri Yoksa Makine Öğrenmesi de Yok!


Diyelim ki bir organizasyon içerisindesiniz ve çözülmesi gereken bir probleminiz var. Makine öğrenmesinin ne gibi fırsatlar sunduğu konusunda bilgi sahibisiniz. Artık sahip olmanız gerekenleri bu yazı dolayısıyla biliyorsunuz, veri, teknik bilgi ve hesaplama gücü.


Teknik, gizlilik veya herhangi bir şekilde verileri alamıyorsanız muhtemelen makine öğrenmesini seçeneklerden çıkarmanız gerekecektir. Aslında veri olmadan hiçbir şey yapamazsınız, tıpkı tohum olmadan bitki yetiştiremeyeceğiniz gibi.


O yüzden genelde makine öğrenmesi projeleri, yönetimin veya yetkilinin veri ile desteklemesi sayesinde başarıya ulaşır.


Verinin miktarı çok büyük olmalı gibi bir kural yok fakat veri ne kadar az ise, makine öğrenmesi modelinin başarıya ulaşma şansı da o kadar düşük olur.


Eğer yöneticiniz sizden bir makine öğrenmesi modeli oluşturmanızı istemiş fakat verileri vermemişse, makine öğrenmesinin nasıl çalıştığını anlamamış demektir. Bu yüzden önce bu konuda onunla konuşmanız daha yararlı olacaktır.



Kültürel Değişim Şart!


Günün sonunda parayı verenlerin beklediği şey projenin değer yaratmasıdır.


Dolayısıyla veri ile ilgili yaklaşımlarda kültürel değişim olmadan, makine öğrenmesi projelerinde başarılı olmak da, problemin çözülmesi konusundaki beklentilerin karşılanması da çok zor.


  • Bir organizasyon dahilinde sohbet robotu geliştirilmişse ve hiç kullanılmıyorsa


  • Öneri sistemi geliştirilmişse fakat kullanılan verinin kalitesine dikkat edilmiyor, özen gösterilmiyorsa


herhangi bir fayda beklenemez.


Makine öğrenimi konusundaki bu kültürel değişim gereksinimi genellikle en temel ve en hafife alınan gereksinimdir.



Sonuç Olarak


  • Büyük miktarda veri ve bir sorunu çözmenin zorluğunun gerçekçi değerlendirmesi gibi sağlam temellere değil, heyecana dayalı makine öğrenimi projelerinin risklerini ve olası tuzaklarını gördük.


  • Ayrıca, radikal bir zihniyet ve yaklaşım değişikliği olmadan, en başarılı makine öğrenimi projesinin bile işe yaramadığını da gördük: Bir Ferrari'ye sahip olduğunuzu ancak araba kullanmayı bilmediğinizi hayal edin!

0 yorum

Son Yazılar

Hepsini Gör

Comments


Takipte Kalın

En yeni yazıların size ulaşması için hemen eposta adresinizi yazabilirsiniz.

Abone oldunuz, tebrikler.

bottom of page