2016-08-30 3 views
5

질문은 간단합니다. CBOW & 스킵 그램 중 어느 것이 큰 데이터 세트에서 더 잘 작동합니까? (그리고 작은 데이터 세트에 대한 답은 다음과 같습니다.)word2vec : CBOW & skip-gram 성능 wrt 훈련 데이터 세트 크기

내가

건너 뛰기 그램 [Link]이 Mikolov 자신에 의해, 이후 혼란 스러워요 : 학습 데이터의 소량 잘 작동 아니라도 드문 나타냅니다 단어 또는 문구.

CBOW : 빠르게 여러 번

[Link] CBOW이 많은 이상 부드럽게, 구글 TensorFlow에 따르면, 자주 단어

의 스킵 그램, 약간 더 나은 정확도보다 훈련 만합니다 분포 정보 (하나의 관찰로서 전체 문맥을 다룸으로써). 대부분 작은 데이터 세트의 경우 유용합니다.

그러나 skip-gram은 각 컨텍스트 - 대상 쌍을 새로운 관찰로 처리하며 큰 데이터 집합이있을 때 더 잘 수행되는 경향이 있습니다. 이 튜토리얼의 나머지 부분에서는 skip-gram 모델에 초점을 맞출 것이다.

다음은 첫번째 생각 [Link]을 지원하는 Quora의 게시물입니다, 다음 상기 신뢰할 수있는 소스로부터 유도 될 것 --both 두 번째 생각 [Link]을 제안 다른 Quora의 게시물이 있습니다.

또는 Mikolov는 말처럼입니다 :

가 전반적으로 가장 좋은 방법은 몇 가지 실험을 시도하고 다른 응용 프로그램은 서로 다른 요구 사항을 가지고, 당신을 위해 가장 적합한 보는 것입니다.

하지만이 문제에 대한 경험적 분석적 평결이나 최종 결론은 확실합니까?

답변

3

Mikolov가 CBOW가 더 큰 데이터 세트에 적합하고 SG가 더 작은 데이터 세트에 적합 할 때, 데이터 양을 고려한다고 가정합니다. CBOW는 하나의 목표 단어와 많은 문맥 단어를 고려하기 때문에 SG에서 사용되는 데이터 세트와 비교하여 목표 벡터를 훈련시키는 데 더 큰 데이터 세트가 필요합니다. 그 반대의 경우와 마찬가지로 SG에서는 단일 컨텍스트 단어에 대한 많은 대상 단어로 인해 더 작은 데이터 집합이 필요합니다.

Google Tensor Flow는 사용 된 데이터 집합의 양보다는 품질 벡터를 생성하는 데이터 집합의 단어 분포에 대해 말합니다. CBOW 모델은 문장에서 모든 대상 단어에 대해 동일한 컨텍스트 단어를 더 많이 고려하므로 더 큰 (분산 된) 데이터 세트가 필요하며 SG의 경우에는 그 반대입니다. 일반에서

, 그들은 모두 같은 의미 : 긴 문장 및 샘플의 수가 적은 짧은 문장하지만 샘플의 높은 수 (더 큰 데이터 세트)

  • SG 모델 = 데이터 세트와

    • CBOW 모델 = 데이터 세트 (더 작은 데이터 세트)