सबसे अच्छा तरीका है SVM के साथ असंतुलित बहुरंगी डेटासेट को संभालने के लिए


9

मैं काफी असंतुलित डेटा पर एसवीएम के साथ एक भविष्यवाणी मॉडल बनाने की कोशिश कर रहा हूं। मेरे लेबल / आउटपुट में तीन वर्ग हैं, सकारात्मक, तटस्थ और नकारात्मक। मैं कहूंगा कि सकारात्मक उदाहरण मेरे डेटा का लगभग 10 - 20% बनाता है, तटस्थ लगभग 50 - 60%, और नकारात्मक लगभग 30 - 40% है। मैं कक्षाओं को संतुलित करने की कोशिश कर रहा हूं क्योंकि कक्षाओं के बीच गलत भविष्यवाणियों से जुड़ी लागत समान नहीं है। एक विधि प्रशिक्षण डेटा को फिर से खोलना और एक समान संतुलित डेटासेट का उत्पादन करना था, जो मूल से बड़ा था। दिलचस्प बात यह है कि जब मैं ऐसा करता हूं, तो मैं अन्य वर्ग के लिए बेहतर भविष्यवाणियां करता हूं (जैसे जब मैंने डेटा संतुलित किया, तो मैंने सकारात्मक वर्ग के लिए उदाहरणों की संख्या बढ़ा दी, लेकिन नमूना भविष्यवाणियों में, नकारात्मक वर्ग ने बेहतर किया)। कोई भी आम तौर पर समझा सकता है कि ऐसा क्यों होता है? अगर मैं नकारात्मक वर्ग के लिए उदाहरण की संख्या बढ़ाता हूं, तो क्या मुझे नमूना भविष्यवाणियों (उदाहरण के लिए, बेहतर भविष्यवाणियों) में सकारात्मक वर्ग के लिए कुछ समान मिलेगा?

अन्य विचारों पर भी बहुत खुला है कि कैसे मैं असंतुलित डेटा को या तो गर्भपात पर अलग-अलग लागत लगाकर या LibSVM में वर्ग भार का उपयोग करके पता कर सकता हूं (यह सुनिश्चित नहीं है कि उन का चयन कैसे करें / ठीक से ट्यून करें)।

जवाबों:


6

प्रत्येक वर्ग के पैटर्न के लिए मार्जिन स्लैब चर के लिए अलग-अलग दंड होने से डेटा को पुनः प्राप्त करने की तुलना में बेहतर दृष्टिकोण है। यह asymptotically वैसे भी resampling के बराबर है, लेकिन लागू करने के लिए और निरंतर है, असतत के बजाय, इसलिए आप अधिक नियंत्रण रखते हैं।

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


क्या ऐसा करने का एक स्वचालित तरीका है, या क्या ऐसे शिक्षार्थी मौजूद हैं जिन्हें इस कार्यक्षमता को शामिल किया गया है?
वम

मैं आमतौर पर दंड के एक विशेष सेट के नुकसान का मूल्यांकन करने के लिए सिर्फ एक मैटलैब फ़ंक्शन लिखता हूं और फिर नेल्डर-मीड सिम्प्लेक्स एल्गोरिथ्म का उपयोग करके इसे कम करता हूं। मैं किसी भी पुस्तकालयों कि यह में बनाया गया है पता नहीं है।
Dikran Marsupial

@DikranMarsupial दो-वर्ग की समस्या में दो मार्जिन सुस्त चर की ग्रिड खोज क्या आप सिम्प्लेक्स एल्गोरिथ्म के साथ कर रहे हैं के बराबर होगी?
स्पेसी

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