더북(TheBook)

3.6.2 데이터 준비

 

상이한 스케일을 가진 값을 신경망에 주입하면 문제가 됩니다. 네트워크가 이런 다양한 데이터에 자동으로 맞추려고 할 수 있지만 이는 확실히 학습을 더 어렵게 만듭니다.38 이런 데이터를 다룰 때 대표적인 방법은 특성별로 정규화를 하는 것입니다. 입력 데이터에 있는 각 특성(입력 데이터 행렬의 열)에 대해서 특성의 평균을 빼고 표준 편차로 나눕니다.39 특성의 중앙이 0 근처에 맞추어지고 표준 편차가 1이 됩니다. 넘파이를 사용하면 간단하게 할 수 있습니다.

코드 3-25 데이터 정규화하기

mean = train_data.mean(axis=0)
train_data -= mean
std = train_data.std(axis=0)
train_data /= std

test_data -= mean
test_data /= std

 

38 역주 특성의 스케일이 다르면 전역 최소 점을 찾아가는 경사 하강법의 경로가 스케일이 큰 특성에 영향을 많이 받습니다.

 

39 역주 정규화는 여러 가지 다른 의미로도 사용되기 때문에 오해하기 쉽습니다. 표준화(standardization)라고 하면 정확히 이 방식을 가리킵니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.