वन-हॉट: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 21: Line 21:
| 7 || 111 || 01111111 || 10000000
| 7 || 111 || 01111111 || 10000000
|}
|}
[[डिजिटल सर्किट]] और [[ यंत्र अधिगम | मशीन लर्निंग]] में, वन-हॉट [[ अंश | बिट्स]] का एक समूह है जिसके मध्य मानों का कानूनी संयोजन केवल एक उच्च (1) बिट और अन्य सभी निम्न (0) वाले होते हैं।<ref>{{cite book|last=Harris|first=David and Harris, Sarah|title=डिजिटल डिज़ाइन और कंप्यूटर वास्तुकला|publisher=Morgan Kaufmann|location=San Francisco, Calif.|isbn=978-0-12-394424-5|edition=2nd|page=129|date=7 August 2012}}</ref> एक समान कार्यान्वयन जिसमें '0' को छोड़कर सभी बिट्स '1' होते हैं, उसे कभी-कभी वन-कोल्ड कहा जाता है।<ref>{{cite journal|title=खाद्य जोखिम अरबी ग्रंथों में गहन शिक्षा पर आधारित घटना निष्कर्षण|arxiv=2008.05014|last1=Harrag |first1=Fouzi |last2=Gueliani |first2=Selmene |year=2020 }}</ref> आंकड़ों में, [[डमी वैरिएबल (सांख्यिकी)]] श्रेणीबद्ध डेटा का प्रतिनिधित्व करने के लिए समान विधि का प्रतिनिधित्व करते हैं।
[[डिजिटल सर्किट]] और [[ यंत्र अधिगम |मशीन लर्निंग]] में, वन-हॉट [[ अंश |बिट्स]] का एक समूह है जिसके मध्य मानों का कानूनी संयोजन केवल एक उच्च (1) बिट और अन्य सभी निम्न (0) वाले होते हैं।<ref>{{cite book|last=Harris|first=David and Harris, Sarah|title=डिजिटल डिज़ाइन और कंप्यूटर वास्तुकला|publisher=Morgan Kaufmann|location=San Francisco, Calif.|isbn=978-0-12-394424-5|edition=2nd|page=129|date=7 August 2012}}</ref> एक समान कार्यान्वयन जिसमें '0' को छोड़कर सभी बिट्स '1' होते हैं, उसे कभी-कभी वन-कोल्ड कहा जाता है।<ref>{{cite journal|title=खाद्य जोखिम अरबी ग्रंथों में गहन शिक्षा पर आधारित घटना निष्कर्षण|arxiv=2008.05014|last1=Harrag |first1=Fouzi |last2=Gueliani |first2=Selmene |year=2020 }}</ref> आंकड़ों में, [[डमी वैरिएबल (सांख्यिकी)]] श्रेणीबद्ध डेटा का प्रतिनिधित्व करने के लिए समान विधि का प्रतिनिधित्व करते हैं।


==अनुप्रयोग==
==अनुप्रयोग==


===डिजिटल सर्किटरी===
===डिजिटल सर्किटरी===
वन-हॉट एन्कोडिंग का उपयोग अधिकांश [[राज्य मशीन|स्टेट मशीन]] की स्थिति को निरुपित करने के लिए किया जाता है। [[ बाइनरी संख्या ]] का उपयोग करते समय, स्थिति निर्धारित करने के लिए [[बाइनरी डिकोडर]] की आवश्यकता होती है। चूँकि, एक-हॉट स्टेट मशीन को डिकोडर की आवश्यकता नहीं होती है क्योंकि स्टेट मशीन nवीं स्थिति में होती है यदि, और केवल यदि, nवीं बिट अधिक है।
वन-हॉट एन्कोडिंग का उपयोग अधिकांश [[राज्य मशीन|स्टेट मशीन]] की स्थिति को निरुपित करने के लिए किया जाता है। [[ बाइनरी संख्या |बाइनरी संख्या]] का उपयोग करते समय, स्थिति निर्धारित करने के लिए [[बाइनरी डिकोडर]] की आवश्यकता होती है। चूँकि, एक-हॉट स्टेट मशीन को डिकोडर की आवश्यकता नहीं होती है क्योंकि स्टेट मशीन nवीं स्थिति में होती है यदि, और केवल यदि, nवीं बिट अधिक है।


15 क्रमिक रूप से क्रमित अवस्थाओं वाला [[रिंग काउंटर]] अवस्था मशीन का उदाहरण है। एक 'वन-हॉट' कार्यान्वयन में श्रृंखला में 15 [[फ्लिप फ्लॉप (इलेक्ट्रॉनिक्स)]] होंगे, प्रत्येक फ्लिप फ्लॉप का क्यू आउटपुट अगले के D इनपुट से जुड़ा होगा और पहले फ्लिप फ्लॉप का डी इनपुट 15वें फ्लिप फ्लॉप के क्यू आउटपुट से जुड़ा होगा। श्रृंखला में पहला फ्लिप फ्लॉप पहले अवस्था का प्रतिनिधित्व करता है, दूसरा दूसरे अवस्था का प्रतिनिधित्व करता है, और इसी तरह 15वां फ्लिप फ्लॉप, जो अंतिम अवस्था का प्रतिनिधित्व करता है। स्टेट मशीन के रीसेट होने पर श्रृंखला में पहले फ्लिप फ्लॉप को छोड़कर सभी फ्लिप फ्लॉप '0' पर रीसेट हो जाते हैं, जो '1' पर सेट है। फ्लिप फ्लॉप पर पहुंचने वाली अगली घड़ी की एज 'हॉट' बिट को दूसरे फ्लिप फ्लॉप तक आगे बढ़ाती है। 'हॉट' बिट इस प्रकार से 15वीं अवस्था तक आगे बढ़ता है, जिसके बाद अवस्था मशीन पहली अवस्था में लौट आती है।
15 क्रमिक रूप से क्रमित अवस्थाओं वाला [[रिंग काउंटर]] अवस्था मशीन का उदाहरण है। एक 'वन-हॉट' कार्यान्वयन में श्रृंखला में 15 [[फ्लिप फ्लॉप (इलेक्ट्रॉनिक्स)]] होंगे, प्रत्येक फ्लिप फ्लॉप का क्यू आउटपुट अगले के D इनपुट से जुड़ा होगा और पहले फ्लिप फ्लॉप का डी इनपुट 15वें फ्लिप फ्लॉप के क्यू आउटपुट से जुड़ा होगा। श्रृंखला में पहला फ्लिप फ्लॉप पहले अवस्था का प्रतिनिधित्व करता है, दूसरा दूसरे अवस्था का प्रतिनिधित्व करता है, और इसी तरह 15वां फ्लिप फ्लॉप, जो अंतिम अवस्था का प्रतिनिधित्व करता है। स्टेट मशीन के रीसेट होने पर श्रृंखला में पहले फ्लिप फ्लॉप को छोड़कर सभी फ्लिप फ्लॉप '0' पर रीसेट हो जाते हैं, जो '1' पर सेट है। फ्लिप फ्लॉप पर पहुंचने वाली अगली घड़ी की एज 'हॉट' बिट को दूसरे फ्लिप फ्लॉप तक आगे बढ़ाती है। 'हॉट' बिट इस प्रकार से 15वीं अवस्था तक आगे बढ़ता है, जिसके बाद अवस्था मशीन पहली अवस्था में लौट आती है।


एक [[ पता विकोडक | एड्रेस डिकोडर]] बाइनरी से वन-हॉट प्रतिनिधित्व में परिवर्तित होता है।
एक [[ पता विकोडक |एड्रेस डिकोडर]] बाइनरी से वन-हॉट प्रतिनिधित्व में परिवर्तित होता है।


एक [[प्राथमिकता एनकोडर]] एक-हॉट प्रतिनिधित्व से बाइनरी में परिवर्तित होता है।
एक [[प्राथमिकता एनकोडर]] एक-हॉट प्रतिनिधित्व से बाइनरी में परिवर्तित होता है।

Revision as of 06:37, 9 August 2023

Decimal Binary Unary One-hot
0 000 00000000 00000001
1 001 00000001 00000010
2 010 00000011 00000100
3 011 00000111 00001000
4 100 00001111 00010000
5 101 00011111 00100000
6 110 00111111 01000000
7 111 01111111 10000000

डिजिटल सर्किट और मशीन लर्निंग में, वन-हॉट बिट्स का एक समूह है जिसके मध्य मानों का कानूनी संयोजन केवल एक उच्च (1) बिट और अन्य सभी निम्न (0) वाले होते हैं।[1] एक समान कार्यान्वयन जिसमें '0' को छोड़कर सभी बिट्स '1' होते हैं, उसे कभी-कभी वन-कोल्ड कहा जाता है।[2] आंकड़ों में, डमी वैरिएबल (सांख्यिकी) श्रेणीबद्ध डेटा का प्रतिनिधित्व करने के लिए समान विधि का प्रतिनिधित्व करते हैं।

अनुप्रयोग

डिजिटल सर्किटरी

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

15 क्रमिक रूप से क्रमित अवस्थाओं वाला रिंग काउंटर अवस्था मशीन का उदाहरण है। एक 'वन-हॉट' कार्यान्वयन में श्रृंखला में 15 फ्लिप फ्लॉप (इलेक्ट्रॉनिक्स) होंगे, प्रत्येक फ्लिप फ्लॉप का क्यू आउटपुट अगले के D इनपुट से जुड़ा होगा और पहले फ्लिप फ्लॉप का डी इनपुट 15वें फ्लिप फ्लॉप के क्यू आउटपुट से जुड़ा होगा। श्रृंखला में पहला फ्लिप फ्लॉप पहले अवस्था का प्रतिनिधित्व करता है, दूसरा दूसरे अवस्था का प्रतिनिधित्व करता है, और इसी तरह 15वां फ्लिप फ्लॉप, जो अंतिम अवस्था का प्रतिनिधित्व करता है। स्टेट मशीन के रीसेट होने पर श्रृंखला में पहले फ्लिप फ्लॉप को छोड़कर सभी फ्लिप फ्लॉप '0' पर रीसेट हो जाते हैं, जो '1' पर सेट है। फ्लिप फ्लॉप पर पहुंचने वाली अगली घड़ी की एज 'हॉट' बिट को दूसरे फ्लिप फ्लॉप तक आगे बढ़ाती है। 'हॉट' बिट इस प्रकार से 15वीं अवस्था तक आगे बढ़ता है, जिसके बाद अवस्था मशीन पहली अवस्था में लौट आती है।

एक एड्रेस डिकोडर बाइनरी से वन-हॉट प्रतिनिधित्व में परिवर्तित होता है।

एक प्राथमिकता एनकोडर एक-हॉट प्रतिनिधित्व से बाइनरी में परिवर्तित होता है।

अन्य एन्कोडिंग विधियों के साथ तुलना

लाभ
  • फ्लिप-फ्लॉप (इलेक्ट्रॉनिक्स) तक पहुंचने की स्थिति का निर्धारण कम और निरंतर लागत है
  • स्थिति बदलने से दो फ्लिप-फ्लॉप तक पहुंचने की निरंतर लागत आती है
  • डिज़ाइन और संशोधित करना आसान
  • अवैध अवस्थाओं का पता लगाना आसान
  • क्षेत्र में प्रोग्राम की जा सकने वाली द्वार श्रंखला के प्रचुर फ्लिप-फ्लॉप का लाभ उठाता है
  • वन-हॉट कार्यान्वयन का उपयोग सामान्यतः अवस्था मशीन को उस अवस्था मशीन के किसी भी अन्य एन्कोडिंग की तुलना में तेज़ क्लॉक दर पर चलाने की अनुमति देता है[3]


नुकसान
  • अन्य एन्कोडिंग की तुलना में अधिक फ्लिप-फ्लॉप की आवश्यकता होती है, जिससे यह प्रोग्रामयोग्य ऐरे लॉजिक उपकरणों के लिए अव्यावहारिक हो जाता है
  • कई अवस्था अवैध हैं[4]


प्राकृतिक लैंग्वेज प्रसंस्करण

प्राकृतिक लैंग्वेज प्रसंस्करण में, एक-हॉट सदिश एक 1 × N मैट्रिक्स (सदिश) होता है जिसका उपयोग शब्दावली में प्रत्येक शब्द को शब्दावली में हर दूसरे शब्द से अलग करने के लिए किया जाता है।[5] शब्द की पहचान करने के लिए विशिष्ट रूप से उपयोग किए जाने वाले सेल में एकल 1 को छोड़कर सदिश में सभी सेल में 0 होते हैं। वन-हॉट एन्कोडिंग यह सुनिश्चित करती है कि मशीन लर्निंग यह न माने कि उच्च संख्याएँ अधिक महत्वपूर्ण हैं। उदाहरण के लिए, मान '8' मान '1' से बड़ा है, किन्तु यह '8' को '1' से अधिक महत्वपूर्ण नहीं बनाता है। यही बात शब्दों के लिए भी सच है: 'हँसी' का मूल्य 'हँसी' से अधिक महत्वपूर्ण नहीं है।

मशीन लर्निंग और आँकड़े

मशीन लर्निंग में, श्रेणीबद्ध डेटा से निपटने के लिए वन-हॉट एन्कोडिंग अधिकांश उपयोग की जाने वाली विधि है। क्योंकि कई मशीन लर्निंग मॉडल को अपने इनपुट वैरिएबल को संख्यात्मक श्रेणीबद्ध वैरिएबल के रूप में प्री-प्रोसेसिंग भाग में बदलने की आवश्यकता होती है।[6]

लेबल एन्कोडिंग
भोजन का नाम श्रेणीबद्ध # कैलोरी
सेब 1 95
चिकन 2 231
ब्रॉकली 3 50
वन हॉट एनकोडिंग
सेब चिकन ब्रॉकली कैलोरी
1 0 0 95
0 1 0 231
0 0 1 50

श्रेणीबद्ध डेटा या तो नाममात्र या क्रमिक हो सकता है।[7] ऑर्डिनल डेटा में उसके मानों के लिए क्रमबद्ध क्रम होता है और इसलिए इसे ऑर्डिनल एन्कोडिंग के माध्यम से संख्यात्मक डेटा में परिवर्तित किया जा सकता है।[8] क्रमिक डेटा का उदाहरण A से F तक के परीक्षण पर रेटिंग होगी, जिसे 6 से 1 तक की संख्याओं का उपयोग करके रैंक किया जा सकता है। चूंकि नाममात्र वेरिएबल के व्यक्तिगत मानों के बीच कोई मात्रात्मक संबंध नहीं है, इसलिए क्रमिक एन्कोडिंग का उपयोग संभावित रूप से डेटा में एक काल्पनिक क्रमिक संबंध बना सकता है।[9] इसलिए, एल्गोरिदम के प्रदर्शन को उत्तम बनाने के लिए, एक-हॉट एन्कोडिंग को अधिकांश नाममात्र वेरिएबल पर प्रायुक्त किया जाता है।

मूल श्रेणीबद्ध कॉलम में प्रत्येक अद्वितीय मान के लिए, इस विधि में नया कॉलम बनाया जाता है। ये डमी वेरिएबल फिर शून्य और से भरे (1 का अर्थ सत्य है, 0 का अर्थ असत्य है) जाते हैं।[10] क्योंकि यह प्रक्रिया कई नए वैरिएबल बनाती है, यदि मूल कॉलम में कई अद्वितीय मान हैं तो इससे 'बड़ी P' समस्या (बहुत सारे भविष्यवक्ता) उत्पन्न होने का खतरा है। वन-हॉट एन्कोडिंग का और नकारात्मक पक्ष यह है कि यह अलग-अलग वेरिएबल के मध्य बहुसंरेखता का कारण बनता है, जो संभावित रूप से मॉडल की सटीकता को कम करता है।[11]

साथ ही, यदि श्रेणीगत वेरिएबल आउटपुट वेरिएबल है, तो आप अपने एप्लिकेशन में उन्हें प्रस्तुत करने के लिए मानों को वापस श्रेणीबद्ध रूप में परिवर्तित करना चाह सकते हैं।[12]

व्यावहारिक उपयोग में, यह परिवर्तन अधिकांश सीधे फ़ंक्शन द्वारा किया जाता है जो श्रेणीबद्ध डेटा को इनपुट के रूप में लेता है और संबंधित डमी वेरिएबल को आउटपुट करता है। उदाहरण आर में कैरेट लाइब्रेरी का डमीवर्स फ़ंक्शन होगा।[13]


यह भी देखें

संदर्भ

  1. Harris, David and Harris, Sarah (7 August 2012). डिजिटल डिज़ाइन और कंप्यूटर वास्तुकला (2nd ed.). San Francisco, Calif.: Morgan Kaufmann. p. 129. ISBN 978-0-12-394424-5.{{cite book}}: CS1 maint: multiple names: authors list (link)
  2. Harrag, Fouzi; Gueliani, Selmene (2020). "खाद्य जोखिम अरबी ग्रंथों में गहन शिक्षा पर आधारित घटना निष्कर्षण". arXiv:2008.05014. {{cite journal}}: Cite journal requires |journal= (help)
  3. Xilinx. "HDL Synthesis for FPGAs Design Guide". section 3.13: "Encoding State Machines". Appendix A: "Accelerate FPGA Macros with One-Hot Approach". 1995.
  4. Cohen, Ben (2002). वेरिलॉग और वीएचडीएल का उपयोग करके वास्तविक चिप डिजाइन और सत्यापन. Palos Verdes Peninsula, CA, US: VhdlCohen Publishing. p. 48. ISBN 0-9705394-2-8.
  5. Arnaud, Émilien; Elbattah, Mahmoud; Gignon, Maxime; Dequen, Gilles (August 2021). ट्राइएज नोट्स का उपयोग करके अस्पताल में प्रवेश पर चिकित्सा विशिष्टताओं की एनएलपी-आधारित भविष्यवाणी. 2021 IEEE 9th International Conference on Healthcare Informatics (ICHI). Victoria, British Columbia. pp. 548–553. doi:10.1109/ICHI52183.2021.00103. Retrieved 22 May 2022.
  6. Brownlee, Jason. (2017). "Why One-Hot Encode Data in Machine Learning?". Machinelearningmastery. https://machinelearningmastery.com/why-one-hot-encode-data-in-machine-learning/
  7. Stevens, S. S. (1946). “On the Theory of Scales of Measurement”. Science, New Series, 103.2684, pp. 677–680. http://www.jstor.org/stable/1671815.
  8. Brownlee, Jason. (2020). "Ordinal and One-Hot Encodings for Categorical Data". Machinelearningmastery. https://machinelearningmastery.com/one-hot-encoding-for-categorical-data//
  9. Brownlee, Jason. (2020). "Ordinal and One-Hot Encodings for Categorical Data". Machinelearningmastery. https://machinelearningmastery.com/one-hot-encoding-for-categorical-data//
  10. Dinesh, Yadav. (2019). "Categorical encoding using Label-Encoding and One-Hot-Encoder". Towards Data Science. https://towardsdatascience.com/categorical-encoding-using-label-encoding-and-one-hot-encoder-911ef77fb5bd
  11. Andre, Ye. (2020). " Stop One-Hot Encoding Your Categorical Variables. ". Towards Data Science. https://towardsdatascience.com/stop-one-hot-encoding-your-categorical-variables-bbb0fba89809
  12. Brownlee, Jason. (2017). "Why One-Hot Encode Data in Machine Learning?". Machinelearningmastery. https://machinelearningmastery.com/why-one-hot-encode-data-in-machine-learning/
  13. Kuhn, Max. “dummyVars”. RDocumentation. https://www.rdocumentation.org/packages/caret/versions/6.0-86/topics/dummyVars