티스토리 뷰

Q. 정규화를 왜 해야할까요? 정규화의 방법은 무엇이 있나요?

- 정규화(Normalization) 는 데이터가 특정한 분포를 따르게 하려는 것이 아니라 범위를 조정하는데 목적이 있다.

* 데이터가 정규분포를 따르는지를 확인하는 것을 정규성(Normality) 검정이라고 합니다.

※ 정규화(Regularization) : 과적합을 방지하기 위해 추가적인 규제(L1- 가중치의 절대값의 합, L2 규제- 가중치의 제곱의 합을 비용함수에 추가)를 부여해 일반화 성능을 개선하는 것

 

1. 정규화(Normalization)란?

- 정규화는 각 데이터들의 범위를 일정하게 조절하여 피처들을 비슷한 스케일로 맞춰주는 것

 

2. 왜 해야할까?

- 피처의 크기 차이로 인해 편향되는 것을 줄이고 각 변수들의 영향을 균형있게 학습하여 모델 성능을 높이고,

- 불필요한 추가 연산을 줄여 모델의 학습 속도를 높이기 위해

 

1) 거리기반의 모델(KNN, SVM 등)에서는 큰 값 범위를 가진 피처가 더 큰 영향을 미치기 때문

정규화로 모든 피처가 동일한 범위에 위치하면 거리 계산이 더 균형있게 이루어 짐

 

2) 경사 하강법을 사용하는 모델

- 경사하강법은 손실 함수의 최소값을 찾기 위해 반복적으로 손실 함수의 기울기를 계산하고 가중치를 업데이트

이는 최적의 가중치가 결정될 때까지 반복되는데, 데이터 스케일이 맞지 않으면 특정 피처가 지나치게 큰 영향을 주어 최적의 값을 지나치며 비효율적인 반복이 발생할 수 있다.

 

* 경사하강법을 사용하는 모델들

- 선형 회귀: 경사 하강법을 통해 손실 함수(평균 제곱 오차)를 최소화하도록 가중치(회귀 계수)를 최적화

- 로지스틱 회귀: 확률적 경사 하강법(전체 데이터셋 대신 무작위로 선택한 한 개의 데이터 포인트를 이용해 손실의 기울기를 계산하는 방법)을 통해 손실 함수(로그 손실 함수)를 최소화하도록 가중치를 최적화

- 신경망(다층 퍼셉트론, CNN, RNN 등): 역전파를 통해 각 층의 가중치를 경사하강법으로 학습

- 서포트 벡터 머신(특히 커널SVM): 확률적 경사 하강법

- 행렬 분해 기반 추천 시스템: 사용자와 아이템의 잠재 요인을 학습하기 위해 경사하강법을 사용하여 손실 함수(RMSE)를 최소화

 

3. 정규화 방법

* 주의: 동일한 기준으로 정규화 시켜줘야 하므로 test는 새로운 fit을 하지 않고 train기준으로 transform만 할 것!

 

1) 최소-최대 정규화(Min-Max scaling): 각 변수의 최소값을 0, 최대값을 1로 변환

from sklearn.preprocessing import MinMaxScaler

scaler = MinMaxScaler()
scaled_X_train = scaler.fit_transform(X_train)
scaled_X_test = scaler.transform(X_test)

 

2) 표준화(Z-score Normalization): 데이터의 평균을 0, 표준편차를 1로 조정, 정규 분포를 따르는 경우 효과적

from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()

 

3) Robust Scaling: 중앙값을 중심으로 IQR을 사용, 이상치의 영향을 덜 받는다

from sklearn.preprocessing import RobustScaler
scaler = RobustScaler()

 

4) Max Abs Scaling: 각 값의 절대 최대값을 기준으로 모든값을 -1과 1사이로 스케일링

from sklearn.preprocessing import MaxAbsScaler
scaler = MaxAbsScaler()

 

 

 

※ 면접 질문 모음집: https://zzsza.github.io/data/2018/02/17/datascience-interivew-questions/

 

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함