Değişken üzerindeki bir katsayı ne kadar büyükse, modelin bu boyutta "sallanma" yeteneğinin o kadar fazla olması ve gürültüye uyması için daha fazla fırsat sağlanması gerektiğini hayal ediyorum. Modeldeki varyans ve büyük katsayılar arasındaki ilişki konusunda makul bir anlayışa sahip olduğumu düşünmeme rağmen , kıyafet modellerinde neden ortaya çıktıkları konusunda hiçbir fikrim yok. Bunların aşırı uyuşma belirtisi olduğunu ve yanlış katlanma büzülmesinin bir model olduğunu söylemek yanlış mıdır? Katsayılı büzülmeyle yapılan düzenlileşme, büyük katsayıların çok abartılı bir modelin sonucu olduğu prensibiyle çalışıyor gibi görünmektedir, ancak belki de tekniğin arkasındaki motivasyonu yanlış yorumluyorum.
Büyük katsayıların genellikle fazla uydurma belirtisi olduğuna dair sezgilerim şu örnekten geliyor:
Diyelim ki x ekseni üzerinde oturan noktalarına uymak istedik . Çözümleri şu noktalar olan bir polinomu kolayca yapabiliriz: f ( x ) = ( x - x 1 ) ( x - x 2 ) . . . . ( X - X , n - 1 ) ( X - X , n ) . Diyelim ki noktalarımız x = 1 , 2 , 3 , 4. Bu teknik tüm katsayıları> = 10 verir (bir katsayı hariç). Daha fazla puan ekledikçe (ve böylece polinomun derecesini arttırdıkça) bu katsayıların büyüklüğü hızla artacaktır.
Bu örnek şu anda model katsayılarının boyutunu oluşturulan modellerin "karmaşıklığı" ile nasıl ilişkilendirdiğimi gösteriyor, ancak bu durumun gerçek dünya davranışının göstergesi olacağı için steril olması konusunda endişeliyim. Kasıtlı olarak bir aşırı model oluşturdum (ikinci dereceden bir örnekleme modelinden elde edilen verilere uygun 10. derece polinom OLS) ve modelimde çoğunlukla küçük katsayıları gördüğümde şaşırdım:
set.seed(123)
xv = seq(-5,15,length.out=1e4)
x=sample(xv,20)
gen=function(v){v^2 + 7*rnorm(length(v))}
y=gen(x)
df = data.frame(x,y)
model = lm(y~poly(x,10,raw=T), data=df)
summary(abs(model$coefficients))
# Min. 1st Qu. Median Mean 3rd Qu. Max.
# 0.000001 0.003666 0.172400 1.469000 1.776000 5.957000
data.frame(sort(abs(model$coefficients)))
# model.coefficients
# poly(x, 10, raw = T)10 7.118668e-07
# poly(x, 10, raw = T)9 3.816941e-05
# poly(x, 10, raw = T)8 7.675023e-04
# poly(x, 10, raw = T)7 6.565424e-03
# poly(x, 10, raw = T)6 1.070573e-02
# poly(x, 10, raw = T)5 1.723969e-01
# poly(x, 10, raw = T)3 6.341401e-01
# poly(x, 10, raw = T)4 8.007111e-01
# poly(x, 10, raw = T)1 2.751109e+00
# poly(x, 10, raw = T)2 5.830923e+00
# (Intercept) 5.956870e+00
Belki bu örnekten elde edilen sonuç, katsayıların üçte ikisinin 1'den az olması ve diğer katsayılara göre , alışılmadık derecede büyük olan üç katsayı olmasıdır (ve bu katsayılarla ilişkili değişkenler de en yakın olanlardır) gerçek örnekleme modeli ile ilgili).
(L2) normalizasyonu, sadece bir modeldeki varyansı azaltan bir mekanizma mıdır ve bu nedenle gelecekteki verilere daha iyi uyması için eğriyi "yumuşaklaştırır" mı, yoksa aşırı beslemeli modellerin büyük katsayılar sergileme eğiliminde olduğu gözleminden elde edilen bir buluşsal yöntemden mi yararlanıyor? Takılan modellerin büyük katsayılar sergileme eğiliminde olduğu doğru bir ifade midir? Eğer öyleyse, biri fenomen arkasındaki mekanizmayı biraz açıklayabilir ve / veya beni bazı literatüre yönlendirebilir mi?