बड़े डेटासेट के लिए गॉसियन प्रक्रिया प्रतिगमन


10

मैं ऑनलाइन वीडियो और व्याख्यान नोट्स से गॉसियन प्रक्रिया प्रतिगमन के बारे में सीख रहा हूं, मेरी समझ यह है कि अगर हमारे पास अंकों के साथ डेटासेट है तो हम मानते हैं कि डेटा -डायमेंशनल मल्टीवेरेट गॉसियन से नमूना लिया गया है । तो मेरा सवाल उस मामले में है जहां है 10 में से लाखों गॉसियन प्रक्रिया प्रतिगमन अभी भी काम करता है? क्या कर्नेल मैट्रिक्स प्रक्रिया को पूरी तरह से अक्षम करने के लिए बहुत बड़ा नहीं होगा? यदि इससे निपटने के लिए तकनीकें हैं, तो कई बार सेट किए गए डेटा से नमूना लेने की तरह? ऐसे मामलों से निपटने के लिए कुछ अच्छे तरीके क्या हैं? nnn


3
आप गाऊसी प्रक्रिया का उपयोग क्यों करना चाहते हैं और ऐसा कुछ नहीं जो बड़े डेटा से निपटने के लिए नियत है?
टिम

जवाबों:


7

उदाहरण के लिए, बड़े डेटासेट में GPs के पैमाने की एक विस्तृत श्रृंखला है:

निम्न रैंक के दृष्टिकोण : ये सहसंयोजक मैट्रिक्स के लिए एक निम्न रैंक सन्निकटन बनाने का प्रयास करते हैं। सबसे प्रसिद्ध शायद Nystroms विधि है जो अंकों के सबसेट पर डेटा को प्रोजेक्ट करती है। उस FITC और PITC से बिल्डिंग का विकास किया गया जो कि बिंदुओं के बजाय छद्म बिंदुओं का उपयोग करते हैं। ये उदाहरण के लिए GPy अजगर पुस्तकालय में शामिल हैं। अन्य दृष्टिकोणों में यादृच्छिक फूरियर विशेषताएं शामिल हैं।

H-matrices : ये सहसंयोजक मैट्रिक्स के पदानुक्रमित संरचना का उपयोग करते हैं और प्रत्येक संरचना स्ट्रेट्रिक्स पर निम्न रैंक सन्निकटन लागू करते हैं। यह आमतौर पर लोकप्रिय पुस्तकालयों में कम लागू होता है।

क्रोनर मेथड्स : ये हेड टोंटी पर कम्प्यूटेशनल को गति देने के लिए कोवरियन मैट्रीस के क्रोनर उत्पादों का उपयोग करते हैं।

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


5

आमतौर पर, आप जो कर सकते हैं, वह आपके डेटासेट (बैगिंग) के उपसमूह पर गाऊसी प्रक्रियाओं को प्रशिक्षित करना है। बैगिंग को स्की लर्न में लागू किया जाता है और इसे आसानी से उपयोग किया जा सकता है। प्रति दस्तावेज उदाहरण देखें ।

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

बैगिंग तकनीकों के अलावा, गॉसियन प्रोसेस रिग्रेशन्स को स्केलेबल बनाने के बारे में कुछ सक्रिय शोध हैं। लेख कर्नेल अंतर्वेशन स्केलेबल के लिए संरचित गाऊसी प्रक्रियाओं (KISS-जीपी) एक करने के लिए प्रशिक्षण के समय को कम करने का प्रस्तावहे(n) और एक matlab कोड के साथ आता है।


5

तुम ने पूछा था:

उस मामले में जहां 10 10 है लाखों में से गॉसियन प्रक्रिया प्रतिगमन अभी भी काम करता है?

बड़े मैट्रिक्स के निर्माण और अंतरण के मानक अर्थ में नहीं। आपके पास दो विकल्प हैं: 1) एक अलग मॉडल चुनें या 2) एक अनुमान लगाएं।

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

2) GPs में सन्निकटन के लिए 'शास्त्रीय' दृष्टिकोण कर्नेल मैट्रिक्स को अनुमानित है। इस प्रकार के तरीकों की यहाँ अच्छी समीक्षा है: http://www.jmlr.org/papers/volume6/quinonero-candela05a/quinonero-candela05a.pdf । वास्तव में, हम आमतौर पर इन मैट्रिक्स सन्निकटन को मॉडल सन्निकटन के रूप में देख सकते हैं, और उन्हें बायेसियन कमेटी मशीन के साथ जोड़ सकते हैं: वे मॉडल में परिवर्तन कर रहे हैं और यह समझना मुश्किल हो सकता है कि कब ये परिवर्तन विकृति हो सकते हैं। यहाँ एक सुपर समीक्षा है: https://papers.nips.cc/paper/6477-understanding-probabilistic-sparse-gaussian-process-approximations.pdf

जिस तरह से मैं बड़े GPs के लिए सन्निकटन बनाने की वकालत करता हूं, वह कर्नेल मैट्रिक्स या मॉडल को अनुमानित करने से बचने के लिए होता है , और परिवर्तनशील अनुमान का उपयोग करके पीछे के वितरण को अनुमानित करता है। बहुत सारी संगणनाएं एक 'लो रैंक' मैट्रिक्स सन्निकटन की तरह दिखती हैं, लेकिन एक बहुत ही वांछनीय संपत्ति है: आपके द्वारा उपयोग की जाने वाली अधिक संगणना (अधिक "रैंक्स") क्लोजेशन के करीब है, जैसा कि केएल द्वारा मापा गया है। विचलन।

ये लेख एक अच्छा प्रारंभिक बिंदु है: http://proceedings.mlr.press/v5/titsias09a/titsias09a.pdf https://arxiv.org/pdf/1309.6835

मैंने यहाँ एक ही तर्क पर एक लंबा लेख लिखा: https://www.prowler.io/blog/sparse-gps-approximate-the-posterior-not-the-model

व्यवहार में, कई मामलों में परिवर्तनशील सन्निकटन वास्तव में अच्छी तरह से काम करता है। मैंने इसका उपयोग वास्तविक अनुप्रयोगों में बड़े पैमाने पर किया है। और हाल ही में वहाँ कुछ उत्कृष्ट सिद्धांत का बैकअप लेने के लिए है कि यह क्यों काम करना चाहिए ( https://arxiv.org/abs/1903.03571 )।

एक अंतिम प्लग: GPs में वैरिएबल इंट्रैक्शन gpflow ( https://github.com/GPflow/GPflow ) में लागू किया गया है


1
सिर्फ रिकॉर्ड के लिए अगर कोई इस पार आता है और नहीं जानता है, तो जेम्स माइक ओसबोर्न, नील लॉरेंस और इस तरह के अधिकारियों के साथ मैदान में अधिकारियों में से एक होगा, वह एसई पर प्रश्नोत्तर का जवाब दे रहा है
j__
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.