Photo by Maximalfocus on Unsplash

Model Drift(Model Kayması) Nedir? Nasıl Başa Çıkılır?

Burak Uğur
4 min readApr 15, 2022

--

Geliştirdiğimiz makine öğrenmesi modelleri, geçmiş verilerden beslenerek statik olarak eğitilir. Ancak, model dağıtıma çıktıktan sonra, veri dağılımındaki değişiklikler, gerçek hayat koşullarının değişmesi gibi bir çok sebepten yeterince iyi performans gösteremez, çıktılarına güvenilmez bir hale gelebilir. Bu probleme model kayması denir. Model davranışındaki değişiklikleri sürekli olarak izlemek büyük önem taşımaktadır. Bu tür sapmaları işaretlemek ve modeli yeni verilerle (veya herhangi bir tür manuel müdahaleyle) yeniden eğitmek için belirli işleri otomatikleştirmek, modelin güncel kalmasını sağlar ve zaman içinde adil ve tarafsız tahminler vermesinde önemli bir rol oynar.

A) Model Kayması Türleri

1) Konsept Kayması( Concept Drift )

Kaynak: https://arxiv.org/pdf/1511.03816.pdf

Gelen veriler, eğitim için kullanılan geçmiş verilerden uzaklaştıkça, özellikler arasındaki ilişkiler ve korelasyonlar da değişmektedir. Matematiksel olarak, kavram kayması, y’nin gerçek etiket ve X’in mevcut özellikler olduğu P(y|X) dağılımındaki bir değişiklik olarak tanımlanır.

ÖRNEK :

Olası DDOS Atağı’nı size bildiren bir sistem geliştirmeye çalıştığınızı hayal edin. Modeliniz, sunucu tarafından dakika başına alınan istek sayısı gibi bir özelliği kullanacaktır. Bu model eğitildiğinde, dakikada 1000 istek, şüpheli bir şeyler olduğunu gösteren çok fazla sayıda istek gibi gözükebilir. Peki ya şirketiniz bir reklam kampanyası başlattıysa ve ardından web siteniz çok daha popüler hale geldiyse? Bu olay, dünyadaki değişiklikler nedeniyle şüpheli davranış kavramının yön değiştirdiği durumlara bir örnektir.

  • Kavram kaymasının oluşmasının ana nedenlerinden biri, verilerin durağan olmaması, yani verilerin istatistiksel özelliklerinin zamanla değişmesidir.

❗ “Konsept kaymasıçevrimiçi öğrenmede(online learning) makalelerinde kullanılan bir terimdir . Bununla birlikte, toplu öğrenme(batch learning) makalelerinde “veri kümesi kayması(dataset drift)” ile aynı şeye atıfta bulunur. (örneğin, burada ve burada ).

2) Veri Kayması( Data Drift )

Image source: link

Veri kayması, bir veya daha fazla bağımsız değişkenin veya veri kümesinin girdi değişkenlerinin dağılımındaki değişikliktir. Bu özellik ile hedef değişken arasındaki ilişki değişmeden kalsa bile, özelliğin dağılımının değiştiği anlamına gelir. Bu girdi verilerinin istatistiksel özellikleri değiştiğinde, daha önce oluşturulmuş model tarafsız sonuçlar vermeyecektir. Bu durum, yanlış tahminlere yol açacaktır.

❗ Bazı makalelerde data drift yerine, ortak değişken kayması(covariate shift) olarak atıfta bulunulabilir.

ÖRNEK :

Bir modelin 200$ ile 300$ arasında değişen bir maaş değişkeniyle eğitildiğini ve dağıtımda olduğunu varsayalım. Zamanla maaş artar ve model 1000$,1200$ gibi daha yüksek maaş rakamlarıyla gerçek zamanlı verilerle karşılaşır. Model, ortalama ve varyansta bir artış görecek ve bu nedenle bir veri kaymasına yol açacaktır.

  • Veri kaymasının, kontrol edemediğimiz beklenmedik olaylardan da kaynaklanabileceğini gözden kaçırmayın.

B ) Nasıl Tespit Edilir?

1- Konsept Kayması

  • ADWIN Yöntemi(ADAptive WINdowing) ( Gerçek zamanlı akan veriler için ideal)
  • DDM(drift detection method)
  • EDDM
  • Page-Hinkley method

2- Veri Kayması

Veri kayması tespiti için, sıralı analiz yöntemleri, model tabanlı yöntemler ve istatistik tabanlı yöntemler kullanılabilir.

C) Örnek Uygulama

Bir elektrik üreticisinin ürettiği enerjinin zamana bağlı grafiği bu şekildedir.

Image by Author

Burada belirli noktalarda konsept kayması olduğunu düşünüyoruz bu sebeple HDDM_W yöntemi ile bu noktaları tespit etmeye çalışacağız.

Daha fazla yöntem için:

Output

Konsept kaymalarını belirlemiş bulunuyoruz.

--

--