कवर की प्रमेय: मोटे तौर पर कहा गया है, यह कहता है कि परिमित बिंदुओं के किसी भी यादृच्छिक सेट (मनमाने लेबल के साथ) को दिया जाता है, फिर उच्च संभावना के साथ इन बिंदुओं को एक उच्च आयाम [2] में मैप करके रैखिक रूप से अलग किया जा सकता है [1]।
निहितार्थ: महान, यह प्रमेय मुझे जो बताता है वह यह है कि अगर मैं अपने डेटासेट को लेता हूं और इन बिंदुओं को उच्च आयाम पर ले जाता हूं, तो मैं आसानी से एक रैखिक क्लासिफायरफ़ायर पा सकता हूं। हालांकि, अधिकांश क्लासीफायर को कुछ प्रकार की समानता जैसे डॉट उत्पाद की गणना करने की आवश्यकता होती है और इसका मतलब है कि वर्गीकरण एल्गोरिथ्म की समय जटिलता डेटा बिंदु के आयाम के लिए आनुपातिक है। तो, उच्च आयाम का अर्थ है बड़े समय की जटिलता (उन बड़े आयामी बिंदुओं को संग्रहीत करने के लिए अंतरिक्ष जटिलता का उल्लेख नहीं करना)।
कर्नेल चाल: Let डेटा बिंदुओं के मूल आयाम हो सकता है और नक्शा जो आयाम के एक अंतरिक्ष के लिए इन बातों को नक्शे होना । अब, यदि कोई फ़ंक्शन जो मूल स्थान से इनपुट और लेता है और गणना करता है, तो मैं डॉट उत्पाद की गणना करने में सक्षम हूं उच्च आयामी स्थान में लेकिन बजाय जटिलता ।nfN(>>n)KxyK(x,y)=⟨f(x),f(y)⟩O(n)O(N)
निहितार्थ: इसलिए, यदि वर्गीकरण एल्गोरिथ्म केवल डॉट उत्पाद पर निर्भर है और वास्तविक मानचित्र पर कोई निर्भरता नहीं है , तो मैं लगभग कोई अतिरिक्त लागत के साथ एल्गोरिथ्म को उच्च आयामी अंतरिक्ष में चलाने के लिए कर्नेल चाल का उपयोग कर सकता हूं।f
क्या रैखिक पृथक्करण का अर्थ यह है कि एक ही वर्ग के अंक विभिन्न वर्गों के बिंदुओं से अधिक निकट हो जाएंगे?
नहीं, ऐसी कोई गारंटी नहीं है। रैखिक पृथक्करण वास्तव में इसका मतलब यह नहीं है कि एक ही वर्ग से बिंदु करीब हो गया है या कि दो अलग-अलग वर्गों के अंक किसी भी आगे बढ़ गए हैं।
तो kNN काम क्यों करेगा?
यह नहीं की जरूरत है! हालाँकि, यदि ऐसा होता है, तो यह शुद्ध रूप से कर्नेल के कारण होता है।
इसका क्या मतलब है?
बूलियन फ़ीचर वेक्टर । जब आप डिग्री दो बहुपद कर्नेल का उपयोग करते हैं, तो फीचर वेक्टर को वेक्टर में मैप किया जाता हैx=(x1,x2)x(x21,2–√x1x2,x22)। बूलियन सुविधाओं के एक वेक्टर से, बस डिग्री दो बहुपद का उपयोग करके, हमने "संयोजन" का एक फीचर वेक्टर प्राप्त किया है। इस प्रकार, गुठली खुद कुछ शानदार फीचर मैप तैयार करती है। यदि आपके डेटा में अच्छी मूल विशेषताएं हैं और यदि आपका डेटा इन कर्नेल द्वारा बनाए गए फ़ीचर मैप से लाभान्वित हो सकता है। लाभ से मेरा तात्पर्य है कि इन फ़ीचर मैप द्वारा निर्मित सुविधाएँ एक ही वर्ग के बिंदुओं को एक-दूसरे के समीप ला सकती हैं और विभिन्न वर्गों से दूर बिंदुओं को धक्का दे सकती हैं, फिर केएनएन गुठली का उपयोग करने से लाभान्वित होता है। अन्यथा, मूल डेटा पर केएनएन चलाने से आपको जो भी मिलता है, उससे परिणाम भिन्न नहीं होंगे।
फिर कर्नेल kNN का उपयोग क्यों करें?
हमने दिखाया कि गुठली का उपयोग करने की संगणना जटिलता सामान्य केएनएन की तुलना में थोड़ी अधिक है और यदि गुठली का उपयोग करने से डेटा को लाभ होता है तो फिर भी उनका उपयोग क्यों नहीं किया जाता है?
क्या कोई ऐसा कागज है जिसने अध्ययन किया है कि kNN में गुठली से डेटा का कौन सा वर्ग लाभान्वित हो सकता है?
जहाँ तक मुझे पता है, नहीं।
[१] http://en.wikipedia.org/wiki/Linear_separability
[२] http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=4038449&tag/1