लेबल और स्रोतों की पहचान करना

सीधे तौर पर मिलने वाले बनाम बनाए गए लेबल

जब आपके लेबल अच्छी तरह से तय किए जाते हैं, तो मशीन लर्निंग आसान होती है. सबसे अच्छा लेबल, वह डायरेक्ट लेबल होता है जिसका आपको अनुमान लगाना है. उदाहरण के लिए, अगर आप यह अनुमान लगाना चाहते हैं कि कोई उपयोगकर्ता टेलर स्विफ़्ट का फ़ैन है या नहीं, तो सीधे तौर पर लेबल उसके लिए स्विफ़्ट फ़ैन होगा."

प्रशंसकों की संख्या का एक आसान तरीका यह हो सकता है कि उपयोगकर्ता ने YouTube पर टेलर स्विफ़्ट वीडियो देखा हो या नहीं. लेबल और कोट का इस्तेमाल करके उपयोगकर्ता ने YouTube पर टेलर स्विफ़्ट वीडियो देखा है, क्योंकि यह एक डेरिवेटिव लेबल है, क्योंकि यह सीधे तौर पर उन चीज़ों को मेज़र नहीं करता है जिनका आप अनुमान लगाना चाहते हैं. क्या इस मिली हुई लेबल को इस बात का भरोसेमंद संकेत मिलता है कि उपयोगकर्ता को Tylor Swift पसंद है? आपका मॉडल उतना ही अच्छा होगा जितना कि आपके मिले हुए लेबल और आपके मनचाहे पूर्वानुमान के बीच का संबंध है.

लेबल के स्रोत

आपके मॉडल का आउटपुट, कोई इवेंट या एट्रिब्यूट हो सकता है. ऐसा करने के दो नतीजे होते हैं:

  • इवेंट के लिए डायरेक्ट लेबल, जैसे कि "क्या उपयोगकर्ता ने टॉप खोज नतीजे पर क्लिक किया?"
  • एट्रिब्यूट के लिए सीधे लेबल, जैसे कि "क्या विज्ञापन देने वाला अगले हफ़्ते $X से ज़्यादा खर्च करेगा?"

इवेंट के लिए डायरेक्ट लेबल

इवेंट के लिए, सीधे तौर पर लेबल करना आसान होता है, क्योंकि इवेंट के दौरान लेबल के तौर पर इस्तेमाल करने के लिए, उपयोगकर्ता के व्यवहार को लॉग किया जा सकता है. इवेंट को लेबल करते समय, खुद से ये सवाल पूछें:

  • आपके लॉग कैसे व्यवस्थित किए जाते हैं?
  • आपके लॉग में “इवेंट” क्या होता है?

उदाहरण के लिए, क्या सिस्टम, खोज के नतीजे पर क्लिक करने वाले उपयोगकर्ता को लॉग करता है या जब कोई उपयोगकर्ता खोज करता है? अगर आपके पास क्लिक लॉग हैं, तो मान लें कि आपको बिना किसी क्लिक के कोई इंप्रेशन नहीं दिखेगा. आपको उन लॉग की ज़रूरत होगी जहां इवेंट इंप्रेशन हैं. इसलिए, आपको उन सभी मामलों को कवर करना होगा जिनमें उपयोगकर्ता को खोज के सबसे अच्छे नतीजे दिखते हैं.

विशेषताओं के लिए डायरेक्ट लेबल

मान लें कि आपका लेबल यह है, “विज्ञापन देने वाला अगले हफ़्ते $$ से ज़्यादा खर्च करेगा.” आम तौर पर, आप डेटा के पिछले दिनों का इस्तेमाल करके यह अनुमान लगाते हैं कि आने वाले दिनों में क्या होगा. उदाहरण के लिए, नीचे दिए गए उदाहरण में दस दिनों का ट्रेनिंग डेटा दिखाया गया है, जिसमें आगे के सात दिनों का अनुमान होता है:

कैलेंडर 10-दिन के ब्लॉक को हाइलाइट करता है और इसके बाद तुरंत 7-दिन का ब्लॉक दिखाता है.
मॉडल, 10-दिन के ब्लॉक के डेटा का इस्तेमाल करके, 7-दिन के ब्लॉक पर अनुमान लगाता है.

याद रखें कि सीज़न या सीज़न के हिसाब से होने वाले असर को ध्यान में रखें. उदाहरण के लिए, विज्ञापन देने वाले लोग शनिवार और रविवार को ज़्यादा समय बिता सकते हैं. इसी वजह से, आप इसके बजाय 14 दिन वाली विंडो या तारीख को सुविधा के तौर पर इस्तेमाल कर सकते हैं, ताकि मॉडल हर साल होने वाले असर को सीख सके.

डायरेक्ट लेबल को पिछले व्यवहार के लॉग की ज़रूरत होती है

पिछले मामलों में, आपने देखा कि सही नतीजे के लिए हमें डेटा की ज़रूरत थी. चाहे विज्ञापन देने वालों ने कितना खर्च किया हो या उपयोगकर्ताओं ने Taylor Swift वीडियो देखे हों, हमें निगरानी वाले मशीन लर्निंग का इस्तेमाल करने के लिए पुराने डेटा की ज़रूरत होती थी. मशीन लर्निंग, पहले हो चुकी चीज़ों के आधार पर अनुमान लगाती है. इसलिए, अगर आपके पास पहले के लॉग नहीं हैं, तो उन्हें अपने पास रखें.

अगर आपके पास लॉग करने के लिए डेटा नहीं है, तो क्या होगा?

हो सकता है कि आपका प्रॉडक्ट अब तक मौजूद न हो. इसलिए, आपके पास लॉग करने के लिए कोई डेटा नहीं है. ऐसी स्थिति में, आप इनमें से एक या ज़्यादा कार्रवाई कर सकते हैं:

  • पहले लॉन्च के लिए अनुमान का इस्तेमाल करें. इसके बाद, लॉग किए गए डेटा के आधार पर सिस्टम को ट्रेनिंग दें.
  • अपने सिस्टम को बूटस्ट्रैप करने के लिए मिलती-जुलती समस्या के लॉग का इस्तेमाल करें.
  • टास्क को पूरा करके, डेटा जनरेट करने के लिए रेटिंग देने वाले लोगों का इस्तेमाल करें.

मानव लेबल वाले डेटा का इस्तेमाल क्यों करें?

मैन्युअल तौर पर लेबल किए गए डेटा का इस्तेमाल करने के फ़ायदे और नुकसान हैं.

फ़ायदे

  • रेटिंग देने वाले लोग कई तरह के काम कर सकते हैं.
  • डेटा से आपको समस्या की परिभाषा समझने में मदद मिलती है.

नुकसान

  • कुछ डोमेन के लिए डेटा महंगा होता है.
  • अच्छे डेटा के लिए आम तौर पर कई बार बार-बार इस्तेमाल करना पड़ता है.

क्वालिटी को बेहतर बनाना

हमारी हमेशा रेटिंग देने वाले लोगों के काम की जांच करें. उदाहरण के लिए, 1000 उदाहरणों को स्वयं लेबल करें और देखें कि आपके परिणाम रेट करने वालों और #39 से कैसे मेल खाते हैं. (डेटा को खुद लेबल करना अपने डेटा के बारे में जानना भी एक अच्छा तरीका है.) अगर गड़बड़ियां अलग-अलग होती हैं, तो यह न मानें कि आपकी रेटिंग सही हैं. खास तौर पर तब, जब वैल्यू का आकलन किया गया हो. अगर रेटिंग देने वाले लोगों ने कुछ गड़बड़ियां की हैं, तो उनकी मदद करने के लिए निर्देश जोड़ें और फिर से कोशिश करें.

डेटा को हाथ से देखना एक अच्छा तरीका है. इससे कोई फ़र्क़ नहीं पड़ता कि आपके डेटा को कैसे हासिल किया गया. ऐंड्रज कर्पैथी ने यह काम ImageNet पर किया और अनुभव के बारे में लिखा.