TechY

[간단 정리] Neural-Network 는 multi-collinearity 의 영향을 받지 않는가? 본문

[간단 정리]

[간단 정리] Neural-Network 는 multi-collinearity 의 영향을 받지 않는가?

hskimim 2021. 8. 19. 03:23

neural network 의 vector output 은 D를 output dimension 이라고 하면, 데이터 하나에 [1XD] 의 형태를 띄고 있다.

neural netowork 모델 파라미터를 고정시키고, output vector 를 input 으로 하는, (non) linear regression 을 통해, task 를 해결하려고 할 때, input 의 형태를 보면, multi-collinearity 의 형태를 띄고 있다.

 

multi-collinearity 는 parameter estimate 의 variance 를 크게 만들기 때문에, 평소 SVD를 해서 사용해오던 차에, 논문을 읽었는데, 글을 인용해본다.

 

"Due to its overparameterization, the coeficients or weights of a neural network are inherently difficult to interpret. However, it is this very redundancy that makes the individual weights unimportant. That is, at each level of the network, the inputs are linear combinations of the inputs of the previous level. The final output is a functions of very many combinations of sigmoidal functions involving high order interactions of the original predictors. Thus neural networks guard against the problems" of multicollinearity at the expense of interpretability"

 

일단 최소한 나처럼 neural network 를 freeze 해서 쓰는 건 안된다고 하자. 그렇다면, neural network 를 학습시킬 때, 충분한 파라미터가 확보되었다는 가정 아래에 MSE 로 최적화하는 건, multi-collinearity 이슈가 크지 않다는 것인가? 이걸 어떻게 직접 실험할 수 있을까.. 

 

 

============================================================================

회사 동료와 해당 문제에 대해 discussion 한 후, 머릿 속으로 정리한 내용들을 간략하게 적어본다.

 

1. non-linear 한 모델에서는 multi-collinearity 가 문제가 되지 않는다. estimated beta의 standard error 를 계산할 때, variable 간 co-variance 가 사용되는데, non-linear activation을 사용하는 neural network 에서 이러한 co-variance measure 는 큰 의미가 없다.

 

2. multi-collinearity 는 beta의 confidence 에는 영향을 주지만 최종 prediction value 에는 큰 영향을 주지 않는다. 대부분의 neural network 의 regression task 에서는 weight 에 대한 interpretation 보다는 prediction 자체에 집중하기 때문에, 이러한  multi-collinearity 를 염두에 두지 않는다.