एसवीएम का उपयोग करते समय, मुझे विशेषताओं को स्केल करने की आवश्यकता क्यों है?


9

स्टैंडर्ड -क्लेर ऑब्जेक्ट के दस्तावेज़ के अनुसार scikit-learn:

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

मुझे वर्गीकरण से पहले अपनी विशेषताओं को स्केल करना चाहिए। क्या यह दिखाने का कोई आसान तरीका है कि मुझे ऐसा क्यों करना चाहिए? वैज्ञानिक लेखों के संदर्भ बेहतर होंगे। मैं पहले से ही एक पाया , लेकिन वहाँ शायद कई अन्य हैं।

जवाबों:


16

सभी कर्नेल विधियाँ दूरी पर आधारित हैं। RBF कर्नेल फ़ंक्शन ( का उपयोग करने के लिए) सादगी)।κ(यू,v)=exp(-यू-v2)γ=1

दिए गए 3 फ़ीचर वैक्टर:

एक्स1=[1000,1,2],एक्स2=[900,1,2],एक्स3=[1050,-10,20]

उसके बाद , है कि माना जाता है कि अधिक के समान है तो करने के लिए ।κ(एक्स1,एक्स2)=exp(-10000)«κ(एक्स1,एक्स3)=exp(-2905)एक्स1एक्स3एक्स2

के बीच सापेक्ष मतभेद और: एक्स1

एक्स2[0.1,0,0],एक्स3[0.05,-10,10]

तो स्केलिंग के बिना, हम निष्कर्ष है कि अधिक के समान है करने से , भले ही दोनों के बीच प्रति सुविधा रिश्तेदार मतभेद और और तुलना में बहुत बड़ा है ।एक्स1एक्स3एक्स2एक्स1एक्स3एक्स1एक्स2

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

आप निम्न पेपर में इसे स्पष्ट करने के लिए सरल उदाहरण पा सकते हैं: एक व्यावहारिक मार्गदर्शिका समर्थन वेक्टर वर्गीकरण (धारा 2.2)।


आप नियमितीकरण पर भी चर्चा करना चाहते हैं: वज़न का पैमाना इनपुट के पैमाने पर निर्भर करता है ...
seanv507

नियमितीकरण का प्रभाव यह है कि अलग-अलग स्केलिंग अलग-अलग इष्टतम मतलब , जो इस विशेष मुद्दे के लिए कुछ हद तक रूढ़िवादी है । सी
मार्क क्लेसेन

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

@Marc Claesen, यदि आपके चर परिमाण के अलग-अलग क्रम के हैं, तो आपका वजन भी परिमाण के अलग-अलग क्रमों का होगा, और l2 मानदंड उन इनपुटों पर ध्यान केंद्रित करेंगे, जिनमें छोटे विचरण होते हैं और इसी तरह बड़े वजन होते हैं। एक और तरीका है, वजन मानक नियमितीकरण सुनिश्चित करता है कि 'छोटे' इनपुट के छोटे प्रभाव होते हैं। यह केवल तभी समझ में आता है जब आपने 'छोटे' (आपके इनपुट के पार) को मानकीकृत किया है जैसे कि अपने चर को सामान्य करके
seanv507

1
@ seanv507 जो केवल रैखिक SVM पर लागू होता है।
मार्क क्लेसेन

0

यह निर्भर करता है कि आप किस कर्नेल का उपयोग कर रहे हैं। अब तक सबसे अधिक उपयोग किया जाता है (रैखिक के अलावा) गाऊसी कर्नेल है, जिसका रूप है

=एक्सपी(-||एक्स1-एक्स2||22σ2)

एक SVM इस फ़ंक्शन को लेता है और इसका उपयोग एक बिंदु ( ) की समानता की तुलना करने के लिए प्रशिक्षण में हर दूसरे बिंदु पर अंतर को जोड़कर करता है:एक्स1

(एक्स1-एल1)2+(एक्स2-एल2)2+(एक्सn-एलn)2

जहाँ आपका उदाहरण है और के मूल्य स्थल हैं।एक्सएल

यदि सुविधा से 0 - 50,000 तक है, जबकि सुविधा से 0 - 0.01 तक है, तो आप देख सकते हैं कि पर उस समय हावी होने जा रहा है। का वस्तुतः कोई प्रभाव नहीं पड़ेगा। इस कारण से कर्नेल को लागू करने से पहले सुविधाओं को स्केल करना आवश्यक है।एक्स1एक्स2एक्स1एक्स2

यदि आप और अधिक सीखना चाहते हैं, तो मैं कोर्टेरसा में मशीन लर्निंग में स्टैनफोर्ड ऑनलाइन पाठ्यक्रम से मॉड्यूल 12 (सपोर्ट वेक्टर मशीन) की सलाह देता हूं (मुफ्त और किसी भी समय उपलब्ध): https://www.coursera.org/course/ml

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