टी-एसएनई के साथ समस्या यह है कि यह न तो दूरी को संरक्षित करता है और न ही घनत्व को। यह केवल कुछ हद तक निकटतम पड़ोसियों को संरक्षित करता है। अंतर सूक्ष्म है, लेकिन किसी भी घनत्व- या दूरी आधारित एल्गोरिदम को प्रभावित करता है।
इस प्रभाव को देखने के लिए, बस एक बहुभिन्नरूपी गॉसियन वितरण उत्पन्न करें। यदि आप यह कल्पना करते हैं, तो आपके पास एक गेंद होगी जो घनी है और बाहर की ओर बहुत कम घनी होती है, कुछ आउटलेर के साथ जो वास्तव में बहुत दूर हो सकते हैं।
अब इस डेटा पर t-SNE चलाएं। आप आमतौर पर एक समान घनत्व का एक चक्र प्राप्त करेंगे। यदि आप कम अस्पष्टता का उपयोग करते हैं, तो इसमें कुछ विषम पैटर्न भी हो सकते हैं। लेकिन आप वास्तव में अलग नहीं बता सकते हैं।
अब चीजों को और अधिक जटिल बनाते हैं। आइए एक सामान्य वितरण में (-2,0) पर 250 अंक और (सामान्य वितरण में +2,0) पर 750 अंक का उपयोग करें।
यह एक आसान डेटा सेट माना जाता है, उदाहरण के लिए EM के साथ:
यदि हम 40 की डिफ़ॉल्ट गड़बड़ी के साथ टी-एसएनई चलाते हैं, तो हमें एक विषम आकार का पैटर्न मिलता है:
बुरा नहीं है, लेकिन यह भी क्लस्टर करना आसान नहीं है, क्या यह है? आपके पास एक क्लस्टरिंग एल्गोरिथ्म खोजने में एक कठिन समय होगा जो यहां बिल्कुल वांछित के रूप में काम करता है। और यहां तक कि अगर आप मनुष्यों को इस डेटा को क्लस्टर करने के लिए कहेंगे, तो भी सबसे अधिक संभावना है कि उन्हें यहां 2 से अधिक क्लस्टर मिलेंगे।
यदि हम t-SNE को बहुत छोटी गड़बड़ी से चलाते हैं जैसे कि 20, तो हमें इनमें से अधिक पैटर्न मिलते हैं जो मौजूद नहीं हैं:
यह DBSCAN के साथ क्लस्टर करेगा, लेकिन यह चार क्लस्टर देगा। तो खबरदार, टी-एसएनई "नकली" पैटर्न का उत्पादन कर सकता है!
इस डेटा सेट के लिए इष्टतम गड़बड़ी 80 के आसपास कहीं प्रतीत होती है; लेकिन मुझे नहीं लगता कि यह पैरामीटर हर दूसरे डेटा सेट के लिए काम करना चाहिए।
अब यह नेत्रहीन मनभावन है, लेकिन विश्लेषण के लिए बेहतर नहीं है । एक मानव एनोटेटर संभवतः एक कट का चयन कर सकता है और एक सभ्य परिणाम प्राप्त कर सकता है ; k- साधन हालांकि यह बहुत आसान परिदृश्य में भी विफल हो जाएगा ! आप पहले से ही देख सकते हैं कि घनत्व की जानकारी खो गई है , सभी डेटा लगभग समान घनत्व के क्षेत्र में रहते हैं। यदि हम इसके बजाय प्रतिरूप को और बढ़ाएंगे, तो एकरूपता बढ़ेगी, और अलगाव फिर से कम हो जाएगा।
निष्कर्ष में, विज़ुअलाइज़ेशन के लिए टी-एसएनई का उपयोग करें (और नेत्रहीन मनभावन कुछ पाने के लिए विभिन्न मापदंडों का प्रयास करें!), लेकिन इसके बाद क्लस्टरिंग न चलाएं , विशेष रूप से दूरी- या घनत्व आधारित एल्गोरिदम का उपयोग न करें, क्योंकि यह जानकारी जानबूझकर!) खो गया। पड़ोस-ग्राफ आधारित दृष्टिकोण ठीक हो सकता है, लेकिन फिर आपको पहले टी-एसएनई चलाने की आवश्यकता नहीं है, बस पड़ोसियों का तुरंत उपयोग करें (क्योंकि टी-एसएनई इस एनएन-ग्राफ को बड़े पैमाने पर बरकरार रखने की कोशिश करता है)।
और ज्यादा उदाहरण
ये उदाहरण के लिए तैयार किए गए प्रस्तुति कागज के (लेकिन नहीं पाया जा सकता में अभी तक कागज, के रूप में मैं इस प्रयोग बाद में किया था)
एरिच शुबर्ट, और माइकल गर्ट्ज़।
आंतरिक टी स्टोकेस्टिक पड़ोसी दृश्य और बाह्य पहचान के लिए एम्बेडिंग - आयाम के अभिशाप के खिलाफ एक उपाय?
इन: समानता खोज और अनुप्रयोग (एसआईएसएपी), म्यूनिख, जर्मनी पर 10 वें अंतर्राष्ट्रीय सम्मेलन की कार्यवाही। 2017
सबसे पहले, हमारे पास यह इनपुट डेटा है:
जैसा कि आप अनुमान लगा सकते हैं, यह बच्चों के लिए "कलर मी" इमेज से लिया गया है।
यदि हम इसे SNE ( t-SNE नहीं , बल्कि पूर्ववर्ती) के माध्यम से चलाते हैं :
वाह, हमारी मछली काफी समुद्री राक्षस बन गई है! चूँकि कर्नेल का आकार स्थानीय रूप से चुना जाता है, इसलिए हम घनत्व की अधिक जानकारी खो देते हैं।
लेकिन t-SNE के आउटपुट से आप वास्तव में आश्चर्यचकित होंगे:
मैंने वास्तव में दो कार्यान्वयन (ELKI, और स्केलेर कार्यान्वयन) की कोशिश की है, और दोनों ने ऐसा परिणाम उत्पन्न किया है। कुछ विखंडित टुकड़े, लेकिन यह कि प्रत्येक मूल डेटा के साथ कुछ संगत दिखता है।
इसे समझाने के लिए दो महत्वपूर्ण बिंदु:
SGD एक पुनरावृत्ति शोधन प्रक्रिया पर निर्भर करता है, और स्थानीय ऑप्टिमा में फंस सकता है। विशेष रूप से, यह एल्गोरिदम को उस डेटा के एक हिस्से को "फ्लिप" करने के लिए कठिन बनाता है जिसे उसने प्रतिबिंबित किया है, क्योंकि इसके लिए अलग-अलग होने वाले अन्य बिंदुओं के माध्यम से चलती बिंदुओं की आवश्यकता होगी। इसलिए अगर मछली के कुछ हिस्सों को प्रतिबिंबित किया जाता है, और अन्य भागों को प्रतिबिंबित नहीं किया जाता है, तो यह इसे ठीक करने में असमर्थ हो सकता है।
t-SNE अनुमानित स्थान में t- वितरण का उपयोग करता है। नियमित एसएनई द्वारा उपयोग किए जाने वाले गौसियन वितरण के विपरीत, इसका मतलब है कि अधिकांश बिंदु एक-दूसरे को दोहराएंगे , क्योंकि उनके पास इनपुट डोमेन में 0 आत्मीयता है (गाऊसी जल्दी शून्य हो जाता है), लेकिन आउटपुट डोमेन में> 0 आत्मीयता। कभी-कभी (एमएनआईएसटी के रूप में) यह अच्छे दृश्य बनाता है। विशेष रूप से, यह "बंटवारे" एक डेटा थोड़ा सेट मदद कर सकते हैं और अधिक इनपुट डोमेन की तुलना में। यह अतिरिक्त प्रतिकर्षण भी अक्सर अधिक समान रूप से क्षेत्र का उपयोग करने के लिए बिंदु का कारण बनता है, जो वांछनीय भी हो सकता है। लेकिन यहाँ इस उदाहरण में, repelling प्रभाव वास्तव में मछली के टुकड़े अलग होने का कारण बनते हैं।
हम यादृच्छिक निर्देशांक (जैसा कि आमतौर पर टी-एसएनई के साथ उपयोग किया जाता है) के बजाय प्रारंभिक निर्देशांक के रूप में मूल निर्देशांक का उपयोग करके पहला मुद्दा (इस खिलौना डेटा सेट पर) मदद कर सकते हैं । इस बार, छवि ELKI के बजाय स्केलेर है, क्योंकि स्केलेर संस्करण में पहले से ही प्रारंभिक निर्देशांक पारित करने के लिए एक पैरामीटर था:
जैसा कि आप देख सकते हैं, यहां तक कि "सही" प्रारंभिक प्लेसमेंट के साथ, टी-एसएनई मछली को उन स्थानों की संख्या में "तोड़" देगा जो मूल रूप से जुड़े हुए थे क्योंकि आउटपुट डोमेन में छात्र-टी प्रतिकर्षण इनपुट में गौसियन आत्मीयता से अधिक मजबूत है। अंतरिक्ष।
जैसा कि आप देख सकते हैं, t-SNE (और SNE, too!) दिलचस्प विज़ुअलाइज़ेशन तकनीक हैं, लेकिन उन्हें सावधानी से संभालने की आवश्यकता है। मैं परिणाम पर k- साधन लागू नहीं करूँगा! क्योंकि परिणाम बहुत विकृत हो जाएगा, और न तो दूरी और न ही घनत्व अच्छी तरह से संरक्षित हैं। इसके बजाय, इसे विज़ुअलाइज़ेशन के लिए उपयोग करें।