변수에 대한 계수가 클수록 모델이 해당 차원에서 "스윙"할 수있는 능력이 커지고 잡음에 대한 기회가 증가한다고 생각합니다. 모델의 분산과 큰 계수 사이의 관계에 대한 합리적인 감각을 가지고 있다고 생각하지만 왜 과적 합 모델에서 발생 하는지에 대한 감각은 없습니다 . 이들이 과적 합의 증상이며 계수 수축이 모형의 분산을 줄이는 기술이라고 말하는 것이 잘못입니까? 계수 축소를 통한 정규화는 큰 계수가 과적 합 모델의 결과라는 원칙에 따라 작동하는 것 같지만 아마도 기술의 동기를 잘못 해석하고있을 것입니다.
큰 계수가 일반적으로 과적 합의 증상이라는 직관은 다음 예에서 비롯됩니다.
우리 가 모두 x 축에있는 점 을 맞추고 싶다고 가정 해 봅시다 . 인 솔루션을 갖는 다항식을 쉽게 구성 할 수 있습니다 . 우리의 포인트가 x = 1,2,3,4 라고 가정 해 봅시다 . 이 기법은 모든 계수> = 10을 제공합니다 (한 계수 제외). 더 많은 점을 추가하면 (다항식의 정도가 높아짐에 따라)이 계수의 크기가 빠르게 증가합니다.
이 예제는 현재 모델 계수의 크기를 생성 된 모델의 "복잡성"과 연결하는 방법이지만이 사례는 실제로 실제 동작을 나타 내기 위해 멸균해야한다는 것이 우려됩니다. 고의적으로 과적 합 모델 (2 차 샘플링 모델에서 생성 된 데이터에 10도 다항식 OLS 적합)을 구축했으며 내 모델에서 대부분 작은 계수를 보는 것에 놀랐습니다.
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
이 예에서 제외 된 것은 계수의 3 분의 2가 1보다 작고 다른 계수에 비해 비정상적으로 큰 3 개의 계수가 있다는 것입니다 (이 계수와 관련된 변수도 가장 밀접하게 적용됩니다) 실제 샘플링 모델과 관련됨).
(L2) 정규화는 모형의 분산을 줄이는 메커니즘 일뿐 아니라 미래 데이터를 더 잘 맞추기 위해 곡선을 "부드럽게"하거나 과도하게 모형화 된 모형이 큰 계수를 나타내는 경향이 있다는 관측에서 도출 된 휴리스틱을 활용합니까? 과적 합 모델이 큰 계수를 나타내는 경향이 있다는 정확한 진술입니까? 그렇다면 누구나이 현상의 배후에있는 메커니즘을 조금 설명하고 /하거나 일부 문헌으로 안내 할 수 있습니까?