L1, L2 정규화에 대한 직관적인 이해

1039

질문:

분포의 형태에 따라 MLE를 계산하는 식이 제곱항 형태이면 L2 정규화를, 제곱항으로 도출되지 않을 경우 L1 정규화를 사용한다는 점 이해했습니다. (베이지안 관점에서도, 사전분포의 형태에 따라 자동으로 L1, L2 정규화 형태가 도출되는 점 확인했습니다)

제가 궁금한 점은, 그럼에도 불구하고 구글링을 해보면 왜 많은 페이지, 논문 등에서 L1, L2를 혼용하는지, 혹은 엘라스틱 넷 같이 L1과 L2 항을 동시에 고려한 정규화 기법까지 나와있는지 알고 싶습니다.

정규화를 잘못한 것이라 생각할 수도 있겠으나, 실강에서 말씀주신 것처럼 사고한 방식(목적함수를 쓴 이유)이 합리적이기만 하면 될 것 같은데, 가령 L1 정규화의 특징으로 알려진 변수 선택이라든지…

만약 포아송 분포에서 L2 정규화를 쓰거나, 정규분포 데이터에서 L1 정규화를 쓸 시, 적절한 정규화를 썼을 때 대비 어떤 문제점이 있을지 알려주실 수 있을까요?


답변:

질문이 두 단계로 구분되는데, 일단 직관적인 이해를 위해 Bayesian 위에서 생각해봅시다.

Prior와 Posterior가 일치하는 Conjugate Prior를 쓰는 경우에 Prior가 정규분포일 경우 Posterior도 정규분포가 나오도록, 즉 쉽게 계산할 수 있도록 만들어놓은 구조에서 보면 L2를 따르는 Likelihood를 쓰고 있을 경우 L2를 따라가는게 계산상 합리적입니다.

그런데, Conjugate Prior를 쓰는 이유가 covariance로 인해 Posterior = Likelihood x Prior 라는 식이 독립사건이 아닌 경우를 피하기 위해서라는 점도 함께 떠올려봅시다. 엄밀히 따지면 독립사건이 아닐 수도 있기 때문에, 타협점으로 increment를 작게해서 near independence라고 가정하고 covariance 값을 무시하고 있습니다.

그럼 L2정규화란 Prior를 정규분포로 “가정”한 결과물이고, conjugate이 아닌 일반 경우라면 Posterior가 반드시 정규분포여야할 필요는 없다는 이해를 얻을 수 있을 겁니다.

“Prior가 정규분포 -> L2 정규화” 라는 명제는 참 입니다만,

“L2 정규화 -> Posterior가 정규분포” 라는 명제는 참이어야할 이유가 없습니다. 이 명제가 참이기 위해서는 Conjugate prior 계산을 하고 있다는 대명제가 필요합니다.

또한, Posterior가 정규분포이기 때문에 L2를 반드시 써야한다는 결론도 반드시 참일 필요는 없습니다.

정리하면, L1, L2 정규화를 쓰는 경우 (무)의식적으로 Prior에 대한 정보를 반영하는 것은 맞지만, Conjugate이 아닌 경우에 굳이 Posterior가 L1, L2로 나와야할 이유가 없겠죠.

 

그럼 Prior가 정규분포라고 생각하면서 L1 정규화를 쓰면 어떤 문제가 발생하느냐에 대한 질문으로 넘어가봅시다.

Prior에 대한 정보를 잘못 넣으면 Likelihood가 정상적이어도 (데이터가 정상적이어도), Posterior가 잘못된 값이 나올겁니다. 데이터가 계속 추가되면서 Prior를 어떻게 쓰건 무의미한 경우라면 상관이 없겠지만, L1 (or L2) regularization을 하는 중이니까, Prior를 (거의) 무시했다고는 할 수 없는 상황일겁니다.

결국 잘못된 Prior를 비중있게 집어넣어서 Posterior가 실제 데이터 분포에 근사치로 나오지 못하게 될 겁니다.

이게 Bayesian이 학계에서 주류로 받아들여지지 못하는 가장 결정적인 이유이기도 합니다. Prior를 어떻게 만드느냐에 따라 결과값에 너무 많은 영향을 줄 수도 있기 때문입니다.

정리하면, L1, L2 정규화와 Prior가 일치하지 않은 경우에는 Posterior에 해당하는 계산 결과값 “성능”이 더 안 좋게 나올겁니다.

 

마지막으로, Bayesian을 벗어나서 한번 생각해봅시다.

수업 때 잠깐 정리했습니다만, L1은 y=-x+1을 비롯한 4개의 직선으로 정리한 마름모 꼴, L2는 x^2 + y^2 =1로 표현한 원과의 접점을 찾는 계산이라고 생각할 수 있습니다. 말을 바꾸면 L1은 corner solution인 (x,0), (0,y) 같은 한쪽 극단을 선택할 확률이 1이고, L2는 tangent solution인 (x,y)를 선택할 확률이 1입니다.

(probability convergence로는 1입니다만, almost surely convergence로는 1이 아닙니다. L1도 대각선과 일치하는 4개의 가능성이 있고, L2도 축 위의 점을 선택할 수 있는 4개의 가능성이 있기 때문이죠. 다만 연속선상에서 각각의 포인트가 찍힐 확률은 0이기 때문에 위와 같이 표현되어 있습니다.)

좀 더 직관적으로 정리하면, L1은 특정 변수가 미치는 영향을 “제어”하겠다는 접근이고, L2는 계산에 들어간 모든 변수의 영향을 “제어”하겠다는 말로 풀어볼 수 있습니다.

특정 변수만 영향을 주고, 나머지는 아무런 영향을 안 주는 Poisson 스타일이 아닌 일반적인 경우를 가정하면, 특정 변수가 미치는 영향만 제어하면 일종의 편미분만 하는 거니까 전미분보다 부정확하겠죠. 그래서 Prior가 정규분포인데 L1을 쓰면 전미분 써야하는 자리에 편미분만 쓰는 꼴이라고 생각할 수 있습니다.

 

L1, L2라는 조건은 결국 변수를 어떻게 제어하느냐에 대한 선택이라는 관점으로 확장시켜서 생각해볼 수 있는데, Regularization이라는게 정확도를 포기하고 일반화를 목표로하는 작업이니만큼, 그 때 tangent solution을 찾아내는 방식으로 전미분 제어를 할지, corner solution 방식으로 편미분 제어를 할지는 결국 선택의 문제로 돌아올 것 같습니다.

수학적으로는 Prior 정보를 반영하지 않은 Regularization은 왜곡이기 때문에 결과값인 Posterior를 악화시키겠지만, 어차피 Regularization이라는 작업이 “일부러 좀 더 틀리도록” 만드는 계산이잖습니까?

 

도움이 되었으면 합니다.