[구글 머신러닝 단기집중과정] 9강

환공지능·2021년 7월 5일
0
post-thumbnail

1. 단순성을 위한 정규화 : L2 정규화

다음에 제시된 일반화 곡선은 학습 반복 횟수에 대해 학습 세트와 검증 세트의 손실을 보여준다.


그림 1. 학습 세트와 검증 세트에서의 손실

그림 1은 학습 손실은 점차 감소하지만 검증 손실은 결국 증가하는 모델을 보여준다. 즉, 이 일반화 곡선은 모델이 학습 세트의 데이터에 대해 과적합하다는 것을 보여준다. 이전에 언급했던 Occam 개념을 활용하면 복잡한 모델에 페널티를 부여하는 정규화라는 원칙을 사용하여 과적합을 방지할 수 도 있다.

다시 말해 다음은 단순히 손실을 최소화하는 것만을 목표로 삼는다 (경험적 위험 최소화).

최소화(손실(데이터모델))최소화 ( 손실 ( 데이터 | 모델))

이제 구조적 위험 최소화를 통해 다음과 같이 손실과 복잡도를 함께 최소화해 보겠다.

최소화(손실(데이터모델)+복잡도(모델))최소화 ( 손실 (데이터|모델) + 복잡도(모델))

이제 우리의 학습 최적화 알고리즘은 모델이 데이터에 얼마나 적합한지 측정하는 손실 항과 모델 복잡도를 측정하는 정규화 항의 함수가 된다.

본 머신러닝 단기집중과정에서는 일반적인 (그리고 어느 정도 서로 관련이 있는) 2가지 방법으로 모델 복잡도를 다루게 된다.

  • 모델의 모든 특성의 가중치에 대한 함수로서의 모델 복잡도
  • 0이 아닌 가중치를 사용하는 특성의 총 개수에 대한 함수로서의 모델 복잡도

모델 복잡도가 가중치에 대한 함수인 경우 높은 절대값을 사용하는 특성 가중치는 낮은 절대값을 사용하는 특성 가중치보다 더 복잡하다.

모든 특성 가중치를 제곱한 값의 합계로서 정규화 항을 정의하는 L2 정규화 공식을 사용하여 복잡도를 수치화할 수 있다.

L2정규화항=w2=w12+w22+w32+...+wn2L_{2} 정규화 항 = ||w||^2 = w_{1}^2+w_{2}^2+w_{3}^2+...+w_{n}^2

이 공식에서 0에 가까운 가중치는 모델 복잡도에 거의 영향을 미치지 않는 반면, 이상점 가중치는 큰 영향을 미칠 수 있다.

예를 들어 다음과 같은 가중치를 갖는 선형 모델이 있다.

w1=0.2,w2=0.5,w3=5,w4=1,w5=0.25,w6=0.75{w_{1} = 0.2, w_{2} = 0.5, w_{3} = 5,w_{4} = 1,w_{5} = 0.25,w_{6} = 0.75}

위 모델의 L2 정규화 항은 다음과 같이 26.915이다.

L2정규화항=w2=w12+w22+w32+...+wn2=26.915L_{2} 정규화 항 = ||w||^2 = w_{1}^2+w_{2}^2+**w_{3}^2**+...+w_{n}^2 = 26.915

하지만 제곱한 값이 25인 위의 굵은 글씨체로 된 w3w_{3}는 거의 모든 복잡도에 기여한다. 다만 다른 5개의 모든 가중치를 제곱한 값의 합계는 L2 정규화 항에 1.915를 더하기만 하면 된다.

2. 단순화를 위한 정규화 : 람다

모델 개발자는 람다라는 스칼라(정규화율이라고도 함)를 정규화 항의 값에 곱하여 정규화 항의 전반적인 영향을 조정한다. 즉, 모델 개발자는 다음을 수행하는 것을 목표로 한다.

최소화(손실(데이터모델)+λ복잡도(모델))최소화( 손실(데이터|모델) + \lambda 복잡도(모델))

L2 정규화를 수행하면 모델에 다음과 같은 효과를 줄 수 있다.

  • 가중치 값을 0으로 유도(정확히 0은 아님)
  • 정규 (종 모양 또는 가우시안) 분포를 사용하여 가중치 평균을 0으로 유도

람다 값을 높이면 정규화 효과가 강화된다. 예를 들어 높은 람다 값에 대한 가중치 히스토그램은 그림 2처럼 보일 수 있다.


그림 2. 가중치 히스토그램

람다 값을 낮추면 그림 3과 같이 더 평평한 히스토그램이 산출되는 경향이 있다.


그림 3. 더 낮은 람다 값으로 생성된 가중치 히스토그램

람다 값을 선택할 때 세워야 할 목표는 단순성과 학습 데이터 적합성 사이에 적절한 균형을 맞추는 것이다.

  • 람다 값이 너무 높으면 모델은 단순해지지만 데이터가 과소적합해질 위험이 있습니다. 그렇게 되면 모델은 유용한 예측을 수행할 만큼 학습 데이터에 대해 충분히 학습하지 못할 수 있다.

  • 람다 값이 너무 낮으면 모델은 더 복잡해지고 데이터가 과적합해질 위험이 있다. 모델이 학습 데이터의 특수성을 너무 많이 학습하게 되고 새로운 데이터로 일반화하지 못하게 된다.

이상적인 람다 값은 이전에 보지 못했던 새로운 데이터로 효과적으로 일반화되는 모델을 만들어낸다. 하지만 이상적인 람다 값은 데이터 의존적이므로 조정이 필요할 것이다.

.
.
.
강의 링크 : 구글 머신러닝 단기집중과정

profile
데이터사이언티스트 대학원생

0개의 댓글