10 ^ 10 अंक के लिए एल्गोरिथ्म जैसे फास्ट के-साधन?


14

मैं 10-आयामी बिंदुओं के समूह पर k-mean clustering कर रहा हूं। पकड़: 10 ^ 10 अंक हैं

मैं सबसे बड़े समूहों के केंद्र और आकार की तलाश कर रहा हूं (मान लीजिए 10 से 100 क्लस्टर हैं); मुझे इस बात की परवाह नहीं है कि प्रत्येक बिंदु किस क्लस्टर में समाप्त होता है। k- साधनों का उपयोग करना विशेष रूप से महत्वपूर्ण नहीं है; मैं बस एक समान प्रभाव की तलाश कर रहा हूं, कोई भी अनुमानित k- साधन या संबंधित एल्गोरिथ्म महान होगा (मिनीबैच-डब्ल्यूडब्ल्यू का मतलब है, ...)। चूँकि GMM एक तरह से k- साधनों के समान समस्या है, इसलिए समान आकार के डेटा पर GMM करना भी दिलचस्प है।

इस पैमाने पर, डेटा को सबमप्लिमेंट करने से परिणाम में महत्वपूर्ण बदलाव नहीं होता है: डेटा के 1/10000 वें नमूने का उपयोग करके समान शीर्ष 10 क्लस्टर खोजने की संभावना बहुत अच्छी है। लेकिन फिर भी, यह एक 10 ^ 6 बिंदु समस्या है जो कि ट्रैकेबल के किनारे पर / परे है।


1
किताब "माइनिंग ऑफ़ डासिव डेटासेट्स" में कई एल्गोरिदम वर्णित हैं, जिन्हें आप यहाँ मुफ्त में डाउनलोड कर सकते हैं । अध्याय 7 "क्लस्टरिंग" पढ़ें।
लाननोक

जवाबों:


12

k- साधन पर आधारित है औसत

यह साधनों का उपयोग करके क्लस्टर बनाता है, और इस प्रकार अधिक डेटा जोड़कर सुधार सीमांत है। औसत अनुमान की त्रुटि 1 / sqrt (n) के साथ कम हो जाती है; इसलिए अधिक डेटा जोड़ने से कम और कम भुगतान होता है ...

ऐसे बड़े डेटा के लिए रणनीतियाँ हमेशा नमूने के इर्द-गिर्द घूमती हैं:

यदि आप सबलाइनर रनटाइम चाहते हैं, तो आपको नमूना करना होगा!

वास्तव में, मिनी बैच-माइग्रेन आदि ठीक यही करते हैं: डेटा सेट से बार-बार नमूना।

हालाँकि, नमूनाकरण (विशेष रूप से निष्पक्ष नमूने में) बिल्कुल भी स्वतंत्र नहीं है ... आमतौर पर, आपको अपने डेटा को नमूना करने के लिए रैखिक रूप से पढ़ना होगा, क्योंकि आपको व्यक्तिगत रिकॉर्ड तक यादृच्छिक पहुँच नहीं मिलती है।

मैं MacQueen के एल्गोरिथ्म के साथ जाऊँगा। यह ऑनलाइन है; डिफ़ॉल्ट रूप से यह आपके डेटा पर एक एकल पास करता है (हालांकि यह इसे पुनरावृत्त करने के लिए लोकप्रिय है)। यह वितरित करना आसान नहीं है, लेकिन मुझे लगता है कि आप SSD से 10 बार अपने डेटा को रैखिक रूप से पढ़ सकते हैं?


मैं MacQueen के ऑनलाइन एल्गोरिथ्म के बारे में नहीं जानता था! क्या यह आमतौर पर "क्लासिक" के-साधन के समान परिणाम प्राप्त करता है? इसके बजाय जलाशय के नमूने का उपयोग करने के बारे में क्या? इस तरह से ओपी के पास के-साधनों को फिर से चलाने के लिए एक नमूना है, यदि के के कई मूल्यों का परीक्षण किया जाना चाहिए।
विक्टर मा

6

एक पक्ष टिप्पणी के रूप में कि 10D डेटा के लिए K- साधनों का उपयोग आयामीता के अभिशाप के अनुसार कहीं भी समाप्त हो सकता है । बेशक यह डेटा की प्रकृति के अनुसार थोड़ा भिन्न होता है, लेकिन एक बार जब मैंने दहलीज को निर्धारित करने की कोशिश की जिसमें के-मीन्स आयामी के बारे में अजीब व्यवहार करना शुरू कर देता है, तो मुझे 7 डी जैसा कुछ मिला। 7 आयामों के बाद यह सही समूहों को याद करना शुरू कर दिया (मेरा डेटा मैन्युअल रूप से 4 अच्छी तरह से अलग किए गए गॉसियन वितरण के अनुसार उत्पन्न हुआ था और मैंने अपने छोटे प्रयोग के लिए MATLAB kmeans फ़ंक्शन का उपयोग किया था )।


यह संभव है और निश्चित रूप से, हमेशा डेटा पर निर्भर करता है। हालांकि, यह देखते हुए कि पोस्टर में 10 ^ 10 (संभवतः स्वतंत्र) नमूने हैं, ऐसा लगता है कि 10 आयाम यहां एक समस्या नहीं हैं।
रयान जे। स्मिथ

2
आपकी टिप्पणी के लिए धन्यवाद @ RyanJ.Smith आपकी टिप्पणी बिल्कुल उसी दिशा में है। मैंने अभी इस समस्या के बारे में पोस्ट में कुछ भी नहीं देखा। और नमूनों की एनआर के बारे में; हालाँकि उनके पास कई नमूना बिंदु हैं जो वे अभी भी आयामीता की समस्या में फंस सकते हैं। मुझे लगता है कि आप लो सैंपल साइज़ प्रॉब्लम के विपरीत पक्ष पर विचार कर रहे हैं जो मुझे लगता है कि मान्य नहीं है। वह एक उच्च आयामी डेटा है, तो कम नमूने का आकार एक समस्या हो जाएगा, लेकिन मैं डेटा की एक बड़ी राशि लगता है जरूरी नहीं है मतलब कुछ भी।
कसरा मंशाई

10 आयाम अभी बहुत अधिक नहीं हैं।
है क्विट - एनी-मूस

1
आप मेरे दोस्त को कैसे निर्धारित करते हैं? मैंने जो कहा वह इस तरह के सवाल का जवाब देने के लिए तैयार किए गए प्रयोग का परिणाम था, हालांकि इसका जवाब सामान्य तौर पर नहीं दिया जा सकता है! आपकी टिप्पणी में "बहुत" क्या है? यह कई परिस्थितियों पर निर्भर करता है जैसा कि मैंने अपने उत्तर में बताया है। कुछ स्थितियों में 10D समस्याग्रस्त हो सकता है।
कासरा मंशाई
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.