t-SNE मिश्रित निरंतर और बाइनरी चर के साथ


10

मैं वर्तमान में टी-एसएनई का उपयोग करके उच्च-आयामी डेटा के दृश्य की जांच कर रहा हूं। मेरे पास मिश्रित बाइनरी और निरंतर चर के साथ कुछ डेटा है और डेटा बाइनरी डेटा को बहुत आसानी से क्लस्टर करने के लिए प्रकट होता है। बेशक यह स्केल (0 और 1 के बीच) डेटा के लिए अपेक्षित है: यूक्लिडियन दूरी हमेशा द्विआधारी टेबल्स के बीच सबसे बड़ी / सबसे छोटी होगी। टी-एसएनई का उपयोग करके मिश्रित बाइनरी / निरंतर डेटासेट के साथ कैसे व्यवहार करना चाहिए? क्या हमें बाइनरी कॉलम को छोड़ देना चाहिए? यह वहाँ एक अलग metricहम उपयोग कर सकते है?

एक उदाहरण के रूप में इस अजगर कोड पर विचार करें:

x1 = np.random.rand(200)
x2 = np.random.rand(200)
x3 = np.r_[np.ones(100), np.zeros(100)]

X = np.c_[x1, x2, x3]

# plot of the original data
plt.scatter(x1, x2, c=x3)
# … format graph

तो मेरा कच्चा डेटा है:

कच्चा डेटा

जहाँ रंग तीसरी विशेषता (x3) का मान है - 3D में डेटा पॉइंट्स दो विमानों (x3 = 0 प्लेन और x3 = 1 प्लेन) में स्थित हैं।

मैं तब t-SNE करता हूं:

tsne = TSNE() # sci-kit learn implementation
X_transformed = StandardScaler().fit_transform(X)
tsne = TSNE(n_components=2, perplexity=5)
X_embedded = tsne.fit_transform(X_transformed)

परिणामी साजिश के साथ:

tsne_data

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


1
नोट: मैं अभी भी इस पर टिप्पणी सुनने में रुचि रखता हूं और इस स्थान पर UMAP की प्रयोज्यता पर भी।
एफसीएचएम

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

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

जवाबों:


8

डिस्क्लेमर: मुझे केवल विषय पर ज्ञान है, लेकिन चूंकि किसी और ने उत्तर नहीं दिया, इसलिए मैं इसे आजमाऊंगा

दूरी महत्वपूर्ण है

दूरी (tSNE, UMAP, MDS, PCoA और संभवतः अन्य) पर आधारित कोई भी आयामी कमी तकनीक केवल उतनी ही अच्छी है जितनी दूरी मीट्रिक आप उपयोग करते हैं। जैसा कि @amoeba सही ढंग से बताता है, एक-आकार-फिट-सभी समाधान नहीं हो सकता है, आपको एक दूरी मीट्रिक चाहिए जो कैप्चर करता है कि आप डेटा में क्या महत्वपूर्ण हैं, यानी कि पंक्तियाँ जिस पर आप विचार करेंगे उसी तरह की छोटी दूरी और पंक्तियाँ आपके पास हैं। विचार करें कि बड़ी दूरी है।

आप एक अच्छी दूरी की मीट्रिक का चयन कैसे करते हैं? पहले, मुझे थोड़ा डायवर्सन करने दें:

समन्वय

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

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

बहुआयामी स्केलिंग

ऑर्डिनेशन के लिए गो टू टूल मल्टी-डायमेंशनल स्केलिंग (एमडीएस) है, विशेष रूप से नॉन-मेट्रिक वेरिएंट (एनएमडीएस) जो मैं आपको टी-एसएनई के अलावा प्रयास करने के लिए प्रोत्साहित करता हूं। मैं पायथन दुनिया के बारे में नहीं जानता, लेकिन पैकेज के metaMDSकार्य में आर कार्यान्वयन veganआपके लिए बहुत सारे ट्रिक्स करता है (उदाहरण के लिए कई रन चलाना जब तक कि यह दो समान न हो जाए)।

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

ध्यान रखें कि टी-एसएनई को समझने के लिए एक उपकरण के रूप में आलोचना की गई है उदाहरण के लिए देखें कि इसके नुकसान की खोज - मैंने सुना है कि यूएमएपी कुछ मुद्दों को हल करता है, लेकिन मुझे यूएमएपी के साथ कोई अनुभव नहीं है। मुझे इस बात पर भी संदेह नहीं है कि पारिस्थितिक विशेषज्ञ एनएमडीएस का उपयोग संस्कृति और जड़ता का उपयोग करते हैं, शायद UMAP या t-SNE वास्तव में बेहतर हैं। मैं ईमानदारी से नहीं जानता।

अपनी खुद की दूरी तय करना

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

चेतावनी

हर समय आपको यह ध्यान में रखना चाहिए कि चूंकि आपके पास धुन करने के लिए बहुत सारे knobs हैं, आप आसानी से ट्यूनिंग के जाल में पड़ सकते हैं जब तक आप वह नहीं देखते जो आप देखना चाहते थे। खोजपूर्ण विश्लेषण में पूरी तरह से बचना मुश्किल है, लेकिन आपको सतर्क रहना चाहिए।


1
+1। यहां कई अच्छे बिंदु हैं, और मुझे पुराने "समन्वय" साहित्य के संदर्भ पसंद हैं। एक बात जिसने मेरा ध्यान आकर्षित किया: "एमडीएस के बारे में अच्छा हिस्सा यह है कि यह सुविधाओं (कॉलम) को भी प्रोजेक्ट करता है, इसलिए आप देख सकते हैं कि कौन सी सुविधाएँ आयामी कमी को ड्राइव करती हैं" - क्या आप इसके बारे में निश्चित हैं? यह सच नहीं है, जहाँ तक मैं समझता हूँ; कम से कम यह टी-एसएनई के लिए एमडीएस के लिए अधिक सच नहीं है।
अमीबा

@amoeba यह वह जगह है जहाँ मेरा सीमित ज्ञान :-) में आता है। मुझे पता है कि metaMDSदोनों नमूनों और सुविधाओं के लिए प्लॉटिंग के लिए डिफ़ॉल्ट प्लॉटिंग विधि (उदाहरण के लिए देखें यह विगनेट : cran.r-project.org/web/packages/vegan/vatettes/ intro-vegan.pdf )
मार्टिन मोद्रक

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

1
@ MartinModrák मुझे नहीं पता कि veganवहाँ वास्तव में पैकेज क्या कर रहा है, लेकिन MDS / NMDS एक गैर-रेखीय और गैर-घटक विधि (बिल्कुल t-SNE) है, और मूल सुविधाओं को MDS आयामों से मिलान करने का कोई "आंतरिक" तरीका नहीं है। मैं कल्पना कर सकता हूं कि वे मूल विशेषताओं और एमडीएस आयामों के बीच सहसंबंधों की गणना कर रहे हैं; यदि हां, तो यह टी-एसएनई सहित किसी भी एम्बेडिंग के लिए किया जा सकता है। यह जानना दिलचस्प होगा कि वास्तव में क्या होता veganहै।
अमीबा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.