क्या स्ट्रीमिंग डेटा के लिए टी-एसएनई के कोई संस्करण हैं?


19

टी-एसएनई और बार्न्स-हट सन्निकटन की मेरी समझ यह है कि सभी डेटा बिंदुओं की आवश्यकता होती है ताकि सभी बल इंटरैक्शन की गणना एक ही समय में की जा सके और प्रत्येक बिंदु को 2 डी (या निम्न आयामी) मानचित्र में समायोजित किया जा सके।

क्या टी-स्नेन के कोई संस्करण हैं जो स्ट्रीमिंग डेटा से कुशलता से निपट सकते हैं? इसलिए यदि मेरी टिप्पणियों को एक समय में एक आ रहा है, तो नए अवलोकन को रखने के लिए 2d नक्शे पर सबसे अच्छा स्थान मिलेगा, या htd नए अवलोकन के लिए खाते के लिए 2d मानचित्र पर सभी बिंदुओं को लगातार अपडेट करना होगा।

यह भी समझ में आता है या यह टी-स्नेन की स्थापना के खिलाफ जाता है।


बार्न्स-हट सन्निकट टी-एसएनई को अत्यधिक स्केलेबल बनाता है (कम से कम, आप इसे 100 000 लाइनों के साथ उपयोग कर सकते हैं, मैंने कोशिश की)। आप इसे R: cran.r-project.org/web/packages/Rtsne/index.html
RUser4512

धन्यवाद! यदि आप इसे उत्तर अनुभाग में रखते हैं तो मुझे आपके उत्तर के लिए वोट करने में खुशी होगी।
टॉम

3
एक न्यूरल एनटीवर्क के साथ कार्यान्वित पैरामीट्रिक संस्करण के लिए यहां देखें। lvdmaaten.github.io/publications/papers/AISTATS_2009.pdf
पलटन

जवाबों:


15

मेरे पास बिल्कुल वही सवाल था और इसे कुछ हफ्ते पहले लेडी करपैथी द्वारा दिए गए CS231n व्याख्यान के YouTube वीडियो पर पोस्ट किया गया था। यहाँ प्रश्न है जो मैंने पोस्ट किया है, उसके बाद 'गर्लफ्रेंड' की प्रतिक्रिया है:

https://www.youtube.com/watch?v=ta5fdaqDT3M&lc=z12ji3arguzwgxdm422gxnf54xaluzhcx

प्रश्न:

टी-एसएनई को निम्न-आयामी सुविधा स्थान बनाने के लिए छवियों (या अधिक सामान्यतः, डेटा) के पूरे बैच की आवश्यकता होती है? पीसीए के साथ आप डेटा के एक बैच पर एक कम-आयामी सुविधा वाला स्थान बना सकते हैं और फिर उसी स्थान पर "रिट्रेन" किए बिना नए डेटा बिंदुओं को प्रोजेक्ट कर सकते हैं। क्या यह टी-एसएनई के लिए सही है?

मैं पूछता हूं क्योंकि मैंने देखा है कि स्किकिट-लर्न में टी-एसएनई है जो कि कई गुना वर्ग के हिस्से के रूप में है, लेकिन उस मॉड्यूल में एक परिवर्तन () विधि नहीं है जैसा कि पीसीए करता है। इसलिए, कम से कम, स्केलेर में, ऐसा लगता है कि यह संभव नहीं है।

मेरा प्रश्न इस पर उबाल मारता है। टी-एसएनई को एक स्ट्रीमिंग या ऑनलाइन स्थिति में कैसे लागू किया जाएगा जहां आप नई छवियों के साथ दृश्य को लगातार अपडेट करना चाहते हैं? संभवतः, प्रत्येक नई छवि के लिए पूरे बैच पर एल्गोरिदम लागू नहीं करना चाहेगा।

ए:

+ इवान ज़मीर ने यह टी-एसएनई के साथ संभव है, लेकिन शायद नियमित टी-एसएनई कार्यान्वयन के साथ बॉक्स से बाहर का समर्थन नहीं किया है। आम तौर पर प्रत्येक बिंदु का स्थान अनुकूलन में एक पैरामीटर है, लेकिन आप उच्च-डी -> कम-डी (जैसे तंत्रिका जाल) और स्थानों के माध्यम से बैकप्रॉप से ​​केवल एक मैपिंग बना सकते हैं। फिर आप एम्बेडिंग फ़ंक्शन के साथ समाप्त होते हैं और नए बिंदुओं को प्रोजेक्ट कर सकते हैं। सिद्धांत रूप में इसे रोकने के लिए कुछ भी नहीं है, लेकिन कुछ कार्यान्वयन इसे समर्थन नहीं कर सकते क्योंकि यह एक कम लगातार उपयोग का मामला है।


11

स्ट्रीमिंग डेटा के साथ काम करते समय, आप इतिहास में सभी बिंदुओं को एक एकल टी-एसएनई मानचित्र में एम्बेड नहीं करना चाहते / कर सकते हैं। एक विकल्प के रूप में, आप इन सरल चरणों का पालन करके ऑनलाइन एम्बेडिंग कर सकते हैं :

  1. अवधि T की एक समय-खिड़की चुनें, पर्याप्त लंबी ताकि प्रत्येक पैटर्न में विंडो अवधि में कम से कम कुछ बार दिखाई दे।

  2. डेटा स्ट्रीम के रूप में विंडो को स्क्रॉल करें, समय-चरण के साथ टी से बहुत छोटा है। विंडो की प्रत्येक स्थिति के लिए, समय विंडो में डेटा बिंदुओं के एक टी-एसएनई एम्बेडिंग की गणना करें।

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

नोट 1: यह महत्वपूर्ण है कि किसी भी समय विंडो में ब्याज के पैटर्न कम से कम एक बार दिखाई दें, ताकि प्रतिनिधित्व की स्मृति को डेटासेट के माध्यम से विंडो स्लाइड के रूप में खोना न पड़े। वास्तव में, टी-एसएनई आम तौर पर एक अद्वितीय समाधान में परिवर्तित नहीं होता है, लेकिन केवल एक स्थानीय न्यूनतम के लिए होता है, इसलिए यदि मेमोरी खो जाती है, तो एक समान पैटर्न को एम्बेडिंग के दो इंस्टेंसेस में बहुत भिन्न तरीकों से दर्शाया जा सकता है।

नोट 2: गैर-स्थिर समय श्रृंखला के साथ काम करते समय यह विधि विशेष रूप से प्रासंगिक है, जहां कोई समय के माध्यम से धीरे-धीरे विकसित होने वाले पैटर्न को ट्रैक करना चाहता है। वास्तव में, प्रत्येक एम्बेडिंग को विशेष रूप से छोटे समय की खिड़की पर taylored किया जाता है, जिस पर यह गणना की जाती है, यह सुनिश्चित करता है कि यह अस्थायी रूप से स्थानीय संरचना को सर्वोत्तम तरीके से कैप्चर करता है (इसके विपरीत पूरे गैर-स्थिर डाटासेट के पूर्ण एम्बेडिंग के लिए)।

नोट 3: इस विधि में क्रमिक एम्बेडिंग को समानांतर नहीं किया जा सकता है, क्योंकि अगले एक को सीड करने के लिए पिछले एम्बेडिंग के परिणाम की आवश्यकता होती है। हालाँकि, क्योंकि बीज (यानी बिंदुओं के प्रारंभिक निर्देशांक) को अधिकांश बिंदुओं के लिए अच्छी तरह से चुना जाता है (सभी आत्मघाती एम्बेडिंग के बीच सभी साझा बिंदुओं), एक एम्बेडिंग आमतौर पर केवल पुनरावृत्तियों में बहुत तेजी से परिवर्तित होती है।

गैर-स्थिर समय श्रृंखला के लिए इस पद्धति के आवेदन के उदाहरण के लिए, इस लेख को देखें ( ICLR 2016, ऑन-लाइन t-SNE के साथ बदलती दुनिया में स्थिर प्रतिनिधित्व सीखना: गीत में अवधारणा का प्रमाण ), जहां इसे सफलतापूर्वक लागू किया गया था सोंगबर्ड में विकास के दौरान सिलेबल्स के उद्भव को ट्रैक करने के लिए।


2
समुदाय में आपका स्वागत है। आत्म-साहित्यिक चोरी है। मैं यहां आपकी पहली पोस्ट का संदर्भ देता हूं । निश्चित रूप से, हम एक से अधिक उत्तरों के लिए एक ही तर्क का उपयोग कर सकते हैं, संभावित रूप से कॉपी-पेस्ट एक वाक्यांश या दो या सीधे पिछले उत्तरों से लिंक कर सकते हैं। ये कहा जा रहा है, हालांकि बदले हुए पहले वाक्य के साथ पिछले उत्तरों की शब्दशः कॉपी करने के लिए अपने पदों को कम न करें। यह सीवी की सामग्री की गुणवत्ता को कम करता है और आपके द्वारा खराब स्कोलास्टिक स्पोर्ट्समैनशिप दिखाता है।
us --r11852 का कहना है कि

5
@ us @r11852 यह समस्या इसलिए बनाई गई क्योंकि दूसरा धागा इस एक का डुप्लिकेट है। इसलिए मैंने दूसरे को बंद कर दिया है, इसे इस एक के साथ विलय कर दिया है, और शानदार जवाब को हटा दिया है। सामान्य तौर पर, स्टीफन, जब भी आप दो धागों में एक ही उत्तर पोस्ट करने के लिए प्रेरित महसूस करते हैं, तो कृपया उनमें से एक को एक डुप्लिकेट के रूप में चिह्नित करें ताकि हम उन्हें जोड़ सकें।
whuber

2
@ us @r11852 ठीक है, डुप्लिकेट उत्तर के लिए क्षमा करें, मैं एक नया योगदानकर्ता हूं इसलिए मुझे अभी तक सर्वोत्तम प्रथाओं का पता नहीं है।
स्टीफन डेनी

1
@whuber प्रश्नों के विलय के लिए और शीर्षकों के लिए धन्यवाद!
स्टीफन डेनी

1
आप परिणाम के रूप में 2 upvotes खो दिया है लगता है। बदकिस्मती से। +1 :) सीवी में आपका स्वागत है।
अमीबा का कहना है कि मोनिका

7

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

उद्धरण: arXiv: 1512.01655

प्रोग्रेसिव विज़ुअल एनालिटिक्स निकोला पेज़ोट्टी, बॉउडीविज़न पीएफ लिलिवल्ड, लॉरेन्स वैन डेर मैटन, थॉमस होल्त, एल्मर ईसेमैन, अन्ना विलानोवा के लिए अनुमानित और यूजर स्टीयरेबल tSNE

सारांश:

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


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

6

बार्न्स-हट सन्निकट टी-एसएनई को अत्यधिक स्केलेबल बनाता है (कम से कम, आप इसे 100 000 लाइनों के साथ उपयोग कर सकते हैं, मैंने कोशिश की)। आप इसे R: Rtsne से कॉल कर सकते हैं

O(nlog(n))O(n2)


1
मैंने इसे 250K घने 1K लाइनों के साथ इस्तेमाल किया - वास्तव में बहुत अच्छा था, लेकिन यह स्मृति से बंधा हुआ है।
व्लादिमीर चुपाखिन

2

बार्न्स-हट सन्निकटन अब संस्करण 0.17.0 के रूप में स्किकिट-डिफॉल्ट में डिफ़ॉल्ट विधि है:

डिफ़ॉल्ट रूप से ढाल गणना एल्गोरिथ्म O (NlogN) समय में चल रहे बार्न्स-हट सन्निकटन का उपयोग करता है। विधि = 'सटीक' धीमी गति से चलेगी, लेकिन सटीक, एल्गोरिथ्म ओ (एन ^ 2) समय में। निकटतम पड़ोसी त्रुटियों को 3% से बेहतर होने की आवश्यकता होने पर सटीक एल्गोरिदम का उपयोग किया जाना चाहिए। हालाँकि, सटीक विधि लाखों उदाहरणों को माप नहीं सकती है। संस्करण 0.17 में नया: बार्न्स-हट के माध्यम से अनुमानित अनुकूलन विधि।


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