Soru
Gradient Boosting ile ikili sınıflandırma yaparken tahminin aralığında nasıl tutulduğunu anlamak için uğraşıyorum .
İkili bir sınıflandırma problemi üzerinde çalıştığımızı varsayalım ve objektif fonksiyonumuz günlük kaybı, , burada içindeki hedef değişken ve mevcut modelimizdir.y ∈ { 0 , 1 } H
Bir sonraki zayıf öğrenen yeni modelimiz , de tutması gereken mekanizma nedir? Ya da, belki daha alakalı bir soru, böyle bir mekanizma var mı?H i = H i - 1 + h i H i ∈ [ 0 , 1 ]
Ne yaptığım hakkında daha fazla bilgi
Regresyon ağaçlarını kullanarak gradyan artırmayı uygulamaya çalışıyorum. Bundan kaçınmak için yaptığım şey , sıfırın üstüne bir çarpan ile çarpılmasıdır. Biri ve ben bu aralığı kaybı işlevini en aza indiren seçin . c ∈ [ 0 , c maks ] H + c maks h c
Bu aşağıdaki sorunu getiriyor: Bazı mermilerden sonra, mükemmel bir şekilde sınıflandırılmış bir noktaya sahibim ve sınıflandırıcıyı degrade yönünde itmek için mevcut en iyi bölünme, bu noktayı bir üste itmek istiyor, ki bu gerçekleşmediğinden emin olmak istiyorum ayar . Böylece sonraki tüm yineleme aynı bölmeyi ve aynı seçecektir .c = 0
Ortak düzenlileştirme uygulamalarını denedim
- ile çarpılarak öğrenme oranının düşürülmesi . Bu sadece sorunu geciktirir.μ = 0.01
- Özellik alanını alt örnekleme, ancak bazı noktaların sınıflandırılması çok kolay, "Bu olumlu mu?" ve hemen hemen her "iyi bölünme" bu davranışı gösterir.
Bu bir parametre sorunu olmadığını düşünüyorum ve bunu düzeltmek için daha sağlam bir yol olmalı. Uygulamamın bozulduğu olasılığını atmıyorum, ancak bu sorunu aşan bir şey bulamadım.
Lojistik kayıp bağlamında manipüle ettiğimiz şey bir olasılık olmalı, peki bundan nasıl kaçınırız?
Sezgim, inşa ettiğimiz modeli, , ile sınırlı olacak şekilde sigmoid bir fonksiyona koymak olacak ve sanırım bu işe yarayacaktı, ama başka çözümler olup olmadığını bilmek istiyorum. Gradyan yükseltme sınıflandırma görevlerinde başarılı bir şekilde kullanıldığından, "doğru" (yani gerekçelendirme ile) bir çözüm mevcut olmalıdır.[ 0 , 1 ]