शर्तें किस तरह की हैं

इस यूनिट में, डिसिज़न ट्री बनाने के लिए इस्तेमाल की जाने वाली अलग-अलग तरह की conditions पर फ़ोकस किया गया है.

ऐक्सिस-अलाइन बनाम तिरछी स्थितियां

ऐक्सिस पर अलाइन शर्त में सिर्फ़ एक सुविधा होती है. तिरछी शर्त में कई सुविधाएं शामिल होती हैं. उदाहरण के लिए, यह कंडिशन ऐक्सिस-अलाइन्ड है:

num_legs ≥ 2

हालांकि, ये शर्तें तिरछी हैं:

num_legs ≥ num_fingers

अक्सर, डिसिज़न ट्री सिर्फ़ ऐक्सिस-अलाइन्ड स्थितियों के हिसाब से डिज़ाइन किए जाते हैं. हालांकि, तिरछा विभाजन ज़्यादा असरदार होता है, क्योंकि वे ज़्यादा मुश्किल पैटर्न बता सकते हैं. कुछ समय के लिए, ऑब्लिक स्प्लिट से बेहतर नतीजे मिलते हैं. इसके लिए ट्रेनिंग और अनुमानित कीमत ज़्यादा होती है.

YDF कोड
YDF में, डिसिज़न ट्री को डिफ़ॉल्ट रूप से ऐक्सिस-अलाइन्ड स्थिति के हिसाब से ट्रेनिंग दी जाती है. split_axis="SPARSE_OBLIQUE" पैरामीटर की मदद से, डिसिज़न ऑब्लिक ट्री को चालू किया जा सकता है.

ऐक्सिस-अलाइन्ड स्थिति "num_legs >= 3" है. तिरछा स्थिति
  "num_legs + वेट * 5 >= 12" है.

चौथी इमेज. ऐक्सिस पर दी गई स्थिति और तिरछी शर्त के उदाहरण.

 

पिछली दो शर्तों का ग्राफ़ बनाने पर, नीचे दी गई सुविधा के स्पेस का पता चलता है:

वज़न बनाम num_legs ग्राफ़. ऐक्सिस-अलाइन्ड कंडिशन, वज़न पर ध्यान नहीं देती. इसलिए, यह सिर्फ़ एक वर्टिकल लाइन होती है. तिरछी स्थिति, नेगेटिव ढलान वाली लाइन को दिखाती है.

पांचवी इमेज. इमेज 4 में शर्तों के लिए फ़ीचर स्पेस सेपरेशन.

 

बाइनरी बनाम नॉन-बाइनरी स्थितियां

दो संभावित नतीजों वाली शर्तों (जैसे, सही या गलत) को बाइनरी कंडिशन कहा जाता है. सिर्फ़ बाइनरी कंडिशन वाले डिसिज़न ट्री को बाइनरी डिसिज़न ट्री कहा जाता है.

अन्य स्थितियों में दो से ज़्यादा संभावित नतीजे मिल सकते हैं. इसलिए, बाइनरी स्थितियों की तुलना में, नॉन-बाइनरी स्थितियों में ज़्यादा विभेदक क्षमता होती है. एक या ज़्यादा नॉन-बाइनरी कंडिशन वाले फ़ैसलों को नॉन-बाइनरी डिसिज़न ट्री कहा जाता है.

बाइनरी और नॉन-बाइनरी डिसिज़न ट्री की तुलना. बाइनरी डिसिज़न ट्री में
  दो बाइनरी शर्तें होती हैं. नॉन-बाइनरी डिसिज़न ट्री में
  एक नॉन-बाइनरी कंडिशन होती है.

इमेज 6: बाइनरी बनाम नॉन-बाइनरी डिसिज़न ट्री.

 

ज़्यादा पावर वाली स्थितियों में, ज़्यादा फ़िट होने की संभावना भी ज़्यादा होती है. इस वजह से, आम तौर पर डिसिज़न फ़ॉरेस्ट, बाइनरी डिसिज़न ट्री का इस्तेमाल करते हैं. इसलिए, इस कोर्स में उन पर फ़ोकस किया जाएगा.

सबसे सामान्य स्थिति थ्रेशोल्ड कंडीशन है, जिसे इस तरह से दिखाया जाता है:

featurethreshold

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

num_legs ≥ 2

दूसरी तरह की शर्तें भी मौजूद हैं. आम तौर पर इस्तेमाल की जाने वाली अन्य तरह की बाइनरी शर्तों के बारे में नीचे बताया गया है:

 

टेबल 2. सामान्य तरह की बाइनरी शर्तें.

नाम स्थिति उदाहरण
थ्रेशोल्ड की शर्त $\mathrm{feature}_i \geq \mathrm{threshold}$ $\mathrm{num\_legs} \geq 2$
बराबरी की शर्त $\mathrm{feature}_i = \mathrm{value}$ $\mathrm{species} = ``बिल्ली"$
इन-सेट स्थिति $\mathrm{feature}_i \in \mathrm{collection}$ $\mathrm{species} \in \{``cat", ``कुत्ता", ``पक्षी"\}$
तिरछी शर्त $\sum_{i} \mathrm{weight}_i \mathrm{feature}_i \geq \mathrm{threshold}$ $5 \ \mathrm{num\_legs} + 2 \ \mathrm{num\_eyes} \geq 10$
सुविधा मौजूद नहीं है $\mathrm{feature}_i \mathrm{is} \mathrm{).$ मौजूद नहीं $\mathrm{num\_legs} \mathrm{is} \mathrm{missing}$