Normalization(정규화)
- 데이터의 형태를 좀 더 의미 있게, 혹은 트레이닝에 적합하게 전처리하는 과정
- 데이터를 z-score로 바꾸거나 minmax scaler를 사용하여 0과 1사이의 값으로 분포를 조정하는 것들이 해당
- 모든 피처의 범위 분포를 동일하게 하여 모델이 풀어야 하는 문제를 좀 더 간단하게 바꾸어 주는 전처리 과정
Regularization(정칙화)
- 오버피팅을 해결하고자 하는 방법 중에 하나
- L1, L2 Regularization, Dropout, Batch normalization
- 모델이 train set의 정답을 맞히지 못하도록 오버피팅을 방해(train loss가 증가) 하는 역할
- validation loss나 최종적인 test loss를 감소시키려는 목적
L1 Regularization
- 사이킷런이나 케라스, 텐서플로우 등의 패키지에서는 Lasso
- X가 2차원 이상인 여러 컬럼 값이 있는 데이터일 때 실제 효과를 볼 수 있음
- Linear Regression과 L1, L2 Regularization의 차이 중 하나는 alpha(α)라는 하이퍼파라미터(수식에서는 lambda(λ))가 하나 더 들어간다는 것이고, 그 값에 따라 error에 영향을 미침
- L1 Regularization이라는 건 결국 L1 Loss 에 Regularization Term을 붙인 것
- 기존 Loss에 절댓값만큼의 어떤 족쇄(패널티)를 달아줌으로써 Cost가 더 커지게 만든 셈인데, 이를 통해 특정 Weight의 중요도가 커지는 걸 막는다는 느낌(Cost가 커지면 Weight 중요도가 줄어드니 깐)
출처 : https://velog.io/@oneofakindscene/%EC%A0%95%EA%B7%9C%ED%99%94Regularization-%EC%9A%94%EC%95%BD
L2 Regularization
L1 / L2 Regularization의 차이점
- L1 Regularization은 가중치가 적은 벡터에 해당하는 계수를 0으로 보내면서 차원 축소와 비슷한 역할을 하는 것이 특징
- L2 Regularization은 0이 아닌 0에 가깝게 보내지만 제곱 텀이 있기 때문에 L1 Regularization보다는 수렴 속도가 빠름
Lp norm
1. vector norm
- 어떤 벡터를 길이나 사이즈같은 양적인 수치로 mapping하기 위한 함수
출처 : https://hichoe95.tistory.com/58
2. matrix norm
참고 : https://ghebook.blogspot.com/2021/03/matrix-norm-and-condition-number.html
Dropout
- 몇 가지의 값들을 모든 뉴런에 전달하는 것이 아닌 확률적으로 버리면서 전달하는 기법
- 오버피팅을 막는 Regularization layer 중 하나
- 확률을 너무 높이면, 제대로 전달되지 않으므로 학습이 잘되지 않고, 확률을 너무 낮추는 경우는 fully connected layer와 같음
Batch Normalization
- gradient vanishing, explode 문제를 해결하는 방법