본문 바로가기

머신러닝 읽어주는 남자

[오직 컨셉] Word Embedding

반응형

One hot representation

기본 개념 

하나의 사물(단어)를 하나 element만 1 나마지는 0인 벡터로 표현하는 방식


예시

전세계의 과일이 3개 밖에 없다고 했을 때 사과, 배, 바나나

벡터 길이 = 3

사과 = [1, 0, 0]

배 = [0,1,0]

바나나 = [0,0,1] 


단점

사물이 늘어날 수록 벡터 길이도 같이 늘어나서 용량을 많이 먹는다

벡터에 아무런 의미가 들어가 있지 않다.


Distributed Representaion

기본개념

one hot은 하나의 element 만으로 표시 되었다면,

이것은 벡터내의 여러 element의 조합으로 나타내는 것


예시

첫번때 element = 평균 당도

두번째 elemet = 둥글기

사과 = [0.6, 0.9]

배 = [0.7, 0.9]

바나나 = [0.9, 0.1] 


장점

벡터의 길이를 현저하게 줄일 수 있다

벡터내의 다양한 의미를 함유 할 수 있다



Word2Vec

핵심

근처에 자주 나오는 단어의 벡터간의 유사도를 최대화 한다!


방법

CBOW

주위의 단어(bag of words)가 중심단어(center word)를 생성한다고 가정한다.


Skip-gram

CBOW와 반대로 중심단어가 주위 단어를 생성한다고 가정한다.


결국을 수식을 해석해보면 자주 근처에 나오는 단어의 내적이 최대가 되도록 학습힌다.

--> 즉 근처에 자주 나오는 단어의 벡터를 최대한 유사하게 만든다.

반응형