Veri Bağımlılıkları

Kodlar, geleneksel programcılar için olduğu kadar makine öğrenimi geliştiricileri için de önemlidir. Bu derste, verileriniz hakkında sormanız gereken soru türleri ele alınmaktadır.

Veri Bağımlılıkları

  • Giriş verileri (özellikler) makine öğrenimi sisteminin davranışını belirler.
    • Yazılım kitaplıkları için birim testleri yazıyoruz. Peki ya veriler?
  • Giriş sinyallerini seçerken dikkatli olun.
    • Hangi yazılım kitaplıklarına bağımlı olacağınız konusunda karar vermekten daha dikkatli olabilirsiniz.
  • Güvenilirlik
    • Sinyal olmadığında ne olur? Biliyor muydunuz?
  • Güvenilirlik
    • Sinyal olmadığında ne olur? Biliyor muydunuz?
  • Sürüm oluşturma
    • Bu işareti hesaplayan sistem hiç değişiyor mu? Ne sıklıkta? Ne olur?
  • Güvenilirlik
    • Sinyal olmadığında ne olur? Biliyor muydunuz?
  • Sürüm oluşturma
    • Bu işareti hesaplayan sistem hiç değişiyor mu? Ne sıklıkta? Ne olur?
  • Gereklilik
    • Sinyalin faydası, dahil edilme maliyetini doğruluyor mu?
  • Bağıntılar
    • Giriş sinyallerimden herhangi biri birbirine bağlı olduğundan, dikkat çekmek için ek stratejilere ihtiyacımız var mı?
  • Bağıntılar
    • Giriş sinyallerimden herhangi biri birbirine bağlı olduğundan, dikkat çekmek için ek stratejilere ihtiyacımız var mı?
  • Geri Bildirim Döngüleri
    • Giriş sinyallerimden hangileri modelimin çıkışlarından etkilenebilir?

Video Ders Özeti

ML sisteminin davranışı, giriş özelliklerinin davranışına ve niteliklerine bağlıdır. Bu özelliklerin giriş verileri değiştikçe modeliniz de değişir. Kimi zaman bu değişiklik tercih edilir, ancak bazen istenmez.

Geleneksel yazılım geliştirmede veri yerine koda daha fazla odaklanırsınız. Makine öğreniminin gelişiminde kodlama hâlâ bir parçası olsa da odak, verileri içerecek şekilde genişletilmelidir. Örneğin, geleneksel yazılım geliştirme projelerinde kodunuzu doğrulamak için birim testleri yazmak en iyi uygulamadır. Ayrıca makine öğrenimi projelerinde, giriş verilerinizi sürekli olarak test etmeniz, doğrulamanız ve izlemeniz gerekir.

Örneğin, kullanılmayan (veya az kullanılan) özellikleri kaldırmak için modelinizi sürekli olarak izlemeniz gerekir. Modele çok az katkıda bulunan veya hiçbir katkısı olmayan belirli bir özelliği düşünün. Söz konusu özelliğin giriş verileri aniden değişirse modelinizin davranışı da aniden istenmeyen şekillerde değişebilir.

Güvenilirlik

Giriş verilerinizin güvenilirliği hakkında sorulacak bazı sorular:

  • Sinyaller her zaman kullanılabilir mi yoksa güvenilmeyen bir kaynaktan mı geliyor? Örneğin:
    • Sinyal ağır yük altında kilitlenen bir sunucudan mı geliyor?
    • Bu sinyal her Ağustos ayında tatile çıkan insanlardan mı geliyor?

Sürüm oluşturma

Sürüm belirleme hakkında sorulacak bazı sorular:

  • Bu verileri hesaplayan sistem değişir mi? Bu durumda:
    • Ne sıklıkta?
    • Bu sistemin değiştiğini nasıl anlayacaksınız?

Bazen, veriler bir yukarı akış sürecinden gelir. Bu işlem aniden değişirse modeliniz bundan etkilenebilir.

Yayın sürecinden aldığınız verilerin kendi kopyasını oluşturmayı düşünebilirsiniz. Ardından, yalnızca yukarı akış verilerinin güvenli olduğundan emin olduğunuz sonraki verilerin sonraki sürümüne geçin.

Gereklilik

Aşağıdaki soru size normalleştirmeyi hatırlatır:

  • Özelliğin kullanışlılığı, ekleme maliyetini doğruluyor mu?

Modele daha fazla özellik eklemek her zaman cazip görünmektedir. Örneğin, ekleme işlemini modelinizin biraz daha doğru hale getirdiği yeni bir özellik bulduğunuzu varsayalım. Doğruluğun yüksek olması, doğruluğun düşük olmasına göre kesinlikle daha iyi olur. Ancak, bakım yükünüzü artırdınız. Bu ek özellik beklenmedik bir şekilde bozulabilir ve özelliği takip etmeniz gerekir. Küçük çaplı kısa kazançlara yol açan özellikleri eklemeden önce iyi düşünün.

Bağıntılar

Bazı özellikler (diğer veya olumlu) diğer özelliklerle ilişkilendirilir. Kendinize şu soruyu sorun:

  • Birbiriyle bağlantılı olup bunları tanıtmak için ek stratejilere ihtiyacınız var mı?

Geri Bildirim Döngüleri

Bazen bir model kendi eğitim verilerini etkileyebilir. Örneğin, bazı modellerin sonuçları doğrudan aynı modele özellikleri doğrudan veya dolaylı olarak girer.

Bazen bir model başka bir modeli etkileyebilir. Örneğin, hisse senedi fiyatlarını tahmin etmek için iki modeli ele alalım:

  • Model A, hatalı tahmine dayalı bir modeldir.
  • B Modeli.

A Modeli hatalı olduğundan X Stokunda hisse senedi satın almaya karar verir. Bu satın alma işlemleri X TL'nin fiyatını artırır. B Modeli, giriş özelliği olarak X Stoku'nun fiyatını kullanır. Bu nedenle, B Modeli kolayca Stok X stokunun değeriyle ilgili bazı yanlış sonuçlara gelebilir. Bu nedenle Model B, A Modeli'nin hatalı davranışına dayanarak X Stoku'nun hisselerini satın alabilir veya satabilir. Model B'nin davranışı sırasıyla A Modelini etkileyebilir ve muhtemelen lale çılgınlığını ya da X Şirketi envanterindeki bir slaydı tetikleyebilir