क्या सभी मशीन लर्निंग एल्गोरिदम अलग-अलग डेटा को लीनियरली करते हैं?


22

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

कुछ समय पहले मैंने एक ब्लॉग पढ़ा जिसमें लेखक एमएल में रैखिक प्रतिगमन के उपयोग के बारे में बात करता है। अगर मुझे सही याद आ रहा है, तो उन्होंने इस बारे में बात की कि कैसे अंत में सभी मशीन लर्निंग कुछ प्रकार के "रैखिक प्रतिगमन" का उपयोग करते हैं (यह सुनिश्चित नहीं है कि क्या उन्होंने इस सटीक शब्द का उपयोग किया था) यहां तक ​​कि रैखिक या गैर-रैखिक समस्याओं के लिए भी। उस समय मुझे समझ नहीं आया कि उसका क्या मतलब है।

गैर-रैखिक डेटा के लिए मशीन सीखने का उपयोग करने की मेरी समझ डेटा को अलग करने के लिए एक गैर रेखीय एल्गोरिथ्म का उपयोग करना है।

यह मेरी सोच थी

मान लें कि रैखिक डेटा को वर्गीकृत करने के लिए हमने रैखिक समीकरण और गैर रेखीय डेटा के लिए हम गैर-रेखीय समीकरण का उपयोग करते हैं,y=मीटरएक्स+सीy=रोंमैंn(एक्स)

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

यह चित्र समर्थन वेक्टर मशीन की साइट सीखी गई वेबसाइट से लिया गया है। एसवीएम में हमने एमएल उद्देश्य के लिए विभिन्न गुठली का इस्तेमाल किया। इसलिए मेरी प्रारंभिक सोच रैखिक कर्नेल थी जो रैखिक कार्य का उपयोग करके डेटा को अलग करती है और RBF कर्नेल डेटा को अलग करने के लिए एक गैर-रैखिक फ़ंक्शन का उपयोग करता है।

लेकिन फिर मैंने इस ब्लॉग को देखा जहां लेखक तंत्रिका नेटवर्क के बारे में बात करता है।

बाएं सबप्लॉट में गैर रेखीय समस्या को वर्गीकृत करने के लिए, तंत्रिका नेटवर्क डेटा को इस तरह से रूपांतरित करता है कि अंत में हम सही उप-भूखंड में रूपांतरित डेटा के लिए सरल रैखिक पृथक्करण का उपयोग कर सकते हैं

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

मेरा सवाल यह है कि क्या अंत में सभी मशीन लर्निंग एल्गोरिदम वर्गीकरण (रैखिक / गैर-रैखिक डेटासेट) के लिए एक रैखिक पृथक्करण का उपयोग करता है?



3
पाप(एक्स)रों=पाप(एक्स)y=θ0+θ1रों

जवाबों:


26

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

हम निर्णय पेड़ों से शुरू करेंगे। कई विभाजन के साथ, यह एक गैर-रैखिक निर्णय सीमा है। और हम यह नहीं सोच सकते हैं कि सभी पिछले विभाजन "सुविधा परिवर्तन" हैं और अंत में एक अंतिम निर्णय रेखा है।

एक अन्य उदाहरण बूस्टिंग मॉडल है, जो कई "कमजोर क्लासिफायर" को एकत्रित करता है और अंतिम निर्णय सीमा रैखिक नहीं है। आप सोच सकते हैं कि यह अंतिम भविष्यवाणी करने के लिए एक जटिल कोड / एल्गोरिदम है।

अंत में, K निकटतम पड़ोसी (KNN) के बारे में सोचें। यह अंत परत पर एक रैखिक निर्णय कार्य भी नहीं है। इसके अलावा, KNN में कोई "फ़ीचर ट्रांसफ़ॉर्मेशन" नहीं हैं।

यहां 2 डी अंतरिक्ष (ट्री, बूस्टिंग और केएनएन ऊपर से नीचे तक) में तीन दृश्य हैं। जमीनी सच्चाई है 2 सर्पिल दो वर्गों का प्रतिनिधित्व करते हैं, और बाएं सबप्लॉट मॉडल से भविष्यवाणियां हैं और दाएं सबप्लॉट मॉडल से निर्णय की सीमाएं हैं।

वृक्ष निर्णय सीमा

निर्णय सीमा को बढ़ावा देना

KNN निर्णय सीमा


EDIT: @ ssdecontrol का इस पोस्ट में जवाब एक और परिप्रेक्ष्य देता है।

यह इस बात पर निर्भर करता है कि हम "परिवर्तन" को कैसे परिभाषित करते हैं

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


मैं आलोचक नहीं बनना चाहता, लेकिन हौसला थोड़ा बढ़ा हुआ है, नहीं? क्या विभिन्न मापदंडों के साथ एक चिकनी परिणाम प्राप्त करना संभव नहीं है? क्षमा करने के लिए क्षमा करें, क्योंकि मुझे सभी स्पष्टीकरण बहुत अच्छे लगते हैं।
वाईसीआर

@ YCR मुझे लगता है कि आप एक कठिन निर्णय सीमा है, जहां बढ़ाने का बिंदु है। खुरदरापन कई कमजोर क्लासिफायर (इस उदाहरण में, वे पेड़ हैं) को एकत्रित करने के कारण होता है। लेकिन मैं आपसे सहमत हूं कि दूसरा उदाहरण एक अच्छा मॉडल नहीं है, और यह बहुत ज्यादा है :)
Haitao Du

1
(+1) महान दृश्य (मैं spiralsअपने प्रयोगों में भी बहुत उपयोग करता हूं)। एक सुझाव: के रूप में निर्णय सीमाओं की साजिश है image, और शायद संभावना के स्तर (यदि आप संभाव्य आउटपुट का उपयोग कर रहे हैं) के साथ जोड़ें contour
Firebug

@ शानदार सुझाव! ये प्लॉट एक ग्रिड में उत्पन्न होते हैं और केवल आपको अंतिम लेबल बता सकते हैं। कंटूर ज्यादा बेहतर है।
हायताओ ड्यू

मेरा जवाब यहां देखें: आंकड़े
Firebug

21

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

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


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

1
@CagdasOzgenc बाइनरी वर्गीकरण और नेटवर्क w / sigmoidal आउटपुट के मामले पर विचार करें, जैसा कि आप सुझाव दे रहे हैं। यह पिछली परत की सक्रियता पर लॉजिस्टिक रिग्रेशन के बराबर है (सॉफ्टमैक्स आउटपुट का उपयोग मल्टिनोमियल लॉजिस्टिक रिग्रेशन के बराबर होगा)। तो, निर्णय सीमा फीचर स्पेस में एक हाइपरप्लेन है। मूल प्रश्न में चित्र इसका एक अच्छा उदाहरण दिखाता है।
user20160

मैं समझता हूँ कि जब f (Ax) = 0 और f एक-से-एक होता है, तो आप बस f (-1) (Ax) = f ^ -1 (0) => Ax = 0 (या कुछ स्थिर c) का f कर सकते हैं। इसलिए सिग्मॉइड के मामले में, आपको एक रैखिक निर्णय सीमा मिलती है। मूल रूप से हम ऐसे मामलों के बारे में बात कर रहे हैं जब एफ उलटा नहीं है?
कागदस ओजेंक

क्या आउटपुट न्यूरॉन का सक्रियण फ़ंक्शन और x पिछली परत का आउटपुट है? मुझे यकीन नहीं है कि तुम क्या पूछ रहे हो।
user20160

x एक वेक्टर है जो पिछली परत के न्यूरॉन्स से आता है, और f आउटपुट सक्रियण फ़ंक्शन है।
कागदस ओजेंक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.