Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> प्रोग्रामिंग

SOM एल्गोरिदम क्या है?


SOM सेल्फ-ऑर्गनाइज़िंग फीचर मैप का प्रतिनिधित्व करता है। यह एक न्यूरल नेटवर्क दृष्टिकोण पर निर्भर एक क्लस्टरिंग और डेटा विज़ुअलाइज़ेशन तकनीक है। SOM के न्यूरल नेटवर्क आधार के बावजूद, इसे प्रोटोटाइप-आधारित क्लस्टरिंग के परिवर्तन के संदर्भ में न्यूनतम रूप से प्रस्तुत किया जाता है।

SOM का एल्गोरिदम निम्नलिखित है:

  • सेंट्रॉयड्स को इनिशियलाइज़ करें।

  • दोहराएं

  • अगला ऑब्जेक्ट चुनें।

  • ऑब्जेक्ट के निकटतम सेंट्रॉयड का निर्धारण करें।

  • इस सेंट्रॉयड और उन सेंट्रॉयड्स को रीफ्रेश करें जो करीब हैं, यानी एक निश्चित पड़ोस में।

  • जब तक सेंट्रॉयड्स ज्यादा न बदलें या थ्रेशोल्ड आउटस्पेस न हो जाए।

  • प्रत्येक ऑब्जेक्ट को उसके निकटतम सेंट्रॉयड को असाइन करें और सेंट्रॉयड्स और क्लस्टर्स को पुनर्स्थापित करें।

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

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

ऑब्जेक्ट का चयन - लूप में पहला चरण (लाइन 3) अगले ऑब्जेक्ट का चयन है। यह सरल है, लेकिन कई कठिनाइयां हैं। क्योंकि अभिसरण में कुछ चरणों की आवश्यकता हो सकती है, प्रत्येक डेटा ऑब्जेक्ट का उपयोग कई बार किया जा सकता है, विशेष रूप से यदि ऑब्जेक्ट्स की संख्या छोटी है। लेकिन यदि ऑब्जेक्ट्स की संख्या बड़ी है, तो प्रत्येक ऑब्जेक्ट का उपयोग करना आवश्यक नहीं हो सकता है। विशिष्ट समूहों के ऑब्जेक्ट्स के प्रभाव को प्रशिक्षण सेट में उनकी आवृत्ति बढ़ाकर सुधारना भी लागू है।

असाइनमेंट - निकटतम सेंट्रॉयड का निर्धारण (लाइन 4) आसान है, हालांकि इसके लिए दूरी मीट्रिक के विवरण की आवश्यकता होती है। यूक्लिडियन दूरी मीट्रिक का उपयोग किया जाता है, जैसा कि डॉट प्रोडक्ट मीट्रिक है। डॉट प्रोडक्ट दूरी का उपयोग करते समय, डेटा वेक्टर्स को आमतौर पर पहले से सामान्यीकृत किया जाता है और रेफरेंस वेक्टर्स को हर चरण में सामान्यीकृत किया जाता है। इस तरह, डॉट प्रोडक्ट मीट्रिक का उपयोग कोसाइन माप का उपयोग करने के समान है।

अपडेट - अपडेट चरण (लाइन 5) कठिन है। मान लें कि $m_{1} \dots m_{k}$, सेंट्रॉयड्स हैं। समय चरण $t$ के लिए, मान लें कि $p(t)$ वर्तमान ऑब्जेक्ट (पॉइंट) है और मान लें कि $p(t)$ का निकटतम सेंट्रॉयड $m_{j}$ है। इसलिए, समय $t+1$ के लिए, $j$वां सेंट्रॉयड निम्नलिखित समीकरण का उपयोग करके रीफ्रेश किया जाता है।

$$\mathrm{m_{j}(t + 1) = m_{j}(t) + h_{j}(t)(p(t) - m_{j}(t))}$$

समाप्ति - यह निर्धारित करना कि सेंट्रॉयड्स के स्थिर सेट के लिए पर्याप्त कब है, एक आवश्यक मुद्दा है। आदर्श रूप से, पुनरावृत्ति तब तक जारी रहनी चाहिए जब तक अभिसरण न हो जाए, यानी, जब तक रेफरेंस वेक्टर्स बदलते नहीं हैं या थोड़ा बदलते हैं। अभिसरण की लागत कई कारकों पर निर्भर करेगी, जिसमें डेटा और 𝛼(t) शामिल हैं।


  1. - ब्लोफिश एल्गोरिदम के संचालन क्या हैं?

    ब्लोफिश एक सममित ब्लॉक सिफर एल्गोरिदम है और यह एक समय में 64-बिट्स के ब्लॉक जानकारी को एन्क्रिप्ट करता है। यह फिस्टेल नेटवर्क का पालन करता है और इस एल्गोरिदम की कार्य प्रक्रिया दो भागों में विभाजित है। सबकी जनरेशन - यह प्रक्रिया 448 बिट्स तक लंबी कुंजी को 4168 बिट्स जोड़ने वाली सबकी में बदल देती है

  1. - C टोकन क्या हैं?

    C प्रोग्राम निर्देशों का एक संग्रह है और प्रत्येक निर्देश व्यक्तिगत इकाइयों का एक संग्रह है।C प्रोग्राम की हर छोटी व्यक्तिगत इकाई को आमतौर पर टोकन कहा जाता है और C प्रोग्राम में प्रत्येक निर्देश टोकन का एक संग्रह है।टोकन का उपयोग C प्रोग्राम बनाने के लिए किया जाता है और उन्हें C प्रोग्राम के बुनियाद

  1. - C# में कमेंट्स क्या हैं

    कमेंट्स कोड समझाने के लिए उपयोग किए जाते हैं। कंपाइलर कमेंट एंट्रीज़ को इग्नोर करता है। C# प्रोग्राम्स में मल्टीलाइन कमेंट्स /* से शुरू होते हैं और */ कैरेक्टर्स से समाप्त होते हैं। मल्टी-लाइन कमेंट्स /* The following is a mult-line comment In C# /* /*...*/ को कंपाइलर इग्नोर करता है और इसे प्रोग्राम