एक गर्म एन्कोडिंग मशीन सीखने के प्रदर्शन में सुधार क्यों करता है?


127

मैंने देखा है कि जब किसी विशेष डेटा सेट (मैट्रिक्स) पर वन हॉट एन्कोडिंग का उपयोग किया जाता है और एल्गोरिदम सीखने के लिए प्रशिक्षण डेटा के रूप में उपयोग किया जाता है, तो यह मूल मैट्रिक्स का उपयोग प्रशिक्षण डेटा के रूप में करने की तुलना में, भविष्यवाणी सटीकता के संबंध में काफी बेहतर परिणाम देता है। यह प्रदर्शन कैसे बढ़ता है?

जवाबों:


260

कई लर्निंग एल्गोरिदम या तो प्रति फीचर एक वज़न सीखते हैं, या वे नमूनों के बीच की दूरी का उपयोग करते हैं। पूर्व लोजिस्टिक प्रतिगमन जैसे रैखिक मॉडल के लिए मामला है, जिन्हें स्पष्ट करना आसान है।

मान लें कि आपके पास "यूके", "फ्रेंच" और "यूएस" जैसे मूल्यों के साथ एक एकल श्रेणीबद्ध सुविधा "राष्ट्रीयता" है। मान लें कि सामान्यता की हानि के बिना, कि ये 0, 1 और 2 के रूप में एन्कोड किए गए हैं। आपके पास इस सुविधा के लिए एक रेखीय क्लासिफायरिफायर में भार डब्ल्यू है, जो बाधा w × x + b> 0 के आधार पर किसी प्रकार का निर्णय करेगा। , या समकक्ष w × x <b।

अब समस्या यह है कि वेट डब्ल्यू तीन-तरफा विकल्प को एनकोड नहीं कर सकता है। W × x के तीन संभावित मान 0, w और 2 × w हैं। या तो ये तीनों एक ही निर्णय की ओर ले जाते हैं (वे सभी <b या orb) या "यूके" और "फ्रेंच" एक ही निर्णय के लिए नेतृत्व करते हैं, या "फ्रेंच" और "यूएस" एक ही निर्णय देते हैं। मॉडल के लिए यह जानने की कोई संभावना नहीं है कि "यूके" और "यूएस" को एक ही लेबल दिया जाना चाहिए, जिसमें "फ्रेंच" विषम हो।

एक-हॉट एन्कोडिंग के द्वारा, आप प्रभावी रूप से फीचर स्पेस को तीन फीचर्स में उड़ा देते हैं, जो प्रत्येक को अपना वेट मिलेगा, इसलिए निर्णय फ़ंक्शन अब w [यूके] x [यूके] + w [FR] x [FR] + w [यूएस] x [यूएस] <b, जहां सभी एक्स बुलियन हैं। इस अंतरिक्ष में, इस तरह के एक रेखीय कार्य संभावनाओं के किसी भी योग / अस्वीकृति को व्यक्त कर सकते हैं (जैसे "यूके या यूएस", जो अंग्रेजी बोलने वाले किसी व्यक्ति के लिए एक भविष्यवक्ता हो सकता है)।

इसी तरह, नमूनों के बीच मानक दूरी मैट्रिक्स (जैसे के-निकटतम पड़ोसियों) के आधार पर कोई भी शिक्षार्थी एक-गर्म एन्कोडिंग के बिना भ्रमित हो जाएगा। भोली एन्कोडिंग और यूक्लिडियन दूरी के साथ, फ्रेंच और यूएस के बीच की दूरी 1 है। यूएस और यूके के बीच की दूरी 2 है। लेकिन एक-गर्म एन्कोडिंग के साथ, [1, 0, 0], [0, 1 के बीच जोड़ीदार दूरी। , 0] और [0, 0, 1] सभी .2 के बराबर हैं।

यह सभी शिक्षण एल्गोरिदम के लिए सच नहीं है; निर्णय पेड़ और व्युत्पन्न मॉडल जैसे कि यादृच्छिक वन, यदि पर्याप्त गहरा हो, तो एक-गर्म एन्कोडिंग के बिना श्रेणीगत चर को संभाल सकते हैं।


4
इस लार्स के लिए धन्यवाद, लेकिन जब हम OneHotEncoding करते हैं जो प्रभावी रूप से सुविधाओं की संख्या में वृद्धि करता है, तो क्या हमें नमूनों को भी बढ़ाने की आवश्यकता नहीं है, यह सुनिश्चित करने के लिए कि यह ओवरफिट नहीं है।
मनोज

@Manoj स्पष्ट चर के स्पष्ट वैकल्पिक प्रतिनिधित्व की तुलना में, प्रत्येक स्तर को एक अलग पूर्णांक के रूप में एन्कोडिंग करता है, मुझे नहीं लगता कि यह मायने रखता है: आपको पर्याप्त आँकड़ों की आवश्यकता है।
फ्रेड फू

7
क्या कोई साहित्य है जो आप इंगित कर सकते हैं इसलिए मैं इसे आगे पढ़ सकता हूं? धन्यवाद।
डॉ। क्वॉलिटॉल

1
क्या फुल रैंक मैट्रिक्स से कम का उपयोग करने का कोई लाभ है (जो आप नियमित सांख्यिकीय मॉडल का निर्माण करते समय नहीं करेंगे ) मशीन सीखने की तकनीक जैसे कि बूस्टिंग को नियोजित करते समय?
स्टीव एस।

2
यह मुझे वैसा ही दिखता है, जैसे एक सांख्यिकीविद् "डमी वैरिएबल" कहेगा। लेकिन शायद स्टोरेज स्पेस की कुछ बचत है।
सोदलमा

3

एक-हॉट-एन्कोडिंग करके सुविधाओं की वृद्धि के संबंध में सुविधा हैशिंग का उपयोग कर सकते हैं। जब आप हैशिंग करते हैं, तो आप नई शुरू की गई सुविधाओं की संख्या की तुलना में बहुत कम होने के लिए बाल्टी की संख्या निर्दिष्ट कर सकते हैं।


0

जब आप श्रेणियों की भविष्यवाणी करना चाहते हैं, तो आप एक सेट की वस्तुओं की भविष्यवाणी करना चाहते हैं। एक-हॉट एन्कोडिंग का उपयोग नहीं करना श्रेणियों को पड़ोसी श्रेणियों (जैसे: यदि आपने इसके बजाय श्रेणियों के पूर्णांकों के साथ एक प्रतिगमन किया है) को एक निश्चित तरीके से और एक निश्चित क्रम में व्यवस्थित करने के लिए समान है।

अब, यदि आप श्रेणी 0 से 0, श्रेणी 1 से 1, और श्रेणी 2 से 2 एक-गर्म एन्कोडिंग के बिना असाइन करते हैं, तो क्या होता है और यह कि आपके एल्गोरिथ्म की भविष्यवाणी निश्चित नहीं है यदि उसे 0 या 2 चुनना चाहिए: क्या उसे इसके बावजूद 1 की भविष्यवाणी करनी चाहिए वह सोचता है कि यह 0 या 2 है?

आप देखें कि यह कहाँ जाता है। वही आपके डेटा इनपुट के लिए जाता है: यदि उन्हें पड़ोसी नहीं होना चाहिए, तो उन्हें पड़ोसी के रूप में अपने एल्गोरिथ्म में न दिखाएं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.