यदि उचित देखभाल के बिना उपयोग किया जाता है तो एक रेखीय प्रतिगमन / क्लासिफायरफायर बिल्कुल ओवरफिट हो सकता है।
यहाँ एक छोटा सा उदाहरण है। चलो दो वैक्टर बनाते हैं, पहला केवल यादृच्छिक सिक्का फ़्लिप है:5000
set.seed(154)
N <- 5000
y <- rbinom(N, 1, .5)
दूसरा वेक्टर अवलोकन है, प्रत्येक को 500 यादृच्छिक वर्गों में से एक को दिया गया है :5000500
N.classes <- 500
rand.class <- factor(sample(1:N.classes, N, replace=TRUE))
हमारे फ़्लिप y
और हमारे यादृच्छिक वर्गों के बीच कोई संबंध नहीं होना चाहिए rand.class
, वे पूरी तरह से स्वतंत्र रूप से निर्धारित किए गए थे।
फिर भी, यदि हम लॉजिस्टिक रिग्रेशन (एक रैखिक क्लासिफायरियर) का उपयोग करके यादृच्छिक वर्ग के साथ यादृच्छिक फ्लिप की भविष्यवाणी करने का प्रयास करते हैं, तो यह सुनिश्चित करता है कि एक संबंध है।
M <- glm(y ~ rand.class, family="binomial")
hist(coef(M), breaks=50)
इन गुणांक में से हर एक का वास्तविक मूल्य शून्य है। लेकिन जैसा कि आप देख सकते हैं, हमारे पास काफी फैला हुआ है। यह रैखिक क्लासिफायरफायर ओवरफिट के लिए है।
- 1515y == 1
y == 0
15
"ओवरफिटिंग" को औपचारिक रूप से परिभाषित नहीं किया जाता है। ऐसा क्यों है?
ओवरफिटिंग को उन मॉडलों के वर्ग के संदर्भ में सबसे अच्छा समझा जा सकता है जिनमें कुछ जटिलता पैरामीटर हैं। इस मामले में, एक मॉडल को ओवरफिट कहा जा सकता है जब नमूना प्रदर्शन से बेहतर अपेक्षित रूप से जटिलता थोड़ा कम हो जाती है।
किसी मॉडल को स्वतंत्र रूप से अवधारणा को ठीक से परिभाषित करना बहुत मुश्किल होगा। एक एकल मॉडल बस फिट है, आपको इसे खत्म करने या फिट करने के लिए इसकी तुलना करने के लिए कुछ चाहिए। इस तुलना के ऊपर मेरे उदाहरण में सच्चाई के साथ था, लेकिन आप आमतौर पर सच्चाई नहीं जानते हैं, इसलिए मॉडल!
क्या इस तरह की औपचारिकता के लिए प्रशिक्षण और परीक्षण सेट के प्रदर्शन के बीच कुछ दूरी मापी जाएगी?
इस तरह की एक अवधारणा है, इसे आशावाद कहा जाता है। यह इसके द्वारा परिभाषित किया गया है:
ω = ईपरीक्षा- ईरेल गाडी
इ
यह हालांकि ओवरफिटिंग के सार पर नहीं मिलता है, क्योंकि एक परीक्षण सेट पर प्रदर्शन ट्रेन की तुलना में काफी खराब हो सकता है, भले ही उच्च जटिलता का एक मॉडल दोनों घटता है ।