कई आउटपुट प्रतिगमन के लिए तंत्रिका नेटवर्क


14

मेरे पास 34 इनपुट कॉलम और 8 आउटपुट कॉलम वाले डेटासेट हैं। समस्या को हल करने का एक तरीका 34 आउटपुट लेना और प्रत्येक आउटपुट कॉलम के लिए व्यक्तिगत प्रतिगमन मॉडल बनाना है। मुझे आश्चर्य है कि क्या यह समस्या सिर्फ एक मॉडल का उपयोग करके हल की जा सकती है विशेष रूप से न्यूरल नेटवर्क का उपयोग करके।

मैंने एक बहुपरत पर्सेप्ट्रॉन का उपयोग किया है, लेकिन इसे रैखिक प्रतिगमन की तरह कई मॉडल की आवश्यकता है। अनुक्रम 1 सीखने के लिए एक व्यवहार्य विकल्प हो सकता है? मैं TensorFlow का उपयोग करने की कोशिश की यह फ्लोट मूल्यों को संभालने में सक्षम प्रतीत नहीं होता है।

विशेष रूप से तंत्रिका नेटवर्क का उपयोग करके केवल एक एकीकृत मॉडल का उपयोग करके इस समस्या से निपटने के किसी भी सुझाव की सराहना की जाएगी।

  1. इल्या सुस्क्वर, ओरोल विनील्स, और क्वोक वी। ले (2014)। तंत्रिका नेटवर्क के साथ अनुक्रम सीखने के अनुक्रम। तंत्रिका सूचना प्रसंस्करण प्रणाली में प्रगति , 27. ( पीडीएफ )

क्या है समस्या?
TEG

2
(किसी भी संभावित करीबी मतदाताओं के लिए: यह एक प्रोग्रामिंग प्रश्न नहीं है। यह स्टैक ओवरफ्लो पर विषय से हटकर होगा ।)
गंग - मोनिका

क्या आप यहां "अनुक्रम से अनुक्रम" विकल्प को स्पष्ट कर सकते हैं? मुझे नहीं पता कि यह उन लोगों से परिचित होगा जो w / NN काम करते हैं, लेकिन यह मेरे लिए नहीं है।
गूँग - मोनिका

RNN का उपयोग करके अनुक्रम अनुक्रम से अनुक्रम। papers.nips.cc/paper/...
sjishan

आप MultiOutputRegressor () की कोशिश कर सकते हैं। इस प्रकार की समस्याओं के लिए यह काम करता है
सुभम सरकार

जवाबों:


7

कई परिणामों के साथ एक तंत्रिका जाल का रूप लेता है

Y=γ+V1Γ1+ϵV1=a(γ2+V2Γ2)V2=a(γ3+V3Γ3)VL1=a(γL+XΓL)
यदि आपके परिणाम में आयाम हैं N×8, फिर [γ1,Γ1] आयाम होगा (pV1+1)×8

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

क्या यह आपके संदर्भ के लिए एक यथार्थवादी धारणा है?


5

पहले मुझे लगा कि जेनेरिक_सियर की टिप्पणी एक शो-स्टॉपर थी, लेकिन मुझे लगा कि यह नहीं है:

अगर मैं प्रशिक्षित पर अलग-अलग नेटवर्क अलग outputs, तो हर एक को दूसरों के लिए कोई संबंध के साथ उस आयाम करने के लिए फिट हो जाएगा।

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

वह यह है: प्रत्येक नेटवर्क पैरामीटर को ग्रेडिएंट्स की राशि से समायोजित किया जाएगा (प्रत्येक आउटपुट इस पैरामीटर में " wiggle " के साथ भिन्न होता है ) जैसे कि इसे ऊपर या नीचे की दिशा में समायोजित करना समग्र रूप से अधिक सटीक आउटपुट का कारण बनता है - भले ही समायोजन वजन जिस तरह से आउटपुट के कुछ आयामों को कम सटीक बनाता है।

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

आप अपने आर्किटेक्चर को आउटपुट में किसी भी ज्ञात संबंधों को प्रतिबिंबित करके पूरी तरह से जुड़े नेट से बेहतर करने में सक्षम हो सकते हैं, ठीक उसी तरह जैसे कि गहरे नेटवर्क इनपुट के बीच "कंपोजल" रिश्तों का दोहन करके उथले लोगों की तुलना में बेहतर करते हैं


एक बहुभिन्नरूपी प्रतिगमन मानता है कि कुछ (अज्ञात) सहसंयोजक मैट्रिक्स है जो एक दूसरे को उस लक्ष्य चर से संबंधित है। क्या आप यह सुझाव दे रहे हैं कि छिपी हुई परत (ओं) सहित स्पष्ट रूप से आवश्यकता के बिना इस घनाभ को पकड़ने के लिए बस एक घनी परत होना पर्याप्त है?
Thecity2

मैं सुझाव दे रहा हूं कि छिपी हुई परतों को उस सहसंयोजक में से कुछ पर कब्जा करना चाहिए। केवल एक घने आउटपुट परत समानांतर रेखीय-रजिस्टरों के माध्यम से सक्रियण-कार्यों का एक गुच्छा है। आउटपुट के बीच कोई संबंध तब स्थापित नहीं किया जा सकता है जब उनके लिए एक छिपी हुई परत नहीं होती है जो अन्य आउटपुट नोड्स के लिए इनपुट के रूप में इनपुट / पास के रूप में लेते हैं।
पावेल कोमारोव

0

आप इसे केवल एक न्यूरल नेटवर्क के साथ कर सकते हैं। लेकिन आपका न्यूरल नेटवर्क इस तरह दिखना चाहिए:
इनपुट लेयर: 34 नोड्स (आपके इनपुट कॉलम के अनुसार)
आउटपुट लेयर: 8 नोड्स (आपके आउटपुट कॉलम के अनुसार एक)

आप न्यूरल नेटवर्क में जितनी चाहें उतनी बड़ी और छिपी हुई परतों को जोड़ सकते हैं। इसलिए न्यूरल नेटवर्क 8 अनुमानित मूल्यों को आउटपुट करता है और प्रत्येक मान इनपुट का एक अलग प्रतिगमन होगा।


कौन सी भाषा किस पैकेज का समर्थन करती है ??
अर्पित सिसोदिया

0

मेरे मन में इसी का ख्याल आ रहा था; यहाँ मेरे विचार हैं:

मुझे लगता है कि यदि आउटपुट कुछ छिपे हुए पैटर्न साझा करते हैं, तो प्रशिक्षण सभी आउटपुट के लिए प्रतिगमन सीखने के साथ-साथ लाभ उठा सकता है।

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

यह ज्ञान हस्तांतरण के समान होगा, लेकिन इस अंतर के साथ कि ज्ञान हस्तांतरण में प्रत्येक तंत्रिका नेटवर्क को दूसरे तंत्रिका नेटवर्क को प्रशिक्षित करने के लिए इसके कुछ हिस्से का पुन: उपयोग करने से पहले पूरी तरह से प्रशिक्षित किया जाता है।

मुझे यकीन है कि किसी ने पहले इस बारे में सोचा है, लेकिन मेरे पास इसका कोई संदर्भ नहीं है।

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