किसी भी क्रम में लगे जंगलों के उलट, ग्रेडिएंट बूस्ट किए गए पेड़ ज़्यादा फ़िट हो सकते हैं. इसलिए, जैसा कि न्यूरल नेटवर्क के लिए, नियमित और जल्दी बंद होने की सुविधा लागू करने के लिए पुष्टि करने वाला डेटासेट.
उदाहरण के लिए, नीचे दिए गए आंकड़े ट्रेनिंग के लिए नुकसान और सटीक होने की जानकारी से जुड़े कर्व दिखाते हैं और GBT मॉडल को ट्रेनिंग देते समय, पुष्टि करने के लिए सेट किया जा सकता है. ध्यान दें कि वक्रों में कितना विचलन होता है हैं, जो बहुत ज़्यादा ओवरफ़िटिंग होने का संकेत देती हैं.
इमेज 29. नुकसान बनाम डिसिज़न ट्री की संख्या.
इमेज 30. ऐक्यूरसी बनाम डिसिज़न ट्री की संख्या.
ग्रेडिएंट बूस्टेड ट्री के लिए सामान्य रेगुलराइज़ेशन पैरामीटर में ये शामिल हैं:
- पेड़ की ज़्यादा से ज़्यादा गहराई.
- श्रिंकेज रेट.
- हर नोड पर जांचे गए एट्रिब्यूट का अनुपात.
- L1 और L2 गुणांक.
ध्यान दें कि डिसिज़न ट्री आम तौर पर किसी भी जंगल की तुलना में बहुत उथले होते हैं मॉडल. डिफ़ॉल्ट रूप से, TF-DF में ग्रेडिएंट बूस्टेड ट्री को 6 गहराई तक बढ़ा दिया जाता है. पेड़ उथले होते हैं, इसलिए हर पत्ती के लिए कम से कम उदाहरणों की संख्या बहुत कम असर पड़ता है. साथ ही, आम तौर पर इसे उपलब्ध नहीं कराया जाता.
पुष्टि करने वाले डेटासेट की ज़रूरत तब होती है, जब ट्रेनिंग की संख्या उदाहरण छोटे हैं. इसलिए, ग्रेडिएंट बूस्ट किए गए पेड़ों को ट्रेनिंग देना आम बात है में एक क्रॉस-वैलिडेशन लूप हो, या जब मॉडल शुरू होने से पहले उसे बंद कर देता हो ज़्यादा फ़िट नहीं होती.
इस्तेमाल का उदाहरण
पिछले चैप्टर में, हमने एक छोटे डेटासेट पर एक रैंडम फ़ॉरेस्ट को ट्रेनिंग दी. इसमें उदाहरण के लिए, हम किसी भी रैंडम फ़ॉरेस्ट मॉडल को ग्रेडिएंट बूस्टिंग से बदल देंगे ट्री मॉडल:
model = tfdf.keras.GradientBoostedTreesModel()
# Part of the training dataset will be used as validation (and removed
# from training).
model.fit(tf_train_dataset)
# The user provides the validation dataset.
model.fit(tf_train_dataset, validation_data=tf_valid_dataset)
# Disable early stopping and the validation dataset. All the examples are
# used for training.
model.fit(
tf_train_dataset,
validation_ratio=0.0,
early_stopping="NONE")
# Note: When "validation_ratio=0", early stopping is automatically disabled,
# so early_stopping="NONE" is redundant here.
इस्तेमाल और सीमाएं
ग्रेडिएंट बूस्ट किए गए पेड़ों के कुछ फ़ायदे और नुकसान हैं.
फ़ायदे
- डिसिज़न ट्री की तरह, वे नेटिव तौर पर अंकों वाली और कैटगरी के हिसाब से काम करते हैं सुविधाएं मिलती हैं और अक्सर इन सुविधाओं को प्री-प्रोसेस करने की ज़रूरत नहीं होती.
- ग्रेडिएंट बूस्ट किए गए ट्री में डिफ़ॉल्ट हाइपर पैरामीटर होते हैं, जो अक्सर नतीजे. इसके बावजूद, उन हाइपर पैरामीटर को ट्यून करने से मॉडल को बेहतर बनाने में मदद करता है.
- ग्रेडिएंट बूस्ट किए गए ट्री मॉडल आम तौर पर छोटे होते हैं (नोड की संख्या में और तेज़) और तेज़ी से चलाया जा सकता है (अक्सर सिर्फ़ एक या कुछ μs / उदाहरण).
नुकसान
- डिसिज़न ट्री को क्रम से ट्रेन किया जाना चाहिए. इससे ट्रेनिंग देने में देरी हो सकती है काफ़ी हद तक मदद करते हैं. हालांकि, ट्रेनिंग कार्यक्रम में रुकावट डालने वाले कॉन्टेंट की वजह से डिसिज़न ट्री का साइज़ छोटा होना.
- किसी भी क्रम में लगे जंगलों की तरह, ग्रेडिएंट बूस्ट किए गए पेड़, अंदरूनी पेड़ों को सीख नहीं सकते और उनका फिर से इस्तेमाल नहीं कर सकते प्रतिनिधित्व. हर डिसिज़न ट्री (और हर डिसिज़न ट्री की हर ब्रांच) को डेटासेट पैटर्न दोबारा सीखना होगा. कुछ डेटासेट में, खास तौर पर डेटासेट में अनस्ट्रक्चर्ड डेटा (उदाहरण के लिए, इमेज, टेक्स्ट) से ग्रेडिएंट बूस्ट होता है अन्य तरीकों की तुलना में खराब नतीजे दिखाने के लिए ट्री का इस्तेमाल किया जाता है.