[]
Logistic Regression acayipliği
Selam Galyalılar,
Şarap cinslerini iyi/kötü diye classify eden bir logistic regression algoritması yazmış bulunmaktayım ancak training error düzgün olmasına rağmen validation error'da istediğim sonuçları alamıyorum. Şöyle ki; overfit edilmiş bir model var elimizde. Beklendiği gibi training error, training set arttıkça azalıyor. Validation error ise training set arttıkça artıyor, buraya kadar her şey normal. Ancak validation error'ın her durumda training error'dan fazla olması gerekirken öyle değil. Durum tam tersi. Bu neden kaynaklanıyor? Logistic regression olduğu için mi böyle? Ekte grafikler var. Bu arada gradient descent algoritmasıyla parametre hesaplatıyorum.
Şarap cinslerini iyi/kötü diye classify eden bir logistic regression algoritması yazmış bulunmaktayım ancak training error düzgün olmasına rağmen validation error'da istediğim sonuçları alamıyorum. Şöyle ki; overfit edilmiş bir model var elimizde. Beklendiği gibi training error, training set arttıkça azalıyor. Validation error ise training set arttıkça artıyor, buraya kadar her şey normal. Ancak validation error'ın her durumda training error'dan fazla olması gerekirken öyle değil. Durum tam tersi. Bu neden kaynaklanıyor? Logistic regression olduğu için mi böyle? Ekte grafikler var. Bu arada gradient descent algoritmasıyla parametre hesaplatıyorum.
logistic regression la alakası yok.
data setinizi, yazdığınız kodu buraya koyarsanız daha rahat yorum yapabiliriz.
bu arada validation error her zaman training error dan fazla olmak zorunda degil. 700 örnekten sonra test error training errordan fazla olmaya başlamış. validation datası training datasından baya farklı, o yüzden ilk başlarda validation error düşük. şöyle düşünün, training sette "zor classify edilen" noktalar varken, test sette hep "kolay classify edilen" noktalar var, bu yüzden böyle bir durum ortaya çıkıyor. en iyisi datayı analiz etmek tabi.
edit: hangi ortamda kodu yazıyorsunuz, matlab, R?
data setinizi, yazdığınız kodu buraya koyarsanız daha rahat yorum yapabiliriz.
bu arada validation error her zaman training error dan fazla olmak zorunda degil. 700 örnekten sonra test error training errordan fazla olmaya başlamış. validation datası training datasından baya farklı, o yüzden ilk başlarda validation error düşük. şöyle düşünün, training sette "zor classify edilen" noktalar varken, test sette hep "kolay classify edilen" noktalar var, bu yüzden böyle bir durum ortaya çıkıyor. en iyisi datayı analiz etmek tabi.
edit: hangi ortamda kodu yazıyorsunuz, matlab, R?
- meteonur (12.12.12 23:18:06 ~ 23:20:13)
Çünkü overfitting yapıyordum ve durumda öyle olması gerekiyor ki zaten durumu çözdüm, bir yerde - yazacağıma + yazmışım, ondan böyle çıkıyormuş. Şimdi olması gerektiği gibi sonuç veriyor.
- alicia_dominica (13.12.12 07:46:56)
Anlatamadım galibe, modeli dataya overfit olacak şekilde seçtim. ÖZELLİKLE öyle seçtim ki, cost function'ın nasıl davrandığını görebileyim ki nasıl davranması gerektiğini de biliyorum. Kaldı ki zaten öyle davranıyor ben sadece bir yerde toplama hatası yapmışım.
Ve de veri gerçek veri. Bir kısmını da ayırıp modelin gerçekten overfit edip etmediğine bakmak için kullanıyorum zaten o yüzden iki farklı cost function değeri var. Uzun uzun model validation'ın nasıl yapıldığını anlatmama gerek yok, zaten biliyorsunuzdur.
Ve de veri gerçek veri. Bir kısmını da ayırıp modelin gerçekten overfit edip etmediğine bakmak için kullanıyorum zaten o yüzden iki farklı cost function değeri var. Uzun uzun model validation'ın nasıl yapıldığını anlatmama gerek yok, zaten biliyorsunuzdur.
- alicia_dominica (14.12.12 10:25:42)
1