brunch
매거진 Data Science

상대적, 그리고 normalization

Vector로 세상보기 #2 / 벡터(Vector) 학 개론 #1

by 전영환

지난 글에서 "Vector로 세상을 바라보고자 하는 이유", "벡터(Vector) 그리고 Embedding"에 대해 정리해보았습니다.


https://brunch.co.kr/@andrewhwan/9


https://brunch.co.kr/@andrewhwan/12






"Normalization. 정규화."는 기본적으로 아래의 의미를 갖습니다.

정규화 또는 정상화(normalization)는 어떤 대상을 일정한 규칙이나 기준에 따르는 ‘정규적인’ 상태로 바꾸거나, 비정상적인 대상을 정상적으로 되돌리는 과정을 뜻한다.

https://ko.wikipedia.org/wiki/%EC%A0%95%EA%B7%9C%ED%99%94



여기에서 얘기하는 어떤 대상은 다양한 대상이 될 수 있습니다. 그렇기 때문에 Normalization은 다양한 분야에서 사용되고 있습니다.

IT 분야

사회과학 분야

수학 분야

기타


IT 데이터베이스 분야에서 "Normalization"이라는 용어는 아래와 같은 용도로 사용됩니다.

관계형 데이터베이스에서 데이터의 보존성을 높이는 등의 목적에서 데이터베이스 내에서 같은 정보가 2번 이상 기록되지 않게 설계하는 것

[네이버 지식백과] 노멀라이제이션 [normalization] (두산백과)


사회과학 분야에서 "Normaliation"이라는 용어는 아래와 같이 사용됩니다.

사회복지사업의 대상자를 특수하게 보고 격리하여 처우하려는 사고방식을 고쳐 장애인이나 신체가 자유롭게 기능하지 못하는 노인, 장기요양의 병자도 될 수 있는 한 학교에 가서 보통의 생활을 보내는 것이 본인의 복지와 행복으로서 바람직하다는 사고방식

[네이버 지식백과] 노멀라이제이션 [normalization] (사회복지학 사전, 2009. 8. 15., Blue Fish)


그 외에도 여러 분야에서 Normalization은 분야별로 분야의 특수성을 담아 디테일한 의미를 갖는다. 하지만 모든 분야에 걸쳐 Normalization이 갖는 공통적 키워드는 "일정한 규칙"입니다.



Normalization. 일정한 규칙을 따르는 상태로 바꾸는 것




식당 Vector는 맛과 가격이라는 dimension을 지닌 Vector space에 존재한다고 해봅시다.

그리고 이 Vector의 방향은 "가성비", 크기는 "값어치"를 의미한다고 가정해보겠습니다.

(충분히 다른 다양한 의미를 지닐 수도 있습니다.)


unnormalized.PNG normalization 되지 않은 vector


식당 A, B의 Vector 크기가 normalization 되지 않은 상태로 Vector space 상에 존재한다고 해봅시다.

식당 A는 규모가 작은 가게로 맛이 별로 없지만, 가격이 싸므로 가볼만합니다.

식당 B는 규모가 큰 업체로 가격이 비싸지만, 맛이 있으므로 가볼만합니다.


아마 이럴 때 우린 이런 대화를 할 것입니다.

친구 : 식당 A, B 중에 어디가 가볼만해?
나 : 비슷한 거 같아? 어느 측면에서?
친구 : 가격이나 맛 측면에서?
나 : ...


식당 A, B는 다른 크기(값어치)를 지니고, 비슷한 방향(가성비)을 지니기 때문에,

어떤 식당이 Vector space의 각각의 dimension(맛, 가격)상에서 어느 식당이 더 가볼만한지 파악하기 어렵습니다.


식당 A가 가격 측면에서 얼마나 강점을 지니는지,

식당 B는 맛 측면에서 얼마자 강점을 지니는지,

알기가 어렵습니다.


normalized.PNG normalization된 vector



하지만 Normalization이 되어 있는 상태이라면 달라집니다.

식당 A, B의 Vector를 normalization 하여 Vector space에 표현해보았습니다.

어떠한 방식으로 Vector의 크기(값어치)를 동일하게 할 수 있다면,

비슷한 방향(가성비)을 지닌 Vector들에 대해,

각 dimension 내에서의 값의 비교를 더 쉽게 할 수 있을 것입니다.

그리고 아마도 우리는 이런 대화를 할 수 있을 것입니다.


친구 : 식당 A, B 중에 어디가 가볼만해?
나 : 비슷한 거 같아? 어느 측면에서?
친구 : 가격이나 맛 측면에서?
나 : 가격에서는 A가 좋고, 맛에서는 B가 좋아.


즉, Vector의 크기를 같게 하면,

각 성분을 통해 바라보았을 때, 어떤 점에서 각 성분의 값들이 두드러지는지를 비교 및 분석할 수 있습니다.



Vector Normalization. 크기를 맞춰 dimension 내의 비교를 용이하게 함.




가장 기본적으로 Vector를 Vector의 절대 크기로 나눠줌으로써, 크기가 1인 Vector로 Normalization 해줄 수 있습니다. (링크 참고)


저는 Normalization 기법보다는 Normalization이 지니는 Vector 세상에서의 의미를 이렇게 정리해보고자 합니다.


Vector 세상에서도 일정한 규칙이 필요합니다.

일정한 규칙은 Vector들 간의 비교를 쉽게 해줍니다.

Normalization이라는 것은 Vector를 일정한 규칙을 따르도록 어떠한 기법을 통해 바꾸는 것입니다.



Vector Normalization. Vector를 일정한 규칙을 통해 이용하기 쉽게 바꾸는 것.




Next.

Vector로 세상보기 #3 / Vector학 개론 #2 - word2vec

Vector로 세상보기 #4 - 더하기와 빼기의 세상

keyword
매거진의 이전글벡터(Vector), 그리고 Embedding