210811 FUNDAMENTAL 22. Regularization

문소정·2021년 8월 11일
0

AIFFEL

목록 보기
25/66
RegularizationNormalization
이름정칙화정규화
exL1, L2 Reularization, Dropout, Batch normalization 등z-score, minmax scaler등
역할오버피팅 해결전처리 과정
설명- train loss를 증가시켜 오버피팅을 방해함
- train loss는 약간 증가하지만 validation loss/test loss를 감소시킴
- 모든 피처의 범위 분포를 동일하게 만듦
- 모델이 풀어야 하는 문제를 간단하게 만들어 줌

오버피팅(과적합)
: train set은 매우 잘 맞추지만, validation/test set은 맞추지 못하는 현상

1. L1 Regularization

  • norm : 벡터나 행렬, 함수 등의 거리를 나타내는 것(여기서는 벡터로만 생각!)
  • 1차원 선형회귀분석에서는 의미가 없음
  • X가 2차원 이상인 여러 컬럼 값이 있는 데이터일 때 실제 효과를 봄
  • Linear Regression과 L1 Regularization의 차이(coefficient(계수)으로 확인)
    • Linear Regression : 모든 컬럼의 가중치를 탐색하여 구함
    • L1 Regularization : 총 13개 중 7개를 제외한 나머지의 값들이 모두 0임
      + 차원 축소와 비슷한 개념으로 변수의 값을 7개만 남겨도 충분히 결과를 예측함

      Linear Regression과 L1, L2 Regularization의 차이 :

      • α\alpha라는 하이퍼파라미터(수식에서는 λ\lambda)가 하나 더 들어간다는 것
      • 그 값에 따라 error에 영향을 미친다는 점

2. L1 / L2 Regularization의 차이점

차이L1 RegularizationL2 Regularization
수식β\vert\beta\vertβ2\beta^2
코드?LassoRidge
특징차원축소와 비슷한 역할수렴속도가 빠름

3. Lp norm

  • Norm : 벡터뿐만 아니라 함수, 행렬에 대해서 크기를 구하는 것
  • 딥러닝에서의 Norm : 주로 벡터, 행렬의 Norm
  • vecter norm
    • p=p = \infty 일때, 가장 큰 숫자 출력
  • matrix norm
    • p=1p = 1일 때, 컬럼의 합이 가장 큰 값 출력
    • p=p = \infty 일때, 로우(?)의 합이 가장 큰 값

4. Dropout

  • 모든 뉴런에 전달하는 것이 아닌 확률적으로 버리면서 전달하는 기법
  • 오버피팅을 막는 Regularization layer 중 하나
    • 확률이 너무 높으면, 학습이 잘되지 않음
    • 확률이 너무 낮으면, Fullly connected layder와 같아짐
  • FC(fully connected layer)에서 오버피팅이 생길때 Dropout layer를 추가함

5. Batch Normalization

  • gradient vanishing, explode 문제를 해결하는 방법
  • normalize 분모에 ϵ\epsilon이 gradient가 사라지거나(vanishing), 폭등하는(explode) 것을 막음
    • 즉, 오버피팅이나 학습이 잘되지 않는 것을 막음
  • ϵ\epsilon이 없으면 z-score와 과정이 동일함
  • Batch Normalization을 통해 이미지가 정규화되고 ϵ\epsilon으로 인해 안정적인 학습이 가능함

0개의 댓글