आर का उपयोग करके आयामी कमी के लिए टी-एसएनई बनाम पीसीए के साथ क्या गलत है?


27

मेरे पास 336x256 फ़्लोटिंग पॉइंट नंबर (336 बैक्टीरियल जीनोम (कॉलम) x 256 सामान्यीकृत टेट्रान्यूक्लियोटाइड फ़्रीक्वेंसी (रो)) का एक मैट्रिक्स है, जैसे हर कॉलम 1 तक जोड़ता है)।

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

library(tsne)
library(rgl)
library(FactoMineR)
library(vegan)
# read input data
mydata <-t(read.csv("freq.out", header = T, stringsAsFactors = F, sep = "\t", row.names = 1))
# Kmeans Cluster with 5 centers and iterations =10000
km <- kmeans(mydata,5,10000)
# run principle component analysis
pc<-prcomp(mydata)
# plot dots
plot(pc$x[,1], pc$x[,2],col=km$cluster,pch=16)
# plot spiderweb and connect outliners with dotted line
pc<-cbind(pc$x[,1], pc$x[,2])
ordispider(pc, factor(km$cluster), label = TRUE)
ordihull(pc, factor(km$cluster), lty = "dotted")

यहाँ छवि विवरण दर्ज करें

# plot the third dimension
pc3d<-cbind(pc$x[,1], pc$x[,2], pc$x[,3])
plot3d(pc3d, col = km$cluster,type="s",size=1,scale=0.2)

यहाँ छवि विवरण दर्ज करें

लेकिन जब मैं टी-एसएनई विधि के साथ पीसीए को स्वैप करने की कोशिश करता हूं, तो परिणाम बहुत अप्रत्याशित लगते हैं:

tsne_data <- tsne(mydata, k=3, max_iter=500, epoch=500)
plot(tsne_data[,1], tsne_data[,2], col=km$cluster, pch=16)
ordispider(tsne_data, factor(km$cluster), label = TRUE)
ordihull(tsne_data, factor(km$cluster), lty = "dotted")

यहाँ छवि विवरण दर्ज करें

plot3d(tsne_data, main="T-SNE", col = km$cluster,type="s",size=1,scale=0.2)

यहाँ छवि विवरण दर्ज करें

यहाँ मेरा प्रश्न यह है कि किमी की गुच्छी टी-एसएनई की गणना से इतनी भिन्न क्यों है। मुझे उम्मीद है कि पीसीए जो कर रहा है, उससे क्लस्टर्स के बीच और भी बेहतर अलगाव की उम्मीद होगी। क्या आप जानते हैं कि ऐसा क्यों है? क्या मुझे स्केलिंग स्टेप या किसी तरह का सामान्यीकरण याद आ रहा है?


4
कृपया ध्यान दें कि पीसीए के साथ, आपको अक्सर "अच्छे" परिणाम नहीं मिलेंगे क्योंकि आप प्राप्त करने के लिए खुश हैं। कई विशेषताओं पर क्लस्टरिंग और फिर कुछ पहले पीसी के उप-समूह में क्लस्टर को प्रोजेक्ट करना, जैसे कि आप टी-एसएनई के लिए यहां प्राप्त चित्र दिखा सकते हैं, - जब तक कि उन पीसीएस लगभग सभी परिवर्तनशीलता को पकड़ नहीं लेते। क्या आपने तुलना की - परिवर्तनशीलता का कौन सा हिस्सा आपके पहले 3 पीसी और आपके पहले 3 टी-एसएनई-आयामों द्वारा कब्जा कर लिया गया है?
tnnphns

2
अधिक तुच्छ, क्या आपने अधिक पुनरावृत्तियों की कोशिश की है?
जुबॉ

2
मैंने 2000 तक के पुनरावृत्तियों के साथ खेला है और विभिन्न गड़बड़ी सेटिंग्स के साथ भी खेला है, लेकिन पीसीए शो के प्रदर्शन के करीब भी कभी नहीं देखा।
लोदी

1
क्या आपने दुविधा को कम करने की कोशिश की है?

1
tSNE में एक सैद्धांतिक इष्टतम गड़बड़ी है जो आपके डेटा के मूल और अनुमानित आयामों में केएल विचलन को कम करता है। क्या आपने पहले गड़बड़ी के लिए ग्रिड खोज करने की कोशिश की है? जैसे १०,२०,३०,४०, इत्यादि
एलेक्स आर।

जवाबों:


10

TSNEआपको इसका उपयोग करने से पहले समझना होगा कि आप क्या करते हैं।

यह दूरी के आधार पर फ़ीचर वैक्टर के बीच एक एथेरोबोरल ग्राफ का निर्माण करके शुरू होता है ।

ग्राफ एक नोड (फीचर वेक्टर) को उसके nनिकटतम नोड्स (फीचर स्पेस में दूरी के संदर्भ में ) से जोड़ता है । इसे पैरामीटर nकहा जाता है perplexity

इस ग्राफ के निर्माण का उद्देश्य नमूना के प्रकार में निहित है TSNE आपके फीचर वैक्टर के अपने नए प्रतिनिधित्व के निर्माण पर निर्भर करता है।

TSNE मॉडल बिल्डिंग के लिए एक अनुक्रम random walkआपके TSNE फीचर ग्राफ पर प्रयोग करके उत्पन्न किया जाता है ।

मेरे अनुभव में ... मेरी कुछ समस्याएं तर्क के कारण आईं कि कैसे प्रतिनिधित्व इस ग्राफ के निर्माण को प्रभावित करता है। मैं perplexityपैरामीटर के साथ भी खेलता हूं , क्योंकि यह इस बात पर प्रभाव डालता है कि मेरा नमूना कितना केंद्रित है।


9

इन दृष्टिकोणों की तुलना करना कठिन है।

पीसीए पैरामीटर मुक्त है। डेटा को देखते हुए, आपको बस प्रमुख घटकों को देखना होगा।

दूसरी ओर, टी-एसएनई गंभीर मापदंडों पर निर्भर करता है: पेप्लेक्सिटी, शुरुआती अतिशयोक्ति, सीखने की दर, पुनरावृत्तियों की संख्या - हालांकि डिफ़ॉल्ट मान आमतौर पर अच्छे परिणाम प्रदान करते हैं।

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


3

मैंने पीसीए को बदलने के लिए एक डेटासेट पर टी-स्नेन चलाया और (बग के बावजूद रम वी ने देखा) बेहतर परिणाम मिले। मेरे आवेदन के मामले में, किसी न किसी pca ने अच्छी तरह से काम किया जबकि किसी न किसी t-sne ने मुझे यादृच्छिक खोज परिणाम दिए। यह स्केलिंग / सेंटरिंग स्टेप के कारण pca में शामिल था (ज्यादातर पैकेजों में डिफ़ॉल्ट रूप से) लेकिन इसका उपयोग t-sne में नहीं किया गया था।
मेरे बिंदु क्षेत्र थे और उनके बीच की दूरी पिछली स्केलिंग के बिना बहुत कम समझ में आती थी, इसने मुझे "रैंडम लुकिंग" से "अर्थ" बनाया।

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

डिस्टिल के पास कुछ संवादात्मक दृश्य के साथ एक बहुत अच्छा लेख है जो वास्तव में मापदंडों के प्रभाव को समझने में मदद करता है।


0

पीसीए और एसवीडी जैसे टीएसएनई के तरीकों के बीच एक महत्वपूर्ण अंतर यह है कि tSNE गैर-रेखीय पैमाने का उपयोग कर रहा है। यह अक्सर उन भूखंडों के लिए बनाता है जो अधिक नेत्रहीन संतुलित होते हैं लेकिन पीसीए के लिए उसी तरह से उनकी व्याख्या करने में सावधानी बरतें। यह अंतर ऊपर दिखाए गए भूखंडों के बीच अंतर की संभावना है।

TSNE के गैर-रेखीय पैमाने की व्याख्या करने के बारे में अधिक विस्तार के लिए निम्नलिखित लेख देखें: https://distill.pub/2016/misread-tsne/ (वाटेनबर्ग, एट अल।, "टी-एसएनई प्रभावी रूप से उपयोग कैसे करें", डिस्टिल, 2016. http://doi.org/10.23915/distill.00002 )

यह अप्रत्याशित नहीं है कि tSNE डेटा "क्लस्टर" को मिलाएगा क्योंकि वे पीसीए डेटा में उतना अलग नहीं हैं। क्लस्टर 2 और 4 के समूहों के भीतर कुछ बिंदु क्लस्टर सेंट्रोइड से अधिक दूर हैं उदाहरण के लिए क्लस्टर के बीच का अंतर। आपको एक अलग k- पैरामीटर के साथ बहुत अलग क्लस्टरिंग परिणाम प्राप्त होंगे। जब तक आपके पास 5 समूहों का उपयोग करने के लिए एक विशिष्ट जैविक औचित्य नहीं है, मैं एक ग्राफ-आधारित या अनुपयोगी पदानुक्रमित क्लस्टरिंग दृष्टिकोण का उपयोग करने की सलाह दूंगा।

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