Pytorch_05_Normalization

전사영·2024년 10월 23일

이번 시간에는 Pytorch에서 정규화를 적용하는 방법에 대하여 알아보도록 하겠습니다.

Z-Score Normalization

Z-Score Normalization은 값을 평균 숫자/평균이 0이고 표준 편차가 1인 공통 척도로 변환하여 데이터를 변환하는 것입니다. 기술적으로 평균 아래 또는 위의 표준 편차를 측정합니다. 표준화 또는 z-점수 정규화는 변환된 특성의 사전 정의된 범위가 없기 때문에 이상치의 영향을 받지 않습니다.

  • 만약 평균 = 80, 표준편차 = 4, x = 87일 때에 z-score는 하기와 같다.

  • 87 - 80 / 4 = 7/4 = 1.75

코드 예제

import torchvision.transforms as tr  #torchvision은 vision 쪽에서 많이들 사용함
transf = tr.Compose([tr.Resize(56), tr.ToTensor(), tr.Normalize((0.5,), (0.5))])

코드 설명

  • 기존의 transforms과 달라진 점은 transf를 적용할 데이터는 Normalize를 진행합니다.

  • Normalize에 첫 괄호는 평균을 의미하고 뒤의 괄호는 표준편차를 의미합니다.

  • 따라서 minmax가 적용되어 최소값이 0, 최대값이 1인 데이터가 주어졌을 때에 z-score normalization을 통하여 0을 중심으로 -1에서 1까지 분포되어있는 normalization이 적용되는 것을 확인할 수 있습니다.

profile
매일 조금씩!

0개의 댓글