मुझे आश्चर्य है कि पदानुक्रमित सॉफ्टमैक्स, असंगत शब्दों के लिए बेहतर क्यों है, जबकि नकारात्मक नमूने लगातार शब्दों के लिए, वर्डवेव के सीबीओओ और स्किप-ग्राम मॉडल में बेहतर है। मैंने https://code.google.com/p/word2vec/ पर दावा पढ़ा है ।
मुझे आश्चर्य है कि पदानुक्रमित सॉफ्टमैक्स, असंगत शब्दों के लिए बेहतर क्यों है, जबकि नकारात्मक नमूने लगातार शब्दों के लिए, वर्डवेव के सीबीओओ और स्किप-ग्राम मॉडल में बेहतर है। मैंने https://code.google.com/p/word2vec/ पर दावा पढ़ा है ।
जवाबों:
मैं शब्द 2vec में विशेषज्ञ नहीं हूं, लेकिन रोंग, एक्स (2014) पढ़ने पर । word2vec पैरामीटर लर्निंग समझा गया और अपने स्वयं के एनएन अनुभव से, मैं इसका तर्क सरल करूंगा:
दो विधियाँ विशेष रूप से, सैद्धांतिक रूप से नहीं लगती हैं, लेकिन वैसे भी ऐसा प्रतीत होता है कि वे बार-बार और निराला शब्दों के लिए बेहतर क्यों होंगे।
मेरी समझ यह है कि श्रेणी पदानुक्रम का निर्माण करते समय उपयोग किए जाने वाले हफ़मैन कोडिंग के कारण ।
पदानुक्रमित सॉफ्टमैक्स एक बड़े सॉफ्टमैक्स के बजाय सिग्मॉइड नोड्स के एक पेड़ का उपयोग करता है, हफ़मैन कोडिंग यह सुनिश्चित करता है कि किसी भी सिग्मॉइड नोड के प्रत्येक पक्ष से संबंधित डेटा बिंदुओं का वितरण संतुलित है। इसलिए यह एक बड़े सॉफ्टमैक्स और नकारात्मक नमूने के उपयोग की तुलना में लगातार श्रेणियों के लिए वरीयता को खत्म करने में मदद करता है।
पदानुक्रमित सॉफ्टमैक्स पूरी शब्दावली पर एक पेड़ का निर्माण करता है और दुर्लभ शब्दों का प्रतिनिधित्व करने वाले पत्ते के नोड्स पेड़ में अपने पूर्वजों के वेक्टर प्रतिनिधित्व को अनिवार्य रूप से विरासत में प्राप्त करेंगे, जो कि कोष में अन्य लगातार शब्दों से प्रभावित हो सकते हैं। इससे नए कॉर्पस के लिए वृद्धिशील प्रशिक्षण का लाभ मिलेगा।
नेगेटिव सैंपलिंग को ध्वनि के विपरीत अनुमान के आधार पर विकसित किया गया है और बेतरतीब ढंग से उत्पन्न रैंडम शोर से देखे गए डेटा को अलग करने के लिए संदर्भ में शब्दों के बेतरतीब ढंग से नमूने नहीं लिए गए हैं।