In smoothing splines, the estimated function is like this.
f^=N(NTN+λΩN)−1NTy=Sλy In multinomial spline, the estimated function is like this.
f^=Bξ(BξTBξ)−1BξTy=Hξy We can compare the matrix Sλ and Hξ
H(Projection Operator, N*N)
Symmetric, H≥0
Symmetric, S≥0
Idempotent (HH=H)
dfλ=trace(S)
Sλ=====N(NTN+λΩN)−1NT(N−T(NTN+λΩN)N−1)−1(N−TNTNN−1+λN−TΩNN−1)−1(I+λN−TΩNN−1)−1(I+λK)−1 minf(y−f)T(y−f)+λθTΩNθ=minf(y−f)T(y−f)+λfTKf The matrix K is called penalty matrix. dfλ is the effective degree of freedom, which is the number of input variables we use.
Sλ=k=1∑Nρk(λ)ukukTy^=Sλy=k=1∑Nμkρk(λ)⟨μk,y⟩ρk(λ)=1+λdk1 y^ is decomposed into the sum of N eigen basis vector.
ρk(λ)는 S행렬의 고유값, dk 는 K행렬의 고유값이다. 두 고유값이 역수관계에 놓여있음을 확인할 수 있다.
Smoothing Spline 예시
붉은 선은 5개의 변수를, 초록 선은 11개의 변수를 dfλ로 잡은 경우이다. 각 고유벡터에 해당하는 고유값은 특정 고유벡터의 크기를 나타내는 것이고 여기서 고유값이 작은 고유벡터는 무시하는 것이다. 우측 하단의 경우에는 각 데이터 포인트에 해당하는 고유벡터의 값을 나타낸 것이다.
람다에 의해 고유벡터 자체가 바뀌지는 않기 때문에 스무딩 스플라인의 계는 모두 같은 고유벡터를 가진다.
y^=Sλy=Σk=1Nukρk(λ)⟨uk,y⟩의 경우 ρk(λ)로 축된 고유벡터들의 선형결합으로 표현된다.
y^=Hy의 경우 고유값이 0또는 1이기 때문에 고유벡터를 살리거나 죽인다는 두 가지 역할만 수행할 수 있다.
고유벡터 인덱스 순서는 해당하는 고유값의 크기에 달려있다. 즉 u1은 가장 큰 고유값을 가지고 uN는 가장 작은 고유값을 가진다. Sλuk=ρk(λ)uk이기 때문에 인덱스가 커질수록(차원이 높아질수록) 스무딩 매트릭스는 고유벡터를 더 축소시킨다고 생각할 수 있다.
u1,u2의 경우 고유값을 1을 가진다. 이 두가지는 절대 축소되지 않는다. 상수랑 1차로 생각하면 될듯.
ρk(λ)=1/(1+λdk)
Reparameterization: minθ∣∣y−Uθ∣∣2+λθTDθ, U는 uk를 열로 가지고 D는 dk를 대각성분으로 가지는 대각행렬이다.
dfλ=trace(Sλ)=Σk=1Nρk(λ)