कुलपति-आयाम की गणना कैसे करें?


12

Im मशीन सीखने का अध्ययन कर रहा हूं, और मैं जानना चाहूंगा कि कुलपति-आयाम की गणना कैसे करें।

उदाहरण के लिए:

h(x)={1if axb0else  , मापदंडों के साथ ।(a,b)R2

इसका वीसी-आयाम क्या है?

जवाबों:


10

वीसी आयाम बाइनरी क्लासिफायरियर की क्षमता के लिए एक अनुमान है। यदि आप अंक का एक सेट पा सकते हैं , ताकि इसे क्लासिफायर द्वारा बिखर दिया जा सके (अर्थात सभी संभव लेबलिंग को सही ढंग से वर्गीकृत करें ) और आप अंक के किसी भी सेट को नहीं ढूंढ सकते हैं जो बिखर सकता है (अर्थात किसी भी सेट के लिए की अंक वहाँ कम से कम एक लेबलिंग क्रम ताकि वर्गीकारक सभी बिंदुओं को सही ढंग से अलग नहीं कर सकते हैं), तो कुलपति आयाम है ।2 n n + 1 n + 1 nn2nn+1n+1n

अपने मामले में, पहले दो बिंदुओं पर विचार करें और , जैसे कि । फिर संभव लेबलिंग हैंx 2 x 1 < x 2 2 2 = 4x1x2x1<x222=4

  1. x 2 : 1x1:1 ,x2:1
  2. x 2 : 0x1:0 ,x2:0
  3. x 2 : 0x1:1 ,x2:0
  4. x 2 : 1x1:0 ,x2:1

सभी लेबलिंग क्लासिफायर माध्यम से प्राप्त किया जा सकता है मापदंडों इस तरह सेट करकेएक < आरha<bR

  1. a<x1<x2<b
  2. x1<x2<a<b
  3. a<x1<b<x2
  4. x1<a<x2<b

क्रमशः। (वास्तव में, को माना जा सकता है, लेकिन यह एक सेट को खोजने के लिए पर्याप्त है जो बिखर सकता है।)x1<x2

अब, तीन मनमाना (!) अंक , , और मान लें कि , तो आप लेबलिंग (1,0,1) प्राप्त नहीं कर सकते। जैसा कि ऊपर 3 के मामले में, लेबल : 1 और : 0 का अर्थ । जिसका अर्थ है > b और इसलिए के लेबल को 0. होना चाहिए। इस प्रकार, वर्गीकरणकर्ता तीन बिंदुओं के किसी भी सेट को चकनाचूर नहीं कर सकता है और इसलिए VC आयाम 2 है।x1x2x3x1<x2<x3x1x2a<x1<b<x2x3x3

-

शायद यह अधिक उपयोगी क्लासिफायरियर के साथ स्पष्ट हो जाता है। चलो हाइपरप्लेन (2 डी में लाइनें) पर विचार करें।

तीन बिंदुओं का एक सेट खोजना आसान है, जिन्हें सही तरीके से वर्गीकृत किया जा सकता है, चाहे वे कैसे भी हों:

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

सभी संभावित लेबलिंग के लिए हम एक हाइपरप्लेन पा सकते हैं जो उन्हें पूरी तरह से अलग करता है।23=8

हालाँकि, हमें 4 बिंदुओं का कोई सेट नहीं मिल सकता है ताकि हम सभी संभावित लेबलिंग को सही ढंग से वर्गीकृत कर सकें । एक औपचारिक प्रमाण के बजाय, मैं एक दृश्य तर्क प्रस्तुत करने की कोशिश करता हूं:24=16

अभी के लिए मान लें, कि 4 अंक 4 पक्षों के साथ एक आकृति बनाते हैं। फिर एक हाइपरप्लेन ढूंढना असंभव है जो एक ही लेबल के साथ विपरीत कोनों को लेबल करने पर बिंदुओं को सही ढंग से अलग कर सकता है:

यदि वे 4 पक्षों के साथ एक आकृति नहीं बनाते हैं, तो दो "सीमा मामले" हैं: "बाहरी" बिंदुओं को या तो एक त्रिकोण बनाना चाहिए या सभी एक सीधी रेखा बनाते हैं। त्रिकोण के मामले में, यह देखना आसान है कि लेबलिंग जहां "इनर" बिंदु (या दो कोनों के बीच का बिंदु) को लेबल किया जाता है, दूसरों से अलग नहीं किया जा सकता है:

एक पंक्ति खंड के मामले में, एक ही विचार लागू होता है। यदि अंतिम बिंदुओं को अन्य बिंदुओं में से एक से अलग तरीके से लेबल किया जाता है, तो उन्हें हाइपरप्लेन द्वारा अलग नहीं किया जा सकता है।

चूंकि हमने 2 डी में 4 बिंदुओं के सभी संभावित फॉर्मूलेशन को कवर किया है, इसलिए हम यह निष्कर्ष निकाल सकते हैं कि कोई 4 बिंदु नहीं हैं जो बिखर सकते हैं। इसलिए, कुलपति आयाम 3 होना चाहिए।


1
> लेकिन फ़ंक्शन X1 = 0, x2 = 0, x3 = 0 प्राप्त कर सकता है। इसे सभी लेबल प्राप्त करने की आवश्यकता है?

मैंने यहां एक समान प्रश्न पूछा, datascience.stackexchange.com/questions/39064/… जो एक रैखिक परिकल्पना फ़ंक्शन के संदर्भ में है। क्या आप इसका जवाब देने में मदद कर सकते हैं?
सुहैल गुप्ता

3

किसी क्लासिफायर का वीसी आयाम निम्नलिखित तरीके से निर्धारित किया जाता है:

VC = 1
found = False
while True:
    for point_distribution in all possible point distributions of VC+1 points:
        allcorrect = True
        for classdist in every way the classes could be assigned to the classes:
            adjust classifier
            if classifier can't classify everything correct:
                allcorrect = False
                break
        if allcorrect:
            VC += 1
            continue
    break

इसलिए तीन बिंदुओं को रखने का केवल एक ही तरीका है कि इस बिंदु-प्लेसमेंट के बीच सभी संभावित वर्ग वितरण को सही तरीके से वर्गीकृत किया जा सके।

यदि आप तीन बिंदुओं को एक पंक्ति में नहीं रखते हैं, तो धारणा सही हो जाती है। लेकिन धारणा का कोई तरीका नहीं है कि आप 4 बिंदुओं के सभी संभावित वर्ग वितरणों को वर्गीकृत करें, चाहे आप बिंदुओं को कैसे रखें

आपका उदाहरण

आपकी सुविधाएँ । हर वर्गीकरण में कम से कम 1 आयाम है।R

VC-Dimension 2: यह सभी चार स्थितियों को सही ढंग से वर्गीकृत कर सकता है।

  1. अंक: 0 और 42
  2. वितरण:
    • class (0) = False, class (42) = False => इसे सही ढंग से वर्गीकृत करता हैa=1337,b=3141
    • class (0) = False, class (42) = True => इसे सही ढंग से वर्गीकृत करता हैa=40,b=1337
    • a=1,b=1
    • a=1,b=1337

VC-Dimension 3: नहीं, यह काम नहीं करता है। कक्षाओं की कल्पना करें trueऔर falseजैसा आदेश दिया जा रहा है True False True। आपका क्लासिफायर उस से नहीं निपट सकता। इसलिए इसमें 2 का VC-Dimension है।

सबूत

x1,x2,x3Rx1<x2<x3

x1x2x3

x1

ax1b
x2
x2<a or b<x2
ax1x1<x2b<x2
ax1b<x2<x3
x3
ax3b
b<x3। इसलिए इस क्लासिफायर के साथ किसी भी 3 अंक के सभी वर्ग वितरण को सही ढंग से वर्गीकृत करना संभव नहीं है। इसलिए इसमें वीसी का आयाम 3 नहीं है।

1
एक निरंतर वर्गीकारक कुलपति आयाम 0 (यहां तक कि बहस कर सकते हैं, हालांकि यह पहली जगह में एक वर्गीकारक नहीं माना जाना चाहिए) है
oW_

1
अरे हाँ। लेकिन हां, मैं ऐसी प्रणाली नहीं कहूंगा जो मशीन लर्निंग के संदर्भ में सभी क्लासिफायर पर डेटा के अनुकूल नहीं हो सकती।
मार्टिन थोमा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.