प्रतिगमन के माध्यम से वर्गीकरण क्यों नहीं?


51

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


मुझे लगता है कि उत्पादन वातावरण में वर्गीकरण की तुलना में प्रतिगमन हमेशा अधिक जटिल होता है

जवाबों:


57

".. प्रतिगमन के माध्यम से वर्गीकरण की समस्या .." "प्रतिगमन " द्वारा मैं मान लूंगा कि आप रेखीय प्रतिगमन का अर्थ है, और मैं इस दृष्टिकोण की तुलना एक उपस्कर प्रतिगमन मॉडल के फिटिंग के "वर्गीकरण" दृष्टिकोण से करूंगा।

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

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

वर्गीकरण समस्याओं पर रैखिक बनाम लॉजिस्टिक प्रतिगमन

जैसा कि एंड्रयू एनजी यह बताता है , रैखिक प्रतिगमन के साथ आप डेटा के माध्यम से एक बहुपद फिट करते हैं - कहते हैं, नीचे दिए गए उदाहरण की तरह हम {ट्यूमर आकार, ट्यूमर प्रकार} नमूना सेट के माध्यम से एक सीधी रेखा फिटिंग कर रहे हैं :

यहाँ छवि विवरण दर्ज करें

ऊपर, घातक ट्यूमर को और गैर-घातक लोगों को मिलता है , और हरी रेखा हमारी परिकल्पना । भविष्यवाणियां करने के लिए हम कह सकते हैं कि किसी भी दिए गए ट्यूमर के आकार , यदि से अधिक हो जाता है तो हम घातक ट्यूमर की भविष्यवाणी करते हैं, अन्यथा हम सौम्य की भविष्यवाणी करते हैं।10h(x)xh(x)0.5

इस तरह दिखता है कि हम हर एक प्रशिक्षण सेट नमूने का सही अनुमान लगा सकते हैं, लेकिन अब कार्य को थोड़ा बदल दें।

सहज रूप से यह स्पष्ट है कि सभी ट्यूमर कुछ निश्चित सीमा से अधिक घातक हैं। तो चलो एक विशाल ट्यूमर आकार के साथ एक और नमूना जोड़ें, और फिर से रैखिक प्रतिगमन चलाएं:

यहाँ छवि विवरण दर्ज करें

अब हमारा अब काम नहीं करता है। सही भविष्यवाणियां करते रहने के लिए हमें इसे बदलकर या कुछ और करने की आवश्यकता है - लेकिन यह नहीं कि एल्गोरिदम को कैसे काम करना चाहिए।h(x)>0.5malignanth(x)>0.2

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

आशा है कि यह बताता है कि वर्गीकरण समस्याओं के लिए रैखिक प्रतिगमन सबसे उपयुक्त क्यों नहीं है! इसके अलावा, आप VI देखना चाहते हैं रसद प्रतिगमन। Ml-class.org पर वर्गीकरण वीडियो जो विचार को और विस्तार से बताता है।


संपादित करें

प्रोबेबिलिसोलॉजिक ने पूछा कि एक अच्छा क्लासिफायर क्या करेगा। इस विशेष उदाहरण में आप शायद लॉजिस्टिक रिग्रेशन का उपयोग करेंगे जो इस तरह की परिकल्पना सीख सकता है (मैं बस इसे बना रहा हूं):

यहाँ छवि विवरण दर्ज करें

ध्यान दें कि लीनियर रिग्रेशन और लॉजिस्टिक रिग्रेशन दोनों आपको एक सीधी रेखा (या उच्चतर क्रम बहुपद) देते हैं, लेकिन वे रेखाएँ अलग-अलग होती हैं:

  • h(x) लीनियर रिग्रेशन के लिए इंटरपोलेट्स, या एक्सट्रपॉलेट्स, आउटपुट और लिए मूल्य की भविष्यवाणी करता है जिसे हमने नहीं देखा है। यह बस एक नया प्लग करने और एक कच्चा नंबर प्राप्त करने की तरह है, और भविष्यवाणी करने जैसे कार्यों के लिए अधिक उपयुक्त है, कार की कीमत {कार के आकार, कार की आयु} आदि पर आधारित है ।xx
  • h(x)लॉजिस्टिक रिग्रेशन के लिए आपको संभावना बताता है कि "सकारात्मक" वर्ग से संबंधित है। यही कारण है कि इसे प्रतिगमन एल्गोरिथ्म कहा जाता है - यह एक निरंतर मात्रा, संभावना का अनुमान लगाता है। हालांकि, यदि आप जैसी संभावना पर एक सीमा निर्धारित करते हैं, तो आप एक क्लासिफायरियर प्राप्त करते हैं, और कई मामलों में यह एक लॉजिस्टिक रिग्रेशन मॉडल से आउटपुट के साथ किया जाता है। यह भूखंड पर एक पंक्ति लगाने के बराबर है: क्लासिफायर लाइन के ऊपर बैठे सभी बिंदु एक वर्ग के हैं जबकि नीचे के बिंदु दूसरे वर्ग के हैं।x h ( x ) > 0.5xh(x)>0.5

तो, लब्बोलुआब यह है कि वर्गीकरण परिदृश्य में हम प्रतिगमन परिदृश्य की तुलना में पूरी तरह से अलग तर्क और एक पूरी तरह से अलग एल्गोरिथ्म का उपयोग करते हैं।


@andreister: लेकिन क्या होगा यदि सभी आउटलेर्स को हटा दिया गया है या काट दिया गया है, क्या रैखिक प्रतिगमन अभी भी एक बुरा विचार है?
टोमेक टारसिनेस्की

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

1
@andreister: आपके उदाहरण ने दिखाया कि कुछ खराब डेटा रैखिक प्रतिगमन को खराब कर सकते हैं। लेकिन क्या हम "प्रतिगमन" को एक अच्छा क्लासिफायर बनाने के लिए चौकोर प्रतिगमन या इससे भी अधिक जटिल परिकल्पना का उपयोग कर सकते हैं?
स्ट्रिन

1
@probabilityislogic - अच्छी बात है, मैंने जवाब अपडेट किया।
andreister

2
@Strin: अधिक जटिल हाइपोथेसिस डेटा ओवरफिट होने की अधिक संभावना है। (अर्थात, आपके हाथ में मौजूद डेटा की quirks को फिट करने के लिए, जिसके परिणामस्वरूप भविष्य के डेटा पर खराब फिटिंग है।) मुझे याद है कि मैंने एक क्लास ली थी जहाँ सामने वाली पंक्ति में एक आदमी सिर्फ यह सुनिश्चित कर रहा था कि प्रोफेसर हमारे ऊपर वापस आ रहा था और हमें परिष्कृत एल्गोरिदम नहीं दे रहा है जो हमें बिजली बाजारों में एक हत्या करने देगा ... उसने वास्तव में कभी भी ओवरफिटिंग नहीं की।
वेन

14

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


5
यह मुझे लगता है कि प्रभावी रूप से वर्गीकरण क्या है आखिरकार किसी भी स्वचालित प्रक्रिया में लक्ष्य है जिसमें मानव हस्तक्षेप या निर्णय होना अव्यावहारिक या असंभव है। जब, कहते हैं, एक शोर प्रेषित डिजिटल सिग्नल, रिसीवर तय नहीं कर सकता है कि 0 या 1. के बजाय एक विशेष बिट 0.97 होना चाहिए
कार्डिनल

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

1
मुझे लगता है कि मैं इस उत्तर में दावे के बिल्कुल विपरीत मानता हूं, और मशीन लर्निंग में मेरी संपूर्ण विश्वविद्यालय शिक्षा में इस परिप्रेक्ष्य का कभी सामना नहीं किया। यह मेरे लिए बहुत आश्चर्य की बात है कि कोई यह कहेगा। व्यवहार में, मैंने लगभग हमेशा समस्याओं का सामना किया है, जहां लोगों को लगता है कि वे एक निरंतर मात्रा की भविष्यवाणी करना चाहते हैं, लेकिन वास्तव में वे उस मात्रा के विभिन्न श्रेणीबद्ध बाल्टी में सदस्यता की भविष्यवाणी करना चाहते हैं। मैं ऐसे उदाहरणों को खोजने के लिए संघर्ष करता हूं जहां वास्तव में एक निरंतर मात्रा का अनुमान लगाना समस्या के अंतर्निहित मूल अनुमान के संदर्भ में उपयोगी है।
Ely

9
मुझे लगता है कि आपने मशीन लर्निंग हठधर्मिता का अच्छा सौदा कर लिया है। आप बड़ी संख्या में अनुचित धारणाएँ बना रहे हैं। उनमें से एक यह है कि लोगों को वास्तव में एक स्पष्ट बाल्टी में एक मजबूर विकल्प की आवश्यकता होती है। वे ऐसा करने का दावा कर सकते हैं, लेकिन उन्हें ज्यादातर स्थितियों में इसकी आवश्यकता नहीं है। विकल्प के लिए मजबूर नहीं होना चाहिए। एक बढ़िया विकल्प है "कोई निर्णय नहीं, अधिक डेटा प्राप्त करें"। एक अंतर्निहित निरंतर मात्रा का पूर्वानुमान आमतौर पर वह होता है जिसकी आवश्यकता होती है। यह इष्टतम (बेय्स) निर्णय सिद्धांत का अध्ययन करने के लिए आपके लायक होगा। यदि आप एक ठोस उदाहरण प्रदान कर सकते हैं तो मैं आगे टिप्पणी करूंगा।
फ्रैंक हरेल

11
@Frank हैरेल की टिप्पणी पर +1। उदाहरण के लिए, तापमान, वर्षा, नदी के स्तर की भविष्यवाणी करना, भविष्यवाणियों की तुलना में नदी का स्तर बहुत अधिक सहायक है कि यह गर्म या गीला होगा या बाढ़ आएगा। भले ही समस्या भेड़ या बकरी की हो? पीआर (भेड़) का एक अनुमान बाइनरी "भेड़" या "बकरी" की तुलना में अधिक जानकारीपूर्ण है।
निक कॉक्स

1

कुछ सबूतों को क्यों नहीं देखा? हालांकि कई तर्क देंगे कि रैखिक प्रतिगमन वर्गीकरण के लिए सही नहीं है, फिर भी यह काम कर सकता है। कुछ अंतर्ज्ञान हासिल करने के लिए, मैंने रेखीय प्रतिगमन (क्लासिफायर के रूप में प्रयुक्त) को स्किटिट-लर्न के क्लासिफायर तुलना में शामिल किया । यहाँ होता है:

यहाँ छवि विवरण दर्ज करें

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

जैसा कि हम देखते हैं, क्लासिफायर के रूप में रैखिक प्रतिगमन का उपयोग करना काम कर सकता है, लेकिन हमेशा की तरह, मैं भविष्यवाणियों को मान्य करता हूं।

रिकॉर्ड के लिए, यह मेरा क्लासिफायर कोड जैसा दिखता है:

class LinearRegressionClassifier():

def __init__(self):
    self.reg = LinearRegression()

def fit(self, X, y):
    self.reg.fit(X, y)

def predict(self, X):
    return np.clip(self.reg.predict(X),0,1)

def decision_function(self, X):
    return np.clip(self.reg.predict(X),0,1)

def score(self, X, y):
    return accuracy_score(y,np.round(self.predict(X)))


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