NGBoost: Olasılıksal Tahmin için Doğal Gradyan Artırımı
Stanford Makine Öğrenmesi Grubu Ocak 2019'da yeni bir tahminleme algoritması makalesi yayınladı. Bu yeni algoritma olasılıksal…

NGBoost: Olasılıksal Tahmin için Doğal Gradyan Artırımı
Merhaba, bu yazımda Stanford Makine Öğrenmesi Grubu’nun Ocak 2019'da yayınladığı yeni bir tahminleme algoritması makalesi inceleyeceğiz. Bu yeni algoritma olasılıksal tahminlemeyi gradyan artırma (gradient boosting) yöntemiyle başarılı bir şekilde gerçekleştiriyor.
Giriş
Makine öğrenmesi alanında gözetimli öğrenme problemlerinin önemli bir kısmını regresyon problemleri oluşturmaktadır. Regresyon problemi girdi değişkenlerini kullanarak daha önce görmediği sürekli değeri tahminleme problemidir. Makine öğrenmesi algoritmamız tanımlanmış kayıp fonksiyonunu minimize ederek doğru tahmine en yakın yaklaşımı bulabilecek f(x) = E(Y∣ X) fonksiyonu bulmaya çalışmaktadır. Görüldüğü üzere X vektörü verilmişken Y değerinin beklenen değeri bize ‘’nokta tahmin’’ vermektedir. Yani haftaya pazartesi günü hava 73.4 Fahrenheit dememiz nokta tahminine olurken pazartesi gününün derecesini olasılıksal dağılımını çıktı olarak bulursak

bu olasılık tahmini olmaktadır. Fakat birçok zorlu problemde beklenen değeri tekli tahmin şeklinde değil olasılık dağılımını sonuç olarak elde etmek istenmektedir. İşte NGBoost algoritması, Gradyan Artırma (Gradient Boosting) tekniklerinden biri olan Doğal Gradyan’ı (Natural Gradient) kullanarak E(Y∣ X) gibi nokta tahmini yerine P(Y∣X) olasılık dağılımını bulmaktadır.
Algoritmanın özeti

Algoritmamız yukarıdaki şekilde gözüktüğü üzere Taban Öğreniciler (Base Learners), Dağılım (Distribution) ve Skor Kuralı (Scoring Rule) olmak üzere 3 bileşenden oluşmaktadır.
Taban Öğreniciler (Base Learners)
Ensemble(topluluk) öğrenicileri daha iyi bir tahmin performansı göstermek için farklı modellerin ortalama tahminini almaktadır. Tek modeli hesaplamaktan daha maliyetli olduğundan dolayı daha fazla hesaplama gücü gerektirmektedir. Ensemble Learning teknikleri birden fazla taban öğrenicileri (base learners) kombine etmektedir. Taban öğreniciler
✓ Farklı taban öğrenici algoritmaları tarafından
✓ Farklı parametre girdileriyle aynı taban öğrenicisiyle
✓ Farklı eğitim setleriyle
üretilebilmektedir. Taban öğrenicilere örnek olarak karar ağaçları, sinir ağları, lasso gibi örnekler verilebilir. Bu algoritmada en yaygın kullanılan karar ağaçlarıdır.
Parametrik Olasılık Dağılımı (Parametrik Probability Distribution)
Taban öğrenicilerin çıktılarının kombinasyonu sonucunda oluşturulur. Parametrik olasılık dağılımlarına örnek olarak Normal Dağılım, Laplace dağılımı verilebilir. Dağılımın türü çıktı ile uyumlu olması gerekmektedir. Örneğin gerçek değerli çıktılar için normal dağılım kullanılabilirken ikili çıktılar (0 1 gibi) için Bernouilli dağılımı kullanılabilir.
Skor Kuralı (Scoring Rule)
Skor kuralı, tahmin edilen olasılık dağılımı ile çıktılardan bir gözlem alarak bir skor atamaktadır. Çıktıdaki dağılım doğru dağılım ise en iyi skoru alır. Uygun skor kuralı aşağıdaki eşitliğin sağlanmasıyla bulunur:

Burada Q, y çıktısının doğru dağılımını temsil ederken P ise modelin tahmin çıktısı olan herhangi bir dağılımı temsil etmektedir. En çok kullanılan skor kuralları En Çok Olabilirlik Fonksiyonu (Maximum Likelihood Estimation(MLE)) ve Sürekli Sıralanmış Olasılık Skoru (Continuous Ranked Probability Score(CRPS))’ dır.
Doğan Gradyan vs Standard Gradyan (Natural Gradient vs Standard Gradient)
[embed]
[embed]
Algoritmada optimizasyon algoritması olarak standart gradyan yerine doğal gradyan kullanılıyor. Standart gradyanlar çok parametreli olasılık dağılımları için uygun olmadıklarından dolayı olasılık tahmini yaparken kullanılmıyor. Şimdi bunun detaylarını örnek üzerinden inceleyelim.
Standart gradyan iniş algoritmasını seçtiğimiz skor kuralını minimize edecek parametreleri bulması için optimizasyon algoritması olarak kullanırız. Geri yayılımda her bir parametrenin kayıp fonksiyonuna göre kısmi türevleri almak skorumuzu minize edecek yönü (yani gradyanı) vermektedir. Böylece parametrelerde ufak değişiklikler yaparak kayıp fonksiyonumuzu optimize edebiliriz. Fakat standart gradyandaki optimizasyon parametre uzayının Öklid geometrisine bağlıdır. Yani mesafe(distance) olarak öklid metriğini kullanmaktadır. Bu yüzden standart gradyan, dağılımın parametrelerinin değişimine karşı hassastır. Bunu daha iyi anlamak için örnekleyelim:

Fotoğrafın üst parçasında N(μ=−1,σ=1) dağılımını, aşağıda ise N(μ=−1,σ=5) dağılımını görmektesiniz. Her iki dağılımda da ortalama parametresi +2 olacak şekilde kaydırdığımızda ilk dağılımdaki değişimin ikinci dağılımdaki değişime nazaran daha fazla olduğunu açıkça görmekteyiz. Buradaki sorun parametre değerlerinin arasındaki mesafe, bu tanımlanmış parametlerle oluşan dağılımlar arasındaki mesafeye karşılık gelmemektedir. Her parametre anlamı ve işlemi aynı olmadığından dolayı parametreleri değiştirdiğimizde oluşan ‘’mesafe’’ kavramını yeniden tanımlamamız gerekmektedir.
Uygun skor olarak seçilecek kural, dağılımlar için farklı mesafe metriği ayrışmasına sebep olur. Skor kuralımız En Çok Olabilirlik Fonksiyonu(MLE) iken Kullback-Leibler ayrışmasına(KL-divergence), Sürekli Sıralanmış Olasılık Skoru (CRPS) iken ise L² ayrışmasına sebep olur. Bu ayrışmalar dağılımın parametrelerine göre değişmezler ve iki dağılım arasındaki benzerliği ölçerler. Yani yukarıdaki örnekte tartıştığımız problem bu ayrışmalar söz konusuyken yaşanmaz. Ayrışımlar kendi özelliklerini taşırken simetrik olmadığından metrik olarak kullanılamazlar fakat bu problemin üstesinden gelmek için parametrelerde ufak değişiklikler yapılıp algoritmada kullanılabilir.
Doğal Gradyan
Doğal gradyanın ifadesi aşağıdaki gibidir:

Doğal Gradyan
Yukarıdaki ifadede S(θ,y) skor kuralını gösterirken, Ls(θ), θ’daki istatistiksel manifoldun Rienmann metriğini ifade etmektedir. İstatistiksel manifold, her biri noktaları bir olasılık dağılımı olan bir Riemann manifoldudur. Manifold ise her bir noktanın belli bir komşuluğunda Öklid uzayını andıran bir topolojik uzaydır. Skor kuralını En Çok Olabilirlik Fonksiyonu olarak seçersek (S = L) doğal gradyanımız şu formu alıcaktır;

Burdaki F, Fisher bilgi matrisini temsil eder. p(x|θ), θ parametresiyle parametrize edilmiş bir olasılık dağılımı olsun. Fisher bilgisi bu x rastgele değişkeninin bilinmeyen θ parametresi hakkında taşıdığı bilgi miktarını ölçmektedir.
Böylece tanımlanan bu doğal gradyanı kullanmak optimizasyon problemlerini yukarıda örneğini de verdiğimiz parametre değişimine karşı gradyanı değişmez yapmaktadır.
NGBoost
NGBoost algoritması, koşullu olasılık dağılımının parametrelerini boosting yöntemini kullanarak tahmin ederek olasılık tahmini yapan bir gözetimli öğrenme algoritmasıdır.

Algoritma eğitim örneklerinin hedef değişkenlerinin marjinal dağılımına fit ettikten sonra karşılık gelen değerlerini θ(0) vektörüne atar. Daha sonra her m boosting aşamasında;
• Her eğitim örneği için skor kuralı hesaplanır
•Doğal gradyan hesaplanır
•Taban öğrenici eğitim verisi ile eğitilir. Doğal gradyan iniş optimizasyon algoritması olarak kullanılır.
•Çıktılar ölçeklendirme faktörü ρ ile ölçeklendirilir.
•Girdi olarak öğrenme oranıda kullanılarak θ parametreleri güncellenir.
Sonuç
NGBoost, olasılıksal tahmin yapmak için çeşitli taban öğreniciler kullanarak esnek, ölçeklenebilir ve kullanılması kolay bir seçenek sunuyor. Açık kaynak kodlu geliştirilen bu algoritmanın Github reposuna burdan erişebilir ve sizde katkı sağlayabilirsiniz !
Kaynaklar
메타데이터
- post_id
- db91dc06f37a
- slug
- ngboost-olasılıksal-tahmin-için-doğal-gradyan-artırımı-db91dc06f37a
- url
- https://medium.com/kaveai/ngboost-olas%C4%B1l%C4%B1ksal-tahmin-i%C3%A7in-do%C4%9Fal-gradyan-art%C4%B1r%C4%B1m%C4%B1-db91dc06f37a
- canonical_url
- https://medium.com/kaveai/ngboost-olas%C4%B1l%C4%B1ksal-tahmin-i%C3%A7in-do%C4%9Fal-gradyan-art%C4%B1r%C4%B1m%C4%B1-db91dc06f37a
- author_url
- https://medium.com/@emreeyukseel
- status
- ok
- fetched_at
- 2026-07-22 03:37:30