तंत्रिका नेटवर्क के साथ विसंगतियों का पता लगाना


12

मेरे पास एक बड़ा बहुआयामी डेटासेट है जो प्रत्येक दिन उत्पन्न होता है।

पिछले दिनों की तुलना में किसी भी प्रकार की 'विसंगति' का पता लगाने के लिए एक अच्छा तरीका क्या होगा? क्या यह एक उपयुक्त समस्या है जिसे तंत्रिका नेटवर्क के साथ संबोधित किया जा सकता है?

किसी भी सुझाव की सराहना की है।

अतिरिक्त जानकारी: कोई उदाहरण नहीं है, इसलिए विधि को विसंगतियों का पता लगाना चाहिए

जवाबों:


12

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

वहाँ बुलाया autoencoder का एक प्रकार है denoising autoencoder , जिसके साथ प्रशिक्षित किया जाता है भ्रष्ट संस्करणों इनपुट के रूप में और साथ मूल डेटा का uncorrupted आउटपुट के रूप में मूल डेटा। यह एक नेटवर्क वितरित करता है जो इनपुट से शोर (यानी डेटा भ्रष्टाचार) को हटा सकता है।

आप दैनिक डेटा के साथ एक ख़राब ऑटोकेनडर को प्रशिक्षित कर सकते हैं। फिर इसे नए दैनिक डेटा पर उपयोग करें; इस तरह आपके पास मूल दैनिक डेटा और उन्हीं डेटा का एक अनियंत्रित संस्करण है। फिर आप महत्वपूर्ण अंतरों का पता लगाने के लिए दोनों की तुलना कर सकते हैं ।

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

एक अन्य विकल्प जनरेटिव एडवरसियर नेटवर्क का उपयोग करना होगा । प्रशिक्षण का उपोत्पाद एक भेदभावपूर्ण नेटवर्क है जो असामान्य डेटा से सामान्य दैनिक डेटा को बताता है ।


4

मुझे लगता है कि भारी आपके डेटा की प्रकृति (श्रेणीबद्ध / निरंतर) पर निर्भर करता है। मैं पहले सरल तरीकों से शुरू करता हूँ। मेरे मन में आया:

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

यदि इनमें से कोई भी उपयुक्त नहीं है, तो विसंगतियों का पता लगाने के लिए विशेष सांख्यिकी / एमएल मॉडल की पूरी शाखा है। एसवीएम, टी-एसएनई, आइसोलेशन फॉरेस्ट, पीयर ग्रुप एनालिसिस , ब्रेक प्वाइंट एनालिसिस , टाइम सीरीज़ (जहाँ आप बाहर के ट्रेंडर्स की तलाश करेंगे)।

उन विधियों का यह फायदा है कि वे सफेद-बॉक्स की तरह होते हैं, इसलिए आप बता सकते हैं कि कोई बाहरी व्यक्ति क्यों है। क्या यह वह चीज नहीं है जो आप चाहते हैं, दूसरों ने एएनएन दृष्टिकोण का सुझाव दिया, जो भी काम करेगा।


0

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


0

Autoencoders का उपयोग करते हुए ऐसा करने का एक सरल तरीका (बिना "Autoencoders को अस्वीकार किए बिना" जिसे "दूषित डेटा" के साथ प्रशिक्षित करने की आवश्यकता है) एक autoencoder को प्रशिक्षित करना है और फिर इनपुट से पंक्तियों के RMSE का निरीक्षण करना है जो अच्छी तरह से डिकोड होता है (वाले) यह है कि Autoencoder एक कठिन समय था पुनर्निर्माण)। कुछ परिभाषा के अनुसार डेटा एक विसंगति का प्रतिनिधित्व करेगा (निश्चित रूप से यह ट्रैफ़िक में स्पाइक्स जैसी चीजों के लिए मामला होगा)।

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