ग्रैडिएंट बूस्टिंग रिग्रेशन नकारात्मक मूल्यों की भविष्यवाणी क्यों करता है जब मेरे प्रशिक्षण सेट में नकारात्मक वाई-वैल्यू नहीं होते हैं?


8

मैं पेड़ों की संख्या में वृद्धि के रूप में में scikit जानने की GradientBoostingRegressor, मैं और अधिक नकारात्मक पूर्वानुमान प्राप्त करें, भले ही वहाँ मेरे प्रशिक्षण या सेट परीक्षण में कोई नकारात्मक मान हैं। मेरे पास लगभग 10 विशेषताएं हैं, जिनमें से अधिकांश बाइनरी हैं।

कुछ पैरामीटर जो मैं ट्यूनिंग कर रहा था:

  • पेड़ों / पुनरावृत्तियों की संख्या;
  • गहराई सीखना;
  • और सीखने की दर।

नकारात्मक मानों का प्रतिशत अधिकतम ~ 2% था। 1 (स्टंप) की सीखने की गहराई नकारात्मक मानों का सबसे बड़ा% थी। यह प्रतिशत भी अधिक पेड़ों और एक छोटे सीखने की दर के साथ बढ़ा हुआ लग रहा था। डेटासेट एक केगल खेल के मैदान की प्रतियोगिताओं में से एक है।

मेरा कोड कुछ इस तरह है:

from sklearn.ensemble import GradientBoostingRegressor

X_train, X_test, y_train, y_test = train_test_split(X, y)

reg = GradientBoostingRegressor(n_estimators=8000, max_depth=1, loss = 'ls', learning_rate = .01)

reg.fit(X_train, y_train)

ypred = reg.predict(X_test)

1
कोड और डेटा के साथ एक प्रतिलिपि प्रस्तुत करने योग्य उदाहरण का कोई भी मौका?
स्पेसमैन

2
यह किस खेल का मैदान प्रतियोगिता है?
TheAxeR

जवाबों:


8

सामान्य प्रतिगमन मॉडल में (कोई भी) प्रशिक्षण नमूने द्वारा प्रतिबंधित डोमेन से परे एक मनमाने तरीके से व्यवहार कर सकता है। विशेष रूप से, वे मॉडल किए गए फ़ंक्शन की रैखिकता को मानने के लिए स्वतंत्र हैं, इसलिए यदि आप उदाहरण के लिए अंक के साथ प्रतिगमन मॉडल को प्रशिक्षित करते हैं:

X     Y
10    0
20    1
30    2

एक मॉडल का निर्माण करना उचित है f(x) = x/10-1, जो x<10नकारात्मक मूल्यों को लौटाता है।

वही आपके डेटा बिंदुओं के बीच "लागू होता है", यह हमेशा संभव है कि कार्यों की अनुमानित अशुद्धता (जो कि विशेष विधि द्वारा मॉडलिंग की जा सकती है) के कारण आपको "अपने प्रशिक्षण नमूनों से बाहर" मान मिलेगा।

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


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

@lejlot - आम तौर पर, यह सच नहीं है। लॉजिस्टिक या टैन सक्रियताओं वाले प्रतिगमन मॉडल को अक्सर कुछ सीमा के भीतर आउटपुट होने की गारंटी दी जाती है।
user48956

@ user48956 उत्तर में कहा गया है "मनमाने तरीके से व्यवहार कर सकते हैं", मैं यह दावा नहीं कर रहा हूं कि आप कुछ बाधाओं को बाध्य नहीं कर सकते हैं, निश्चित रूप से आप कर सकते हैं - केवल उत्तर में कहा गया है कि कोई "डेटा आश्रित" बाधा नहीं है (जब तक कि आपके पास बहुत विशिष्ट न हो निर्माण में निर्मित) - यदि आप इसे विशेषज्ञ के रूप में मैन्युअल रूप से जोड़ते हैं - यह आपके ऊपर है।
लीज्लोट

5

याद रखें कि GradientBoostingRegressor(एक चुकता त्रुटि हानि फ़ंक्शन मानकर) क्रमिक पेड़ों को पिछले चरण के अवशेषों में क्रमिक रूप से फिट करता है। अब यदि चरण I में वृक्ष किसी विशेष प्रशिक्षण उदाहरण के लिए लक्ष्य चर की तुलना में बड़ा मान देता है, तो उस उदाहरण के लिए चरण i का अवशिष्ट ऋणात्मक होने वाला है, और इसलिए चरण I + 1 पर प्रतिगमन वृक्ष नकारात्मक लक्ष्य मानों का सामना करेगा (जो चरण I से अवशिष्ट हैं)। जैसा कि अंतिम एल्गोरिदम को बढ़ाने के लिए इन सभी पेड़ों को बढ़ाने के लिए एल्गोरिथ्म का कहना है, मेरा मानना ​​है कि यह समझा सकता है कि आप नकारात्मक भविष्यवाणी के साथ क्यों समाप्त हो सकते हैं, भले ही प्रशिक्षण सेट में सभी लक्ष्य मान सकारात्मक थे, खासकर जब आपने उल्लेख किया कि यह अधिक होता है अक्सर जब आप पेड़ों की संख्या बढ़ाते हैं।


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