कैसे पता चलेगा कि आपकी मशीन सीखने की समस्या निराशाजनक है?


207

एक मानक मशीन-शिक्षण परिदृश्य की कल्पना करें:

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

सवाल यह है: कब रोकना है? आपको कैसे पता चलेगा कि आपका डेटा वास्तव में निराशाजनक है और सभी फैंसी मॉडल आपको सभी मामलों या किसी अन्य तुच्छ समाधान के लिए औसत परिणाम की भविष्यवाणी करने से ज्यादा अच्छा नहीं करेंगे?

बेशक, यह एक पूर्वानुमान योग्य मुद्दा है, लेकिन जहां तक ​​मुझे पता है, इस पर कुछ करने से पहले बहुभिन्नरूपी डेटा के लिए पूर्वानुमान का आकलन करना कठिन है। या मैं गलत हूँ?

डिस्क्लेमर: यह प्रश्न इस से प्रेरित था कि मुझे कब किसी मॉडल की तलाश बंद करनी है? इसने ज्यादा ध्यान आकर्षित नहीं किया। संदर्भ के लिए ऐसे प्रश्न का विस्तृत उत्तर देना अच्छा होगा।


1
इस समस्या का व्यावहारिक रूप में उत्तर दिया जा सकता है (जैसा कि @StephanKolassa ने किया था) या निरपेक्ष रूप से (कुछ प्रकार के प्रमेय जो किसी दिए गए मॉडल को दिखाते हैं, यदि समस्या कुछ शर्तों से संतुष्ट हैं तो समस्या को जान सकते हैं)। आप कौन सा चाहते है?
जूल

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

@ सुपरब्रिज यह दोनों हो सकते हैं। यदि आपको कुछ जोड़ना है, तो बेझिझक उत्तर दें। मैंने कभी भी ऐसा प्रमेय नहीं सुना है जो वास्तविक जीवन के बहुआयामी शोर डेटा से निपटने के बारे में कुछ भी कहता हो, लेकिन यदि आप जानते हैं कि यह लागू होता है, तो मुझे आपका जवाब पढ़ने में दिलचस्पी होगी।
टिम

3
@ StephenKolassa के उत्तर के आधार पर, एक और सवाल जो आप इस पर से हटा सकते हैं वह है 'किस बिंदु पर मुझे अपना काम अभी तक विषय विशेषज्ञों के पास ले जाना चाहिए और अपने परिणामों (या परिणामों की कमी) पर चर्चा करनी चाहिए?'
रॉबर्ट डी ग्रेफ

इसके अलावा संबंधित धागा: आंकड़े.stackexchange.com/questions/28057/…
Jan Kukacka

जवाबों:


241

Forecastability

आप सही हैं कि यह पूर्वानुमान का प्रश्न है। किया गया है forecastability पर कुछ लेख में IIF के व्यवसायी उन्मुख पत्रिका दूरदर्शिता । (पूरा खुलासा: मैं एक एसोसिएट एडिटर हूं।)

समस्या यह है कि "सरल" मामलों में आकलन करने के लिए पूर्वानुमानशीलता पहले से ही कठिन है।

कुछ उदाहरण

मान लीजिए कि आपके पास इस तरह की एक समय श्रृंखला है, लेकिन जर्मन मत बोलो:

अंडे

आप अप्रैल में बड़ी चोटी का मॉडल कैसे बनाएंगे, और किसी भी पूर्वानुमान में आप इस जानकारी को कैसे शामिल करेंगे?

जब तक आप नहीं जानते थे कि यह समय श्रृंखला एक स्विस सुपरमार्केट श्रृंखला में अंडे की बिक्री है, जो पश्चिमी कैलेंडर ईस्टर से ठीक पहले बोलती है , तो आपको मौका नहीं मिलेगा। इसके अलावा, ईस्टर कैलेंडर के चारों ओर छह सप्ताह के रूप में चल रहा है, किसी भी पूर्वानुमान में ईस्टर की विशिष्ट तिथि शामिल नहीं है (यह कहते हुए, कि यह सिर्फ कुछ मौसमी शिखर था जो अगले साल एक विशिष्ट सप्ताह में पुनरावृत्ति करेगा) शायद बहुत दूर होगा।

इसी तरह, मान लें कि आपके पास नीली रेखा है और 2010-02-28 को "सामान्य" पैटर्न से अलग 2010-02-28 पर जो कुछ भी हुआ है उसे मॉडल करना चाहते हैं:

हॉकी का खेल

फिर, यह जानने के बिना कि क्या होता है जब कनाडाई से भरा पूरा शहर टीवी पर एक ओलंपिक आइस हॉकी फाइनल खेल देखता है, आपके पास यहां क्या हुआ, यह समझने का कोई मौका नहीं है, और जब आप इस तरह से कुछ दोहराएंगे, तो आप अनुमान लगाने में सक्षम नहीं होंगे।

अंत में, इसे देखें:

ग़ैर

यह एक कैश एंड कैरी स्टोर पर दैनिक बिक्री का एक समय श्रृंखला है । (दाईं ओर, आपके पास एक साधारण तालिका है: 282 दिनों में शून्य बिक्री हुई, 42 दिनों में 1 की बिक्री देखी गई ... और एक दिन में 500 की बिक्री देखी गई।) मुझे नहीं पता कि यह क्या वस्तु है।

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

सारांश

सभी मामलों में, हम देखते हैं कि पूर्वानुमान क्षमता को केवल तभी अच्छी तरह समझा जा सकता है जब हमारे पास संभावित कारकों की पर्याप्त गहरी समझ होती है जो हमारे डेटा को प्रभावित करते हैं। समस्या यह है कि जब तक हम इन कारकों को नहीं जानते, हम नहीं जानते कि हम उन्हें नहीं जान सकते। डोनाल्ड रम्सफेल्ड के अनुसार :

[टी] यहाँ ज्ञात ज्ञात हैं; ऐसी चीजें हैं जो हम जानते हैं कि हम जानते हैं। हम यह भी जानते हैं कि ज्ञात अज्ञात हैं; यह कहना है कि हम जानते हैं कि कुछ चीजें हैं जो हम नहीं जानते हैं। लेकिन अज्ञात अज्ञात भी हैं - जिन्हें हम नहीं जानते कि हम नहीं जानते हैं।

यदि हॉकी के लिए ईस्टर या कनाडाई की भविष्यवाणी हमारे लिए अज्ञात है, तो हम फंस गए हैं - और हमारे पास आगे बढ़ने का कोई रास्ता नहीं है, क्योंकि हमें नहीं पता कि हमें कौन से प्रश्न पूछने की आवश्यकता है।

इन पर एक हैंडल प्राप्त करने का एकमात्र तरीका डोमेन ज्ञान इकट्ठा करना है।

निष्कर्ष

मैं इससे तीन निष्कर्ष निकालता हूं:

  1. आपको हमेशा अपने मॉडलिंग और भविष्यवाणी में डोमेन ज्ञान को शामिल करना होगा।
  2. डोमेन ज्ञान के साथ भी, आपको उपयोगकर्ता के लिए स्वीकार्य होने के लिए अपने पूर्वानुमान और भविष्यवाणियों के लिए पर्याप्त जानकारी प्राप्त करने की गारंटी नहीं है। कि ऊपर की ओर देखें।
  3. यदि "आपके परिणाम दयनीय हैं", तो आप जितना प्राप्त कर सकते हैं उससे अधिक की उम्मीद कर सकते हैं। यदि आप एक उचित सिक्का टॉस का अनुमान लगा रहे हैं, तो 50% से अधिक सटीकता प्राप्त करने का कोई तरीका नहीं है। बाहरी पूर्वानुमान सटीकता के बेंचमार्क पर भी भरोसा न करें।

तल - रेखा

यहां बताया गया है कि मैं मॉडल बनाने की सलाह कैसे दूंगा - और कब रोकना है:

  1. यदि आपके पास पहले से ही यह नहीं है, तो डोमेन ज्ञान के साथ किसी से बात करें।
  2. चरण 1 के आधार पर, संभावित इंटरैक्शन सहित, आपके द्वारा पूर्वानुमानित डेटा के मुख्य ड्राइवरों की पहचान करें।
  3. प्रति कदम के रूप में ताकत के घटते क्रम में ड्राइवरों सहित, पुनरावृत्त रूप से मॉडल बनाएं। क्रॉस-मान्यता या होल्डआउट नमूने का उपयोग करके मॉडल का आकलन करें।
  4. यदि आपकी भविष्यवाणी सटीकता में कोई वृद्धि नहीं हुई है, तो या तो चरण 1 पर वापस जाएं (उदाहरण के लिए, आप जो गलत व्याख्या नहीं कर सकते हैं, उसकी व्याख्या करके और डोमेन विशेषज्ञ के साथ इन पर चर्चा करके), या स्वीकार करें कि आप अपने अंत तक पहुँच चुके हैं मॉडल की क्षमताएं। समय-समय पर अपने विश्लेषण को पहले से मदद करता है।

ध्यान दें कि मैं मॉडल के विभिन्न वर्गों की कोशिश करने की वकालत नहीं कर रहा हूं यदि आपका मूल मॉडल पठार है। आमतौर पर, यदि आपने एक उचित मॉडल के साथ शुरुआत की है, तो कुछ अधिक परिष्कृत का उपयोग करने से एक मजबूत लाभ नहीं होगा और बस "टेस्ट सेट पर ओवरफिटिंग" हो सकता है। मैंने इसे अक्सर देखा है, और अन्य लोग सहमत हैं


10
+1 अद्भुत उत्तर के लिए जिसे मैं पूरी तरह से सहमत हूं। मैं इसे (अभी तक) स्वीकार नहीं कर रहा हूं क्योंकि समस्या के व्यापक होने के बाद भी अन्य उत्तरों की उम्मीद है।
टिम

1
ज़रूर। मैं इस पर भी किसी और का दृष्टिकोण देखना पसंद करूंगा!
स्टीफन कोलासा

9
If you are forecasting a fair coin toss, then there is no way to get above 50% accuracy.। आपने वहां सब कुछ कह दिया।
वॉलफ्रैट

3
डोमेन ज्ञान का उपयोग करके आप पहले दो मामलों में नई सुविधाओं को जोड़ सकते हैं (जैसे, ईस्टर और टीवी देखने की संख्या तक समय, हालांकि बाद वाले को अपने स्वयं के पूर्वानुमान की आवश्यकता है) बहुत बेहतर परिणाम प्राप्त करने के लिए। न तो मामले में स्थिति निराशाजनक है। वास्तव में दिलचस्प हिस्सा यह है कि फेयर कॉइन फ्लिप्स के डेटा सेट से गायब डोमेन ज्ञान को कैसे बताया जाए।
कारोलिस जुओदेलो

4
@ KarolisJuodelė: यह बिल्कुल मेरी बात है। हम यह भी नहीं जान सकते कि जब हमारी स्थिति निराशाजनक होगी, जब तक हम किसी विशेषज्ञ से बात नहीं करेंगे ... और फिर, कभी-कभी विशेषज्ञ भी हमारी मदद नहीं कर सकते हैं, और विशेषज्ञों के लिए "अज्ञात अज्ञात" हैं, जो किसी और की कल्पना कर सकते हैं जानना।
स्टीफन कोलासा

57

स्टीफ़न कोलासा का उत्तर उत्कृष्ट है, लेकिन मैं यह जोड़ना चाहूंगा कि अक्सर आर्थिक रोक की स्थिति भी होती है:

  1. जब आप एक ग्राहक के लिए एमएल कर रहे हैं और मज़े के लिए नहीं, तो आपको उस राशि पर नज़र डालनी चाहिए जो ग्राहक खर्च करने के लिए तैयार है। यदि वह आपकी फर्म को 5000 € का भुगतान करता है और आपने एक मॉडल खोजने में एक महीना बिताया है, तो आप पैसे ढीले कर देंगे। तुच्छ लगता है, लेकिन मैंने देखा है "वहाँ एक समाधान होना चाहिए !!!!" - सोच जो भारी लागत उग आया। इसलिए जब पैसा बाहर हो तो रुकें और अपने ग्राहक को समस्या बताएं।
  2. यदि आपने कुछ काम किया है, तो आप अक्सर महसूस करते हैं कि वर्तमान डेटासेट के साथ क्या संभव है। इसे लागू करने की कोशिश करें कि आप मॉडल के साथ कितना पैसा कमा सकते हैं, यदि राशि तुच्छ है या शुद्ध नकारात्मक (जैसे डेटा एकत्र करने के समय के कारण, समाधान विकसित करना आदि) आपको रोकना चाहिए।

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

जब मैं एक वाणिज्यिक उत्पाद पर काम करते समय अर्थशास्त्र पर ध्यान केंद्रित करता हूं, तो यह नियम अकादमिक या मजेदार परियोजनाओं के लिए भी लागू होता है - जबकि ऐसी परिस्थितियों में पैसा कम चिंता का विषय है, समय अभी भी एक दुर्लभ वस्तु है। ई। जी। शिक्षा में आपको कोई ठोस परिणाम नहीं मिलने पर काम करना बंद कर देना चाहिए, और आपके पास अन्य, अधिक आशाजनक परियोजनाएं जो आप कर सकते हैं। लेकिन उस परियोजना को मत छोड़ें - कृपया अशक्त या "अधिक / अन्य डेटा की आवश्यकता है" परिणाम प्रकाशित करें, वे भी महत्वपूर्ण हैं!


1
+1 निश्चित रूप से एक महान बिंदु! मुझे लगता है कि इस प्रश्न के सभी उत्तर "स्पष्ट" लग सकते हैं, लेकिन मैंने कहीं भी उन सभी "स्पष्ट" चीजों को संदर्भ के लिए एकत्र नहीं किया है।
टिम

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

2
मुझे लगता है कि "किसी ने भी आईएसटी का उपयोग नहीं किया होगा और डिब्बाबंद" को शायद "किसी ने भी इसका इस्तेमाल नहीं किया होगा और इसे डिब्बाबंद किया गया" में बदल दिया जाना चाहिए - क्या यह आपका इच्छित अर्थ था?
सिल्वरफिश

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

2
@ChristianSauer एक इंजीनियर के रूप में मेरे अनुभव में सेंसर (cf गेज) और एक उपयोगी उद्देश्य के बीच एक बेमेल की समस्या ट्रांजिस्टर के आविष्कार से पहले की है।
रॉबर्ट डी ग्रेफ

9

एक और तरीका है। अपने आप से पूछो -

  1. कौन या क्या इस विशेष चर का सबसे अच्छा संभव पूर्वानुमान बनाता है? "
  2. क्या मेरा मशीन लर्निंग एल्गोरिदम सबसे अच्छे पूर्वानुमानों की तुलना में बेहतर या खराब परिणाम देता है?

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

आपकी सुधार करने की क्षमता दो चीजों पर निर्भर करती है (मोटे तौर पर):

  1. क्या आप इस विशेष कार्य में सर्वश्रेष्ठ विशेषज्ञ के रूप में समान डेटा का उपयोग कर रहे हैं?
  2. क्या आप इस विशेष कार्य में सर्वश्रेष्ठ विशेषज्ञ के रूप में प्रभावी रूप से डेटा का उपयोग कर रहे हैं?

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

मैं स्टेफान से सहमत हूं कि आमतौर पर ऐसा करने का सबसे अच्छा तरीका एक डोमेन विशेषज्ञ से पूछना है।


1
वास्तव में आपका उत्तर विरोधाभासी है @StephanKolassa उत्तर जहां वह साहित्य को संदर्भित करता है यह सुझाव देता है कि पूर्वानुमान मानदंड भ्रामक हैं।
टिम

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

1
मेरा सबसे हालिया उपयोग मामला अलग था। मैं यह अनुमान लगाने की कोशिश कर रहा था कि इंटरनेट पर अपनी पोस्टिंग से खुद को मारने का जोखिम किस पर था। ऐसे कई साइकोमेट्रिक परीक्षण हैं जिनका उपयोग PHQ9 जैसे अवसाद की गंभीरता को मापने के लिए किया जा सकता है। इसके व्यापक रूप से उपयोग किए जाने वाले मेडिकल परीक्षण के रूप में इसकी वैधता और विश्वसनीयता पर काफी काम होता है जैसे कि "संक्षिप्त अवसाद गंभीरता के पीएचक्यू -9 वैधता।" मैंने पाया कि उस पेपर में विश्वसनीयता और अन्य उपाय एक अच्छा प्रारंभिक बिंदु है क्योंकि मशीन सीखने से संभव परिणाम प्राप्त हो सकते हैं।
गैविन पॉटर

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