Karar eşiği lojistik regresyonda hiperparametre midir?


13

(İkili) lojistik regresyondan tahmin edilen sınıflar, model tarafından oluşturulan sınıf üyelik olasılıkları üzerinde bir eşik kullanılarak belirlenir. Anladığım kadarıyla, varsayılan olarak 0,5 kullanılır.

Ancak eşiği değiştirmek, öngörülen sınıflamaları değiştirecektir. Bu eşiğin bir hiperparametre olduğu anlamına mı geliyor? Öyleyse, (örneğin) scikit-learn'un GridSearchCVyöntemini (normalleştirme parametresi için yaptığınız gibi) kullanarak bir eşik ızgarasını kolayca aramak neden mümkün değildir C.


1
"Anladığım kadarıyla, varsayılan olarak 0,5 kullanılır." "Tipik" kelimesinin anlamına bağlıdır. Uygulamada hiç kimse bunu yapmamalıdır.
Matthew Drury


Kesinlikle lojistik regresyon anlamına gelmezsiniz, ikili sınıflandırma eşiği olan bir lojistik regresör kullanmak istersiniz (doğrusal olarak bağımlı olmalarını önlemek için iki sınıfın her biri için bir regresör, biraz tohumlanmış rastgele veya ağırlık ile eğitebilirsiniz).
smci

Yanıtlar:


12

Karar eşiği, tahmin ettiğiniz pozitiflerin sayısı ile tahmin ettiğiniz negatiflerin sayısı arasında bir denge yaratır - çünkü, totolojik olarak, karar eşiğini artırmak, tahmin ettiğiniz pozitiflerin sayısını azaltacak ve negatif olanların sayısını artıracaktır. tahmin edersiniz.

Karar eşiği, model ayarlama anlamında hiper parametre değildir , çünkü modelin esnekliğini değiştirmez .

C(örneğin, lojistik regresyon katsayıları farklı olacaktır), eşiği ayarlamak sadece iki şey yapabilir: FN için TP ve TN için FP'den işlem yapmak. Bununla birlikte, model aynı kalır, çünkü bu katsayıları değiştirmez. (Aynısı, rastgele ormanlar gibi katsayıları olmayan modeller için de geçerlidir: eşiği değiştirmek ağaçlar hakkında hiçbir şeyi değiştirmez.) Yani dar anlamda, hatalar arasında en iyi dengeyi bulmanız doğrudur. "ayar" dır, ancak eşiği değiştirmenin diğer model hiper parametrelerine optimize edilmiş bir şekilde bağlı olduğunu düşünmekte yanılıyorsunuz GridSearchCV.

Başka bir deyişle, karar eşiğini değiştirmek, kaç tane Yanlış Pozitif ve Yanlış Negatif Olmak istediğiniz konusunda bir seçiminizi yansıtır. Karar eşiğini -1 gibi tamamen mantıksız bir değere ayarladığınız varsayımını düşünün. Tüm olasılıklar negatif değildir, bu nedenle bu eşikle her gözlem için "pozitif" tahmin edersiniz. Belli bir bakış açısından, bu harika, çünkü yanlış negatif oranınız 0.0. Bununla birlikte, yanlış pozitif oranınız da 1.0'ın en üstündedir, bu nedenle -1'deki eşik seçiminiz korkunçtur.

İdeal olan, elbette, 1.0 TPR ve 0.0 FPR ve 0.0 FNR'ye sahip olmaktır. Ancak bu, gerçek dünyadaki uygulamalarda genellikle imkansızdır, bu yüzden soru "ne kadar TPR için ne kadar FPR kabul etmeye hazırım?" Bu da eğrilerinin motivasyonudur .


@Sycorax cevabı için teşekkürler. Beni neredeyse ikna ettin. Ancak "Ne kadar TPR için ne kadar FPR kabul etmeye hazır olduğum" fikrini resmileştiremiyor muyuz? örneğin bir maliyet matrisi kullanmak. Bir maliyet matrisimiz varsa, bir hiperparametreyi ayarlayacağınız gibi, ayarlama yoluyla en uygun eşiği bulmak arzu edilmez mi? Veya en uygun eşiği bulmanın daha iyi bir yolu var mı?
Nick

1
CGridSearchCV

@Sycorax Eşik ve kesişme (önyargı terimi) temelde aynı şeyi yapmıyor mu? Yani eşiği 0,5'te sabit tutabilir, ancak kesmeyi buna göre değiştirebilirsiniz; bu "modeli değiştirir" (son yorumunuza göre) ancak ikili tahminler açısından aynı etkiye sahiptir. Bu doğru mu? Eğer öyleyse, "modeli değiştirmek" ve "karar kuralını değiştirmek" arasındaki katı ayrımın bu durumda çok anlamlı olduğundan emin değilim.
amip, Reinstate Monica'nın

@amoeba Bu düşündürücü bir açıklama. Bunu düşünmem gerekecek. Öneri tutarınızın "eşiği 0,5'te tut ve kesişmeyi ayarladığınız bir hiperparametre olarak ele alalım" olduğunu düşünüyorum. Modelin artık olasılığını en üst düzeye çıkarmadığı gözlemi dışında, bunu yapmanıza engel olacak hiçbir şey matematiksel olarak yoktur. Ancak, MLE'ye ulaşmak bazı belirli bağlamlarda bir öncelik olmayabilir.
Sycorax, Reinstate Monica'nın

10

Ancak eşiği değiştirmek, öngörülen sınıflamaları değiştirecektir. Bu eşiğin bir hiperparametre olduğu anlamına mı geliyor?

Evet, öyle, sorta. Karar kuralınızın hiperparametresi , ancak altta yatan gerileme değil.

Öyleyse, neden (örneğin) scikit-learn'un GridSearchCV yöntemini kullanarak (eşleştirme parametresi C'de yaptığınız gibi) bir eşik ızgarası üzerinde kolayca arama yapmak mümkün değildir.

Bu sklearn'deki bir tasarım hatasıdır. Çoğu sınıflandırma senaryosu için en iyi uygulama, bu olasılıkların kalitesinin bir ölçüsünü (lojistik regresyondaki log kaybı gibi) kullanarak altta yatan modele (olasılıkları öngören) uymaktır. Daha sonra, sınıflandırma kuralınızın bazı iş hedeflerini optimize etmek için bu olasılıklar üzerinde bir karar eşiği ayarlanmalıdır. Kütüphane, kalite eşiğine göre karar eşiğini optimize etmeyi kolaylaştırmalıdır, ancak bunun iyi bir şey yaptığına inanmıyorum.

Sanırım burası yanlış anladığımız yerlerden biri. Kütüphane, predicteşik değeri olan tüm sınıflandırma modellerinde bir yöntem içerir 0.5. Bu yöntem işe yaramaz ve bunu hiç çağırmamanızı şiddetle savunuyorum. Sklearn'ün daha iyi bir iş akışını teşvik etmemesi talihsiz bir durumdur.


Ayrıca, predictyöntemin varsayılan seçimi 0.5 olan bir kesme olarak şüphenizi paylaşıyorum , ancak örnek dışı çapraz entropi kaybına göre modelleri ayarlayabilen nesneleri GridSearchCVkabul ediyorum scorer. Demek istediğim eksik mi?
Sycorax, Reinstate Monica

Doğru, bunun en iyi yöntem olduğu konusunda anlaştı, ancak kullanıcıları karar eşiklerini ayarlamaya teşvik etmiyor.
Matthew Drury

Anladım. Ne demek istediğini anlıyorum!
Sycorax, Reinstate Monica

1
@Sycorax açıklığa kavuşturmak için düzenlemeye çalıştı!
Matthew Drury
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.