कैसे स्पष्ट रूप से समझाने के लिए कि एक गिरी क्या है?


96

कई मशीन लर्निंग क्लासीफायर (जैसे वेक्टर मशीनों का समर्थन) एक कर्नेल को निर्दिष्ट करने की अनुमति देते हैं। यह समझाने का एक सहज तरीका क्या होगा कि एक कर्नेल क्या है?

एक पहलू जिसके बारे में मैं सोच रहा हूं वह है रैखिक और गैर-रेखीय गुठली के बीच का अंतर। सरल शब्दों में, मैं 'रैखिक निर्णय कार्यों' को 'गैर-रैखिक निर्णय कार्यों' के बारे में बता सकता हूँ। हालांकि, मुझे यकीन नहीं है कि कर्नेल को 'निर्णय कार्य' कहना एक अच्छा विचार है।

सुझाव?

जवाबों:


112

कर्नेल दो वैक्टर x और के डॉट उत्पाद की गणना करने का एक तरीका yहै, जिसमें कुछ (संभवतः बहुत ही उच्च आयामी) फ़ीचर स्थान है, यही वजह है कि कर्नेल फ़ंक्शन को कभी-कभी "सामान्यीकृत डॉट उत्पाद" कहा जाता है।

मान लीजिए हमारे पास एक मैपिंग कि में हमारे वैक्टर लाता आर एन कुछ सुविधा अंतरिक्ष के लिए आर एम । तब से डॉट उत्पाद एक्स और वाई इस क्षेत्र में हैφ( एक्स ) टी φ( y )। एक कर्नेल एक समारोह हैकश्मीरहै कि इस बिंदु गुणनफल से मेल खाती है, यानीकश्मीर( एक्स , वाई )=φ( एक्स ) टी φ( y )φ:RnRmRnRmxyφ(x)Tφ(y)kk(x,y)=φ(x)Tφ(y)

यह क्यों उपयोगी है? कर्नेल कुछ फीचर स्पेस में डॉट प्रोडक्ट्स की गणना करने का एक तरीका देता है बिना यह जाने कि यह स्पेस क्या है और क्या है ।φ

उदाहरण के लिए, एक साधारण बहुपद गिरी पर विचार के साथ एक्स , वाईआर 2 । यह किसी भी मानचित्रण समारोह के अनुरूप प्रतीत नहीं होता है φ , यह सिर्फ एक समारोह है कि एक वास्तविक संख्या देता है। मान लें कि x = ( x 1 , x 2 ) और y = ( y 1 , y 2 ) , इस अभिव्यक्ति का विस्तार करें:k(x,y)=(1+xTy)2x,yR2φx=(x1,x2)y=(y1,y2)

k(x,y)=(1+xTy)2=(1+x1y1+x2y2)2==1+x12y12+x22y22+2x1y1+2x2y2+2x1x2y1y2

ध्यान दें कि यह दो वैक्टर ( 1 , x 2 1 , x 2 2 , ) के अलावा और कुछ नहीं हैऔर(1,y 2 1 ,y 2 2 ,(1,x12,x22,2x1,2x2,2x1x2), औरφ(एक्स)=φ(एक्स1,एक्स2)=(1,एक्स 2 1 ,एक्स 2 2 ,(1,y12,y22,2y1,2y2,2y1y2)। तो गिरीकश्मीर(एक्स,वाई)=(1+ x टीy)2=φ(एक्स)टीφ(y)स्पष्ट रूप से इस स्थान पर न जाना 6 आयामी अंतरिक्ष में एक डॉट उत्पाद गणना करता है।φ(x)=φ(x1,x2)=(1,x12,x22,2x1,2x2,2x1x2)k(x,y)=(1+xTy)2=φ(x)Tφ(y)

। हम इस समारोह टेलर-विस्तार है, तो हम है कि यह की एक अनंत आयामी codomain से मेल खाती है देखेंगे φk(x,y)=exp(γxy2)φ

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


2
वर्तमान टैग की परिभाषा: "सहज ज्ञान युक्त: प्रश्न जो आँकड़ों की एक वैचारिक या गैर-गणितीय समझ चाहते हैं।" कोई स्पष्ट संकेत नहीं कि क्या वैचारिक को गैर-गणितीय के पर्याय के रूप में माना जाता है।
रोलैंडो 2

40

गुठली (एसवीएम के लिए कम से कम) के बारे में सोचने का एक बहुत ही सरल और सहज तरीका एक समानता कार्य है। दो वस्तुओं को देखते हुए, कर्नेल कुछ समानता स्कोर का उत्पादन करता है। ऑब्जेक्ट दो पूर्णांक, दो वास्तविक मूल्यवान वैक्टर, पेड़ों से शुरू होने वाले कुछ भी हो सकते हैं, बशर्ते कि कर्नेल फ़ंक्शन जानता है कि उनकी तुलना कैसे की जाए।

यकीनन सबसे सरल उदाहरण रैखिक कर्नेल है, जिसे डॉट-उत्पाद भी कहा जाता है। दो वैक्टरों को देखते हुए, समानता दूसरे पर एक वेक्टर के प्रक्षेपण की लंबाई है।

σ

कर्नेल के साथ सीखने की सफलता (फिर, कम से कम एसवीएम के लिए), बहुत दृढ़ता से कर्नेल की पसंद पर निर्भर करती है। आप अपनी वर्गीकरण समस्या के बारे में ज्ञान के एक कॉम्पैक्ट प्रतिनिधित्व के रूप में एक कर्नेल देख सकते हैं। यह अक्सर विशिष्ट समस्या है।

αα


डॉट उत्पाद और प्रक्षेपण काफी समान नहीं हैं।
ttnphns

एसवीएम के मामले में, मेरा मानना ​​है कि गुठली विभिन्न स्थानों में दूरी के उपाय हैं। यह इस विचार के साथ है कि एक एसवीएम एक वेक्टर वेक्टर का समर्थन करता है। सामान्य तौर पर, गुठली अधिक जटिल हो सकती है।
एग्नेसेंस्की

29

अंतर्ज्ञान में मदद करने के लिए एक दृश्य उदाहरण

निम्नलिखित डेटासेट पर विचार करें जहां पीले और नीले बिंदु स्पष्ट रूप से दो आयामों में रैखिक रूप से अलग नहीं हैं।

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

यदि हम एक उच्च आयामी स्थान पा सकते हैं जिसमें ये बिंदु रैखिक रूप से अलग होते हैं , तो हम निम्नलिखित कर सकते हैं:

  • मूल सुविधाओं को उच्च, ट्रांसफ़ॉर्मर स्पेस (फ़ीचर मैपिंग) में मैप करें
  • इस उच्च स्थान में रैखिक SVM का प्रदर्शन करें
  • निर्णय सीमा हाइपरप्लेन से संबंधित भार का एक सेट प्राप्त करें
  • एक गैर रेखीय निर्णय सीमा प्राप्त करने के लिए इस हाइपरप्लेन को मूल 2 डी स्पेस में वापस मैप करें

कई उच्च आयामी रिक्त स्थान हैं जिनमें ये बिंदु रैखिक रूप से वियोज्य हैं। यहाँ एक उदाहरण है

x1,x2:→z1,z2,z3
z1=2x1x2  z2=x12  z3=x22

यह वह जगह है जहाँ कर्नेल चाल चलन में आती है। उपरोक्त महान उत्तरों का हवाला देते हुए

मान लीजिए हमारे पास एक मैपिंग φ:RnRmRnRmxyφ(x)Tφ(y)kk(x,y)=φ(x)Tφ(y)

यदि हमें एक कर्नेल फ़ंक्शन मिल सकता है जो उपरोक्त फीचर मैप के बराबर था, तो हम कर्नेल फ़ंक्शन को रैखिक SVM में प्लग कर सकते हैं और गणना को बहुत कुशलता से कर सकते हैं।

बहुपद कर्नेल

K(x,x)=(xTx)dd=2x=(x1,x2)T

k((x1x2),(x1x2))=(x1x2+x2x2)2=2x1x1x2x2+(x1x1)2+(x2x2)2=(2x1x2 x12 x22) (2x1x2x12x22)

k((x1x2),(x1x2))=ϕ(x)Tϕ(x)

ϕ((x1x2))=(2x1x2x12x22)

फ़ीचर मैप और परिणामी सीमा रेखा को विज़ुअलाइज़ करना

  • बाएं हाथ की ओर का प्लॉट एसवीएम लीनियर बाउंड्री हाइपर प्लेन के साथ बदले हुए स्थान में प्लॉट किए गए बिंदुओं को दर्शाता है
  • राइट हैंड साइड प्लॉट मूल 2-डी स्पेस में परिणाम दिखाता है

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


स्रोत


4

बहुत ही सरल (लेकिन सही) एक कर्नेल डेटा के दो अनुक्रमों के बीच एक वजन कारक है । यह वजन कारक एक " डेटा बिंदु " पर एक " समय बिंदु " पर अन्य " डेटा बिंदु " की तुलना में अधिक वजन असाइन कर सकता है, या समान वजन असाइन कर सकता है या अन्य " डेटा बिंदु " और इतने पर अधिक वजन असाइन कर सकता है।

इस तरह से सहसंबंध ( डॉट उत्पाद ) दूसरों की तुलना में कुछ बिंदुओं पर अधिक "महत्व" प्रदान कर सकता है और इस तरह गैर-रैखिकता (जैसे गैर-फ्लैट स्थान ), अतिरिक्त जानकारी, डेटा चौरसाई और इतने पर सामना कर सकता है।

अभी भी एक अन्य तरीके से एक कर्नेल दो डेटा अनुक्रमों के सापेक्ष आयामों (या आयाम इकाइयों ) को बदलने का एक तरीका है , ताकि ऊपर बताई गई चीजों के साथ सामना किया जा सके।

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

एक कर्नेल एक Procrustes की तरह कार्य कर सकता है ताकि " सबसे अच्छा फिट " हो सके


मुझे लगता है कि आप कर्नेल घनत्व आकलन के अर्थ में गुठली के बारे में बात कर रहे होंगे, एसवीएम और संबंधित तरीकों में उपयोग किए जाने वाले सकारात्मक-अर्धचालक मर्जर गुठली नहीं।
डगल

@ डगल, इस उत्तर के अर्थ में कर्नेल एक वज़न कार्य या माप है जिसका उपयोग किसी विशिष्ट तरीके से डेटा को सहसंबंधित करने या कुछ डेटा सुविधाओं का दोहन करने के लिए किया जाता है, इसलिए SVM कर्नेल विधियाँ भी कवर की जाती हैं
निकोस एम।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.