뮤트 개발일지

AIFFEL 아이펠 31일차 본문

AIFFEL

AIFFEL 아이펠 31일차

박뮤트 2022. 2. 16. 11:09

Regularization

Regularizaiton: 정칙화. 오버피팅을 해결하기 위한 방법 중 하나로, L1, L2 Regularization, Dropout, Batch normalization 등이 있다. Regularization 기법들은 모델이 train set의 정답을 맞추지 못하도록 오버피팅을 방해(train loss 증가)하는 역할을 한다. train loss는 약간 증가하지만 결과적으로 validation loss나 최종 test loss를 감소시키려는 목적을 갖고 있다.

 

Normalization: 정규화. 데이터의 형태를 좀 더 의미있게, 혹은 트레이닝에 적합하게 전처리하는 과정을 말한다. 데이터를 z-score로 바꾸거나 minmax scaler를 사용하여 0과 1 사이의 값으로 분포를 조정하는 것들이다. 모든 피처의 범위 분포를 동일하게 하여 모델이 풀어야하는 문제를 좀 더 간단하게 바꾸어주는 전처리 과정이다.

 

L1 Regularization (Lasso)

X가 1차원 값인 선형회귀분석은 L1 Regularization이 의미가 없다. 그러므로 L1 Regularization을 사용할 때는 X가 2차원 이상인 여러 컬럼 값이 있는 데이터일 때 실제 효과를 볼 수 있다.

wine dataset 분석에서 Linear Regression은 모든 컬럼의 가중치를 구하는 반면, L1 Regularization은 13개의 컬럼 중 7개 만 가중치를 구하여 계산하였다. Error에서 큰 차이가 없지만, 어떤 컬럼이 결과에 영향을 더 크게 미치는지 확실히 알 수 있다. 이런 경우 다른 문제에서도 error의 차이가 크지 않는다면, 차원축소와 비슷한 개념으로 변수를 7개 값만 남겨도 충분히 결과를 예측할 수 있다. 다만, Linear Regression과 L1, L2 Regularization의 차이 중 하나는 α 하이퍼파라미터가 하나 더 들어가고, 그 값에 따가 error에 영향을 미친다는 것이다.

 

L2 Regulaization (Ridge)

L1 Regularization은 가중치가 적은 벡터에 해당하는 계수를 0으로 보내면서 차원 축소와 비슷한 역할을 한다. L2 Regularization은 0에 가깝게 보내지면 제곱 텀이 있기 때문에 L1 Regularization보다 수렴 속도가 빠르다는 장점이 있다. 제곱 텀에서 결과에 큰 영향을 미치는 값은 더 크게, 결과에 영향을 적게 미치는 값들은 더 작게 보내면서 수렴속도가 빨라지는 것이다.

 

=> 데이터에 따라 적절한 Regularization 방법을 활용해야 한다.

 

Dropout

확률적으로 랜덤하게 몇 가지의 뉴럴만 선택하여 정보를 전달하는 과정이다. 드롭아웃은 오버피팅을 막는 Regularization layer 중 하나이다. 확률을 너무 높이면, 제대로 전달되지 않아 학습이 잘 안되고, 확률을 너무 낮추면 fully connected layer와 같이 된다. fully connected layer에서 오버피팅이 생기는 경우에 주로 Dropout layer를 추가한다.

 

Batch Normalization

gradient vanishin, explode 문제를 해결하는 방법이다. Batch Normalization은 좀 더 빠르게 정확도를 상승시킨다.

'AIFFEL' 카테고리의 다른 글

AIFFEL 아이펠 33일차  (0) 2022.02.17
AIFFEL 아이펠 32일차  (0) 2022.02.16
AIFFEL 아이펠 30일차  (0) 2022.02.11
AIFFEL 아이펠 29일차  (0) 2022.02.10
AIFFEL 아이펠 28일차  (0) 2022.02.10