इस उदाहरण में दिखाया गया है कि निगरानी वाले समानता के माप में इस्तेमाल किए गए एम्बेडिंग कैसे जनरेट किए जाते हैं.
मान लें कि आपके पास वही हाउसिंग डेटा सेट है जिसका इस्तेमाल आपने मैन्युअल रूप से समान माप बनाते समय किया था:
सुविधा | टाइप |
---|---|
कीमत | सकारात्मक पूर्णांक |
साइज़ | वर्ग मीटर में, फ़्लोटिंग फ़्लोटिंग पॉइंट की पॉज़िटिव वैल्यू |
पिन कोड | पूर्णांक |
कमरों की संख्या | पूर्णांक |
घर किस तरह का है | "सिंगल_फ़ैमिली", "एक से ज़्यादा परिवार", "अपार्टमेंट", "कॉन्डो" से मिली टेक्स्ट वैल्यू |
गैरेज | नहीं/हां के लिए 0/1 |
रंग | बहुआयामी श्रेणी: मानक रंगों में से एक या ज़्यादा मान “सफ़ेद”, “पीला”, “हरा” वगैरह. |
डेटा प्री-प्रोसेस किया जा रहा है
सुविधा डेटा का इस्तेमाल इनपुट के तौर पर करने से पहले, आपको डेटा पहले से प्रोसेस करना होगा. प्री-प्रोसेसिंग चरण उन चरणों पर आधारित होते हैं जो आप मैन्युअल मिलते-जुलते माप को बनाते समय करते हैं. यहां इन अपडेट की खास जानकारी दी गई है:
सुविधा | टाइप या डिस्ट्रिब्यूशन | कार्रवाई |
---|---|---|
कीमत | पॉइसन डिस्ट्रिब्यूशन | [0,1] को क्वांटेट और स्केल करें. |
साइज़ | पॉइसन डिस्ट्रिब्यूशन | [0,1] को क्वांटेट और स्केल करें. |
पिन कोड | कैटगरी | देशांतर और अक्षांश में बदलें, घटाएं और बढ़ाएं [0,1]. |
कमरों की संख्या | पूर्णांक | आउटलायर को स्केल करें और [0,1] तक स्केल करें. |
घर किस तरह का है | कैटगरी | एक-हॉट एन्कोडिंग में बदलें.. |
गैरेज | 0 या 1 | जैसा है, वैसे ही रहने दें. |
रंग | कैटगरी | आरजीबी वैल्यू में बदलें और नंबर वाले डेटा के तौर पर प्रोसेस करें. |
एक-हॉट एन्कोडिंग के बारे में ज़्यादा जानकारी के लिए, एम्बेडिंग: कैटगरी में डालने का डेटा देखें.
प्रेडिक्टर या ऑटोएनकोडर चुनें
एम्बेडिंग जनरेट करने के लिए, आप एक ऑटोएनकोडर या पूर्वानुमाक चुन सकते हैं. याद रखें कि ऑटोकंकोडर आपका डिफ़ॉल्ट विकल्प है. अगर आपके डेटासेट में कुछ खास सुविधाएं एक जैसी होती हैं, तो आपके बजाय प्रीप्रेक्टर चुनें. पूरी जानकारी के लिए, दोनों मामलों पर नज़र डालते हैं.
किसी पूर्वानुमानकर्ता को प्रशिक्षित करना
आपको अपने डीएनएन के लिए उन सुविधाओं को ट्रेनिंग लेबल के तौर पर चुनना होगा जो आपके उदाहरणों के बीच समानताएं तय करने में ज़रूरी हैं. मान लेते हैं कि घरों के बीच समानताएं तय करने के लिए कीमत सबसे अहम है.
ट्रेनिंग लेबल के तौर पर कीमत चुनें और उसे इनपुट सुविधा के डेटा से DNN से हटा दें. इनपुट डेटा के तौर पर दूसरी सभी सुविधाओं का इस्तेमाल करके डीएनएन को ट्रेनिंग दें. ट्रेनिंग के लिए, नुकसान की संभावना, सिर्फ़ अनुमानित और असल कीमत के बीच का एमएसई है. डीएनएन को ट्रेनिंग देने का तरीका जानने के लिए, न्यूरल नेटवर्क की ट्रेनिंग देखें.
ऑटोएंकोडर को ट्रेनिंग दें
यह तरीका अपनाकर, हमारे डेटासेट पर ऑटोएनकोडर को ट्रेनिंग दें:
- पक्का करें कि ऑटोएनकोडर की छिपी हुई लेयर, इनपुट और आउटपुट लेयर से छोटी हैं.
- निगरानी में रखे गए लोगों की संख्या के मुताबिक, हर आउटपुट के नुकसान का हिसाब लगाएं.
- हर आउटपुट के लिए, नुकसान की कुल वैल्यू जोड़कर, नुकसान का फ़ंक्शन बनाएं. पक्का करें कि आप हर सुविधा के लिए खर्च का बराबर बंटवारा करें. उदाहरण के लिए, क्योंकि रंग का डेटा आरजीबी में प्रोसेस किया जाता है, हर आरजीबी आउटपुट का एक तिहाई तक महत्व करता है.
- डीएनएन को ट्रेनिंग दें.
डीएनएन से एम्बेडिंग निकाली जा रही है
अपने DNN को ट्रेनिंग देने के बाद, चाहे सुझाव देने वाला या ऑटोएनकोडर, डीएनएन से किसी उदाहरण के लिए एम्बेड करने का तरीका निकालें. एम्बेड करने की सुविधा का इस्तेमाल करके, इनपुट के तौर पर उदाहरण की सुविधा का डेटा इस्तेमाल करें. साथ ही, छिपी हुई आखिरी लेयर के आउटपुट पढ़ें. ये आउटपुट एम्बेड करने वाला वेक्टर बनाते हैं. याद रखें कि मिलते-जुलते घरों के वेक्टर एक जैसे घर के वेक्टर के बराबर होने चाहिए.
इसके बाद, आप देखेंगे कि एम्बेड करने वाले वेक्टर का इस्तेमाल करके, उदाहरणों के जोड़े में क्या समानता है.