데이터 크기를 조정하는 정규화
이번 수업에서는 데이터의 크기를 조정하는 방법인 정규화(Normalization)
와 표준화(Standardization)
에 대해 알아보겠습니다.
데이터의 크기란 무엇인가?
데이터 학습에서 데이터의 크기는 물리적인 단위(길이, 무게)가 아니라, 숫자 값의 크기(범위와 분포)를 의미합니다.
예를 들어, 학생들의 키(cm)와 몸무게(kg)를 데이터로 저장한다고 가정해 봅시다.
-
키:
160, 170, 180
-
몸무게:
55, 60, 65
키는 160-180
의 범위를 갖고, 몸무게는 55-65
의 범위를 갖습니다.
이때 특정 머신러닝 모델이 숫자 값의 크기를 중요하게 고려한다면, 값이 상대적으로 큰 '키' 데이터가 모델 학습에 더 큰 영향을 미칠 가능성이 있습니다.
즉 실제로 AI 모델에게 몸무게가 더 중요한 특징이어야 하더라도, 값이 큰 키 데이터가 학습에 더 중요하게 반영될 수 있습니다.
이처럼 데이터 내 숫자의 절대적 크기가 서로 다르면 AI 모델이 데이터를 공정하게 학습하지 못할 수 있습니다.
이러한 문제를 해결하기 위해 데이터의 크기를 일정한 범위로 조정하는 과정을 스케일링(scaling)
이라고 합니다.
데이터 크기를 조정하는 방법
스케일링을 위해 주로 사용하는 방법은 정규화(Normalization)
와 표준화(Standardization)
입니다.
이번 수업에서는 정규화
에 대해 알아보겠습니다.
1. 정규화
정규화는 데이터 값을 0과 1 사이의 범위로 조정하는 방법입니다.
정규화는 일반적으로 Min-Max Scaling
(최소-최대 스케일링)을 사용하며, 데이터를 다음 수식을 이용해 변환합니다.
새로운 값 = (원래 값 - 최소값) / (최대값 - 최소값)
예를 들어, 키 170
을 정규화하면 다음과 같습니다.
(170 - 160) / (180 - 160) = 10 / 20 = 0.5
학생들의 키(160-180)는 0-1 사이 값
으로 다음과 같이 변환할 수 있습니다.
키 값 (cm) | 정규화된 키 값 |
---|---|
160 | 0.0 |
170 | 0.5 |
180 | 1.0 |
마찬가지로 몸무게(55-65)를 정규화하면 다음과 같습니다.
몸무게 값 (kg) | 정규화된 몸무게 값 |
---|---|
55 | 0.0 |
60 | 0.5 |
65 | 1.0 |
이제 키와 몸무게가 동일한 스케일(0-1)
로 변환되어, 머신러닝 모델이 키와 같은 특정 특성에 더 큰 영향을 미치는 문제를 방지할 수 있습니다.
다음 시간에는 데이터 크기를 조정하는 또 다른 방법인 표준화
에 대해 알아보겠습니다.
다음 내용이 궁금하다면?
코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!