algorithm - जेनरेटिव और डिसक्रिमिनेटिव एल्गोरिदम के बीच क्या अंतर है?




machine-learning (6)

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

p(x,y)=p(y|x).p(x)

हमें पी (एक्स) मॉडल करना है जो काम के लिए अप्रासंगिक है। डेटा स्पर्सनेस जैसी व्यावहारिक सीमाएं हमें कमजोर स्वतंत्रता धारणाओं के साथ p(x) मॉडल करने के लिए मजबूर करती हैं। इसलिए, हम सहजता से वर्गीकरण के लिए भेदभावपूर्ण मॉडल का उपयोग करते हैं।

कृपया मुझे जेनरेटिव और डिस्प्रिमिनेटिव एल्गोरिदम के बीच अंतर को समझने में मदद करें, यह ध्यान में रखते हुए कि मैं सिर्फ एक नौसिखिया हूं।


एक जनरेटिव एल्गोरिदम मॉडल सिग्नल को वर्गीकृत करने के लिए डेटा कैसे उत्पन्न किया गया था। यह सवाल पूछता है: मेरी पीढ़ी की धारणाओं के आधार पर, कौन सी श्रेणी इस सिग्नल को उत्पन्न करने की सबसे अधिक संभावना है?

एक भेदभाव करने वाला एल्गोरिदम इस बात पर परवाह नहीं करता कि डेटा कैसे उत्पन्न हुआ था, यह केवल एक दिए गए सिग्नल को वर्गीकृत करता है।


कल्पना करें कि एक काम एक भाषण को एक भाषा में वर्गीकृत करना है:

आप इसे या तो कर सकते हैं:

1) प्रत्येक भाषा सीखना और फिर आपके द्वारा प्राप्त ज्ञान का उपयोग करके इसे वर्गीकृत करना

या

2) भाषाओं को सीखने और फिर भाषण वर्गीकृत किए बिना भाषाई मॉडल में अंतर निर्धारित करना।

पहला जनरेटिव दृष्टिकोण है और दूसरा एक भेदभावपूर्ण दृष्टिकोण है।

अधिक जानकारी के लिए इस संदर्भ की जांच करें: http://www.cedar.buffalo.edu/~srihari/CSE574/Discriminative-Generative.pdf


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


यद्यपि यह विषय काफी पुराना है, मुझे लगता है कि यह महत्वपूर्ण भेद जोड़ना उचित है। अभ्यास में मॉडल निम्नानुसार उपयोग किए जाते हैं।

प्रशिक्षण उदाहरण x से लेबल वाई की भविष्यवाणी करने के लिए भेदभावपूर्ण मॉडल में , आपको मूल्यांकन करना होगा:

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

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

जेनरेटिव मॉडल में आप जिस समीकरण का उपयोग करते हैं वह कौन सा है। जबकि पहले मामले में आपके पास सशर्त संभाव्यता वितरण पी (वाई | एक्स) था, जिसने कक्षाओं के बीच सीमा का मॉडल किया था, दूसरे में संयुक्त संभावना वितरण पी (एक्स, वाई) था, क्योंकि पी (एक्स, वाई) = पी (एक्स | वाई) पी (वाई), जो स्पष्ट रूप से प्रत्येक वर्ग के वास्तविक वितरण को मॉडल करता है

संयुक्त संभाव्यता वितरण समारोह के साथ, एक वाई दिया गया है, आप इसकी संबंधित एक्स की गणना ("उत्पन्न") कर सकते हैं। इस कारण से उन्हें जनरेटिव मॉडल कहा जाता है।


मान लीजिए कि आपके पास इनपुट डेटा एक्स है और आप डेटा को लेबल्स वाई में वर्गीकृत करना चाहते हैं। एक जनरेटिव मॉडल संयुक्त संभाव्यता वितरण p(x,y) सीखता है और एक भेदभावपूर्ण मॉडल सशर्त संभाव्यता वितरण p(y|x) सीखता है - जिसे आपको "दिए गए एक्स की संभावना" के रूप में पढ़ना चाहिए।

यहां एक बहुत ही सरल उदाहरण है। मान लें कि आपके पास फॉर्म में निम्न डेटा है (x, y):

(1,0), (1,0), (2,0), (2, 1)

p(x,y) है

      y=0   y=1
     -----------
x=1 | 1/2   0
x=2 | 1/4   1/4

p(y|x) है

      y=0   y=1
     -----------
x=1 | 1     0
x=2 | 1/2   1/2

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

वितरण p(y|x) किसी दिए गए उदाहरण x को क्लास y में वर्गीकृत करने के लिए प्राकृतिक वितरण है, यही कारण है कि इसे सीधे मॉडल करने वाले एल्गोरिदम को भेदभाव वाले एल्गोरिदम कहा जाता है। जेनरेटिव एल्गोरिदम मॉडल p(x,y) , जिसे बेस नियम लागू करके p(y|x) में परिवर्तित किया जा सकता है और फिर वर्गीकरण के लिए उपयोग किया जाता है। हालांकि, वितरण p(x,y) उपयोग अन्य उद्देश्यों के लिए भी किया जा सकता है। उदाहरण के लिए आप संभावित (x,y) जोड़े उत्पन्न करने के लिए p(x,y) का उपयोग कर सकते हैं।

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





machine-learning