쓰여진:

고쳐진:



제가 겪은 여러 시행착오에 대한 해결 방법이나 알면 좋은 사실들을 모아놓은 글입니다.

개발

특정 범위 사이의 값 정규화

개발을 하다 보면 특정 범위의 값을 0과 1 사이로 변환해야 할 일이 있습니다.
예를 들어 7은 0으로 28은 1로, 중간값인 17.5는 0.5로 이런 식으로요.
일견 쉬워보이지만 막상 구현하려고 하면 생각보다 어렵습니다.
이럴 때는 연립일차방정식을 이용해서 해결할 수 있습니다.

\[\begin{cases} y = ax + b \\ y = ax + b \end{cases}\]

이런 꼴의 연립일차방정식의 y에 0과 1을 x에 7과 28을 대입하고 방정식을 풀어줍니다.
a와 b의 값을 알아내고 그 값을 이용해서 이런 방정식을 만들 수 있습니다.

\[y = \frac{1}{21}x - \frac{1}{3}\]

예시로 들었던 값을 대입해보면 원하는 값이 나오는 것을 확인할 수 있습니다.

이런 식은 Min-Max Normalization(최소-최대 정규화) 공식을 사용해서 더 쉽게 구해낼 수도 있습니다.

\[normalized\_value = \frac{x - min}{max - min}\]

여기서 x는 정규화할 값, min은 범위의 최소값, max는 범위의 최대값입니다.

이 공식에 예시로 사용되었던 값을 대입하면:

\[normalized\_value = \frac{x - 7}{28 - 7} = \frac{x - 7}{21} = \frac{x}{21} - \frac{7}{21} = \frac{1}{21}x - \frac{1}{3}\]

위에서 연립방정식으로 유도한 것과 동일한 결과가 나옵니다.

수정 내역 (클릭하여 펼치기/접기) - 2025-03-07T11:23:33+09:00: 최초 작성
- 2025-03-08T01:13:19+09:00: 특정 범위 사이의 값 정규화 부분 관련 표현 일부 수정
- 2025-03-10T10:10:38+09:00: 특정 범위 사이의 값 정규화 부분의 식을 더 간단하게 구할 수 있는 Min-Max Normalization 관련 공식 추가

Comments