Im between cherry

정규화, 노름, L1정규화, L2정규화, Elastic net, Early Stopping 본문

데이터분석/텍스트 데이터 분석

정규화, 노름, L1정규화, L2정규화, Elastic net, Early Stopping

meal 2020. 11. 29. 00:54

정규화

- 일반화 오차를 줄이기 위한 기계학습의 모형이나 알고리즘의 수정

-- 모형의 파라미터에 제약을 가한다

-- 여러 개의 모형을 학습시킨다

-- 여러가지 과제에 학습시킨다

노름(Norm)

- 길이 또는 크기를 일반화한 개념

- Lp 노름

L1 정규화

- 손실함수에 파라미터의 L1 노름을 추가: 가중치(w)를 최대한 작게, 손실 함수도 작게.

- LASSO(통계 회귀분석에서 불리는 용어)

- 가중치를 0으로 만드는 경향이 강함: 변수선택(fearue selection) - 중요하지 않은 변수는 날려버린다. 손실함수가 0이 됨.

L2정규화

- 손실함수에 파라미터의 L2 노름을 추가: L1 정규화랑 큰 차이는 없지만, 이건 제곱을 하니까 계수를 작게하려는 경향이 있다.

- Ridge 회귀분석(통계 회귀분석에서 불리는 용어) or Weight Decay(딥러닝, 인공신경망에서 불리는 용어)

- 가중치(계수)를 전반적으로 작게 만드는 경향이 강함 - 손실함수를 완만하게(L1은 0으로)

 

Elastic Net

- 손실함수에 파라미터의 L1, L2 노름을 추가

- 다른 여러 종류의 노름은 Elastic Net으로 근사

- 알파와 베타의 조합을 어떻게 하느냐에 따라, 노름(커브 형태)을 조절하여 다양한 정규화를 할 수 있다. 원하는 가중치를 줄 수 있는 것

Early Stopping

- 인공신경망의 학습에서 epoch(데이터를 처음부터 끝까지 한 번 훓어보는 것)수를 결정하는 방법

-- epoch를 늘이면 train 데이터의 오차는 줄어든다. 일반화 에러는 증가한다.

- 매 epoch마다 별도의 데이터로 검증을 수행

-- epoch도 하이퍼파라미터이기 때문에 검증(validation)가능

- 성능이 더 이상 개선되지 않으면 중단

-- 그래프가 줄어들다가 증가하면, 과적합이 일어나는 것으로 판단하고, 일찍 중단하는 것

 

정규화로서 Early Stopping

-- epoch는 정규화이기도 하다.

- 인공신경망의 학습: 데이터 입력 -> 손실 계산 -> 파라미터 업데이트

- 파라미터를 많이 업데이트할 수록 초기값에서 멀리 떨어진 값을 추정.

-- L1, L2도 0에서 많이 벗어나지 않도록 하는 것

- 학습을 일찍 중단하면 파라미터는 초기값에 가까운 값이 됨

 

Comments