9

में एलडीए मॉडल की ऑनलाइन शिक्षा ऑनलाइन सीखने वाले फैशन में एलडीए मॉडल को प्रशिक्षित करने का कोई तरीका है यानी। पहले ट्रेन मॉडल लोड करना, और इसे नए दस्तावेज़ों के साथ अपडेट करना?स्पार्क

+4

stackoverflow आमतौर पर इस मुद्दे को हल करने के लिए अपनी खुद की कोशिश से कुछ कोड जोड़ने की सलाह देते स्ट्रीमिंग के लिए एक JIRA है। कभी-कभी यह बक्षीस से ज्यादा सहायक होता है। –

उत्तर

4

खुद का उत्तर दें: अब तक यह संभव नहीं है।

दरअसल, स्पार्क में एलडीए मॉडल प्रशिक्षण के लिए 2 कार्यान्वयन हैं, और एक OnlineLDAOptimizer है। यह दृष्टिकोण विशेष रूप से दस्तावेज़ों के मिनी बैचों के साथ मॉडल को बढ़ाने के लिए डिज़ाइन किया गया है।

ऑप्टिमाइज़र ऑनलाइन विविधता बेयस एलडीए एल्गोरिदम लागू करता है, जो प्रत्येक पुनरावृत्ति पर कॉर्पस के सबसेट को संसाधित करता है, और शब्द-विषय वितरण अनुकूल रूप से अद्यतन करता है।

मूल ऑनलाइन एलडीए पेपर: Hoffman, Blei and Bach, "Online Learning for Latent Dirichlet Allocation." NIPS, 2010

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

कुछ mllib मॉडल initialModel को वृद्धिशील अपडेट के लिए शुरुआती बिंदु के रूप में समर्थन करते हैं (KMeans, या GMM देखें), लेकिन एलडीए वर्तमान में इसका समर्थन नहीं करता है। मैंने इसके लिए एक जिरा भर दिया: SPARK-20082। वोट दें कृपया ;-)

रिकॉर्ड के लिए, वहाँ भी झील प्राधिकरण SPARK-8696

2

मुझे नहीं लगता कि ऐसी चीज मौजूद होगी। एलडीए संभाव्य पैरामीटर अनुमान एल्गोरिदम है (LDA explained पर प्रक्रिया का एक बहुत ही सरल स्पष्टीकरण), और एक दस्तावेज़ जोड़ने या कुछ पहले की गणना की गई संभावनाओं को बदल देंगे, इसलिए सचमुच मॉडल को दोबारा लागू करें।

मुझे आपके उपयोग के मामले के बारे में पता नहीं है, लेकिन आप बैच द्वारा अपडेट करने के बारे में सोच सकते हैं यदि आपका मॉडल उचित समय में अभिसरण करता है और अनुमान को तेजी से बनाने के लिए प्रत्येक पुन: गणना में सबसे पुराना दस्तावेज़ छोड़ देता है।