मैं समझता हूं कि "ओवरफिटिंग" का क्या मतलब है, लेकिन मुझे वास्तविक दुनिया के उदाहरण के साथ आने के लिए मदद की जरूरत है जो ओवरफिटिंग पर लागू होती है।
मैं समझता हूं कि "ओवरफिटिंग" का क्या मतलब है, लेकिन मुझे वास्तविक दुनिया के उदाहरण के साथ आने के लिए मदद की जरूरत है जो ओवरफिटिंग पर लागू होती है।
जवाबों:
यहाँ xkcd से राष्ट्रपति चुनाव समय श्रृंखला मॉडल का एक अच्छा उदाहरण है:
केवल 56 राष्ट्रपति चुनाव और 43 राष्ट्रपति हुए हैं। इससे सीखने के लिए बहुत अधिक डेटा नहीं है। जब भविष्यवक्ता अंतरिक्ष में झूठे दांत और नाम के स्क्रैबल बिंदु मूल्य जैसी चीजों को शामिल करने का विस्तार करता है, तो मॉडल के लिए डेटा (सिग्नल) के सामान्य व्यवहार योग्य फीचर्स से फिटिंग करना और शोर का मिलान शुरू करना बहुत आसान है। जब ऐसा होता है, तो ऐतिहासिक आंकड़ों पर फिट सुधार हो सकता है, लेकिन भविष्य के राष्ट्रपति चुनावों के बारे में अनुमान लगाने के लिए मॉडल बुरी तरह से विफल हो जाएगा।
मेरा पसंदीदा समय बनाम अमेरिकी जनगणना की आबादी का मतलाब उदाहरण था:
(कम से कम मुझे पूरी उम्मीद है कि यह ओवरफिटिंग का एक उदाहरण है)
http://www.mathworks.com/help/curvefit/examples/polynomial-curve-fitting.html#zmw57dd0e115
चेन एट अल का अध्ययन। (2013) अक्षांश के एक समारोह के रूप में जीवन प्रत्याशा में एक निश्चित असंतोष के लिए दो घन फिट बैठता है।
चेन वाई।, एबेनस्टीन, ए।, ग्रीनस्टोन, एम।, और ली, एच। 2013. चीन की हुई नदी नीति से जीवन प्रत्याशा पर वायु प्रदूषण के निरंतर संपर्क के प्रभाव पर साक्ष्य। नेशनल एकेडमी ऑफ साइंसेज की कार्यवाही 110: 12936–12941। सार
एक उत्कृष्ट पत्रिका इत्यादि में इसके प्रकाशन के बावजूद, प्रतिष्ठित लोगों द्वारा इसके मौन समर्थन, आदि, मैं अभी भी इसे ओवर-फिटिंग के एक प्रथम दृष्टया उदाहरण के रूप में प्रस्तुत करूंगा ।
एक टेल-टेल साइन क्यूबिक्स की अंतर्निहितता है। क्यूबिक रूप से निहित होने का मतलब यह है कि जीवन प्रत्याशा अक्षांश के तीसरे-डिग्री बहुपद के रूप में भिन्न होगी जहां आप रहते हैं। ऐसा लगता है कि यह असंभव है: एक प्रशंसनीय भौतिक तंत्र की कल्पना करना आसान नहीं है जो इस तरह के प्रभाव का कारण होगा।
इस पेपर के अधिक विस्तृत विश्लेषण के लिए निम्नलिखित ब्लॉग पोस्ट भी देखें: कारण अनुमान पर बहुपद प्रतिगमन के निरंतर उपयोग के प्रभाव पर साक्ष्य (दावा है कि कोयला तापन आधा अरब लोगों के लिए जीवनकाल को 5 साल कम कर रहा है) ।
एक में मार्च 14, 2014 में लेख विज्ञान , डेविड लेज़र, रयान कैनेडी, गैरी किंग, और एलेसेंड्रो वेस्पिगनानी में समस्याओं की पहचान Google फ़्लू रुझान है कि वे overfitting से जोड़कर देखते हैं।
यहां बताया गया है कि वे कहानी कैसे सुनाते हैं, जिसमें ओवरफिटिंग की प्रकृति के बारे में उनकी व्याख्या शामिल है और यह एल्गोरिथ्म विफल क्यों हुआ:
फरवरी 2013 में ... नेचर ने बताया कि जीएफटी सेंटर फॉर डिजीज कंट्रोल एंड प्रिवेंशन (सीडीसी) की तुलना में इन्फ्लूएंजा जैसी बीमारी (ILI) के लिए डॉक्टर विजिट के दोगुने से अधिक होने का अनुमान लगा रहा था। यह इस तथ्य के बावजूद हुआ कि सीडीसी रिपोर्टों का अनुमान लगाने के लिए जीएफटी का निर्माण किया गया था। ...
अनिवार्य रूप से, 1152 डेटा बिंदुओं को फिट करने के लिए कार्यप्रणाली को 50 मिलियन खोज शब्दों के बीच सबसे अच्छे मैच खोजने थे। खोज की शर्तों को खोजने की संभावनाएं जो फ्लू की प्रवृत्ति से मेल खाती हैं लेकिन संरचनात्मक रूप से असंबंधित हैं, और इसलिए भविष्य की भविष्यवाणी नहीं करते हैं, काफी अधिक थे। जीएफटी डेवलपर्स, वास्तव में, मौसमी खोज शब्दों को फ्लू से असंबंधित करते हुए रिपोर्ट करते हैं, लेकिन सीडीसी डेटा के लिए दृढ़ता से सहसंबद्ध हैं, जैसे कि हाई स्कूल बास्केटबॉल के बारे में। यह एक चेतावनी होनी चाहिए कि बड़े डेटा डेटा विश्लेषण में मानक मामलों की छोटी संख्या से अधिक चिंता का विषय थे। अजीबोगरीब खोज शब्द फेंकने का यह तदर्थ तरीका तब विफल हो गया जब GFT पूरी तरह से 2009 के इन्फ्लूएंजा A-H1N1 महामारी से चूक गया।
[महत्व दिया।]
मैंने कुछ हफ़्ते पहले इस छवि को देखा था और सोचा था कि यह सवाल पर प्रासंगिक था।
अनुक्रम को रैखिक रूप से फिट करने के बजाय, इसे एक चतुर्थक बहुपद के साथ फिट किया गया था, जो बिल्कुल फिट था, लेकिन एक स्पष्ट रूप से हास्यास्पद जवाब था।
मेरे लिए सबसे अच्छा उदाहरण खगोल विज्ञान में टॉलेमिक प्रणाली है। टॉलेमी मान लिया है कि पृथ्वी ब्रह्मांड के केंद्र में है, और नेस्ट परिपत्र कक्षाओं का एक परिष्कृत प्रणाली है, जो होगा बनाया समझाने बहुत अच्छी तरह से आसमान पर वस्तु के आंदोलनों। खगोलविदों को विचलन को समझाने के लिए हलकों को जोड़ते रहना था, जब तक कि एक दिन यह इतना जटिल न हो जाए कि लोगों को संदेह होने लगे। जब कोपर्निकस एक अधिक यथार्थवादी मॉडल के साथ आया था।
यह मेरे लिए ओवरफिटिंग का सबसे अच्छा उदाहरण है। आप डेटा जनरेट करने की प्रक्रिया (DGP) को डेटा से अधिक नहीं कर सकते। आप केवल गलत वर्तनी वाले मॉडल को ओवरफिट कर सकते हैं। सामाजिक विज्ञानों में हमारे लगभग सभी मॉडल गलत तरीके से बनाए गए हैं, इसलिए कुंजी को यह याद रखना है, और उन्हें अपने पास रखना है। डेटा सेट के हर पहलू को पकड़ने की कोशिश नहीं, बल्कि सरलीकरण के माध्यम से आवश्यक सुविधाओं को पकड़ने की कोशिश करें।
मान लीजिए कि आपके पास एक ग्राफ़ पर 100 डॉट्स हैं।
आप कह सकते हैं: हम्म, मैं अगले एक की भविष्यवाणी करना चाहता हूं।
यहाँ आप इस उदाहरण के लिए एक सरल चित्रण देख सकते हैं:
उच्च बहुपद आदेश, बेहतर यह मौजूदा बिंदुओं को फिट करेगा।
हालाँकि, उच्च क्रम के बहुपद, डॉट्स के लिए बेहतर मॉडल होने के बावजूद, वास्तव में उन्हें ओवरफिट कर रहे हैं। यह सही डेटा वितरण के बजाय शोर को मॉडल करता है।
परिणामस्वरूप, यदि आप अपने पूरी तरह से फिटिंग वक्र के साथ ग्राफ में एक नया बिंदु जोड़ते हैं, तो यह संभवतः वक्र से दूर होगा यदि आपने एक सरल कम क्रम बहुपद का उपयोग किया था।
फुकुशिमा आपदा में योगदान के लिए किया गया विश्लेषण ओवरफिटिंग का एक उदाहरण है। पृथ्वी विज्ञान में एक प्रसिद्ध संबंध है जो "कम" भूकंपों की मनाया आवृत्ति को देखते हुए, एक निश्चित आकार के भूकंप की संभावना का वर्णन करता है। इसे गुटेनबर्ग-रिक्टर रिलेशनशिप के रूप में जाना जाता है, और यह कई दशकों में एक सीधी रेखा लॉग फिट प्रदान करता है। रिएक्टर के आसपास के क्षेत्र में भूकंप के जोखिम का विश्लेषण (नैट सिल्वर की उत्कृष्ट पुस्तक "द सिग्नल एंड द नॉइज़" के आरेख) डेटा में "किंक" दिखाते हैं। किंक को नजरअंदाज करने से 300 में से 1 के रूप में 9 भूकंप के वार्षिक जोखिम का अनुमान होता है - निश्चित रूप से कुछ के लिए तैयार करना। हालाँकि, एक दोहरी ढलान रेखा को ओवरफिट करना (जैसा कि जाहिरा तौर पर रिएक्टरों के लिए प्रारंभिक जोखिम मूल्यांकन के दौरान किया गया था) 13,000 वर्षों में जोखिम 1 को कम कर देता है। इस तरह के एक अप्रत्याशित घटना का सामना करने के लिए रिएक्टरों को डिजाइन नहीं करने के लिए इंजीनियरों को गलती नहीं हो सकती है - लेकिन एक निश्चित रूप से उन सांख्यिकीविदों को दोष देना चाहिए जिन्होंने डेटा को ओवरफिट किया (और फिर अतिरिक्त रूप से) ...
"ए जी! पैट कंपनी छोड़ रहा है। हम कभी कैसे एक प्रतिस्थापन खोजने जा रहे हैं?"
नौकरी की पोस्टिंग:
वांटेड: इलेक्ट्रिकल इंजीनियर। इलेक्ट्रिकल इंजीनियरिंग, गणित, और पशुपालन में डिग्री के साथ 42 साल का उम्रदराज व्यक्ति। भूरे बालों के साथ 68 इंच लंबा होना चाहिए, बाईं आंख पर एक तिल, और 'काउंसिल' शब्द के दुरुपयोग के खिलाफ लंबे घुमावदार डायट्रिब्यूट्स का खतरा है।
गणितीय अर्थ में, ओवरफिटिंग अक्सर आवश्यक से अधिक मापदंडों के साथ एक मॉडल बनाने की ओर इशारा करता है, जिसके परिणामस्वरूप एक विशिष्ट डेटा सेट के लिए बेहतर फिट होता है, लेकिन ब्याज के वर्ग से अन्य डेटा सेटों को फिट करने के लिए आवश्यक प्रासंगिक विवरणों को कैप्चर किए बिना।
उपरोक्त उदाहरण में, पोस्टर अप्रासंगिक विशेषताओं से प्रासंगिक को अलग करने में असमर्थ है। परिणामी योग्यता की संभावना केवल एक व्यक्ति से मिलती है जिसे वे पहले से जानते हैं कि वह नौकरी के लिए सही है (लेकिन अब यह नहीं चाहता है)।
यह एक बना हुआ है, लेकिन मुझे उम्मीद है कि यह मामले को स्पष्ट करेगा।
उदाहरण 1
set.seed(123)
k <- 100
data <- replicate(k, rnorm(100))
colnames(data) <- make.names(1:k)
data <- as.data.frame(data)
अब, आइए इसे एक रेखीय प्रतिगमन फिट करते हैं:
fit <- lm(X1 ~ ., data=data)
और यहाँ पहले दस भविष्यवक्ताओं के लिए एक सारांश है:
> summary(fit)
Call:
lm(formula = X1 ~ ., data = data)
Residuals:
ALL 100 residuals are 0: no residual degrees of freedom!
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.502e-01 NA NA NA
X2 3.153e-02 NA NA NA
X3 -6.200e-01 NA NA NA
X4 7.087e-01 NA NA NA
X5 4.392e-01 NA NA NA
X6 2.979e-01 NA NA NA
X7 -9.092e-02 NA NA NA
X8 -5.783e-01 NA NA NA
X9 5.965e-01 NA NA NA
X10 -8.289e-01 NA NA NA
...
Residual standard error: NaN on 0 degrees of freedom
Multiple R-squared: 1, Adjusted R-squared: NaN
F-statistic: NaN on 99 and 0 DF, p-value: NA
परिणाम बहुत अजीब लग रहे हैं, लेकिन चलो इसे साजिश करते हैं।
> sum(abs(data$X1-fitted(fit)))
[1] 0
यह शून्य है, इसलिए भूखंड हमारे पास नहीं थे: मॉडल पूरी तरह से फिट बैठता है। और वर्गीकरण में यह कितना सटीक है?
> sum(data$X1==fitted(fit))
[1] 100
उदाहरण 2
एक और उदाहरण। कुछ और डेटा बनाते हैं:
data2 <- cbind(1:10, diag(10))
colnames(data2) <- make.names(1:11)
data2 <- as.data.frame(data2)
तो यह इस तरह दिखता है:
X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11
1 1 1 0 0 0 0 0 0 0 0 0
2 2 0 1 0 0 0 0 0 0 0 0
3 3 0 0 1 0 0 0 0 0 0 0
4 4 0 0 0 1 0 0 0 0 0 0
5 5 0 0 0 0 1 0 0 0 0 0
6 6 0 0 0 0 0 1 0 0 0 0
7 7 0 0 0 0 0 0 1 0 0 0
8 8 0 0 0 0 0 0 0 1 0 0
9 9 0 0 0 0 0 0 0 0 1 0
10 10 0 0 0 0 0 0 0 0 0 1
और अब इसे एक रेखीय प्रतिगमन फिट करने देता है:
fit2 <- lm(X1~., data2)
इसलिए हमें निम्नलिखित अनुमान मिलते हैं:
> summary(fit2)
Call:
lm(formula = X1 ~ ., data = data2)
Residuals:
ALL 10 residuals are 0: no residual degrees of freedom!
Coefficients: (1 not defined because of singularities)
Estimate Std. Error t value Pr(>|t|)
(Intercept) 10 NA NA NA
X2 -9 NA NA NA
X3 -8 NA NA NA
X4 -7 NA NA NA
X5 -6 NA NA NA
X6 -5 NA NA NA
X7 -4 NA NA NA
X8 -3 NA NA NA
X9 -2 NA NA NA
X10 -1 NA NA NA
X11 NA NA NA NA
Residual standard error: NaN on 0 degrees of freedom
Multiple R-squared: 1, Adjusted R-squared: NaN
F-statistic: NaN on 9 and 0 DF, p-value: NA
यह बहुत आत्म-व्याख्यात्मक है। आप उदाहरण 1 को उदाहरण 2 के समान समझ सकते हैं लेकिन कुछ "शोर" के साथ। यदि आपके पास पर्याप्त बड़ा डेटा है और इसका उपयोग "कुछ" भविष्यवाणी करने के लिए करते हैं, तो कभी-कभी एक "सुविधा" आपको समझा सकती है कि आपके पास एक "पैटर्न" है जो आपके आश्रित चर का अच्छी तरह से वर्णन करता है, जबकि यह सिर्फ एक संयोग हो सकता है। में उदाहरण 2 कुछ भी नहीं सच में भविष्यवाणी की है, लेकिन वास्तव में एक ही में हुआ है उदाहरण 1 बस चरों के मान भिन्न थे।
वास्तविक जीवन के उदाहरण
इसके लिए वास्तविक जीवन का उदाहरण 11 सितंबर 2001 को "पैटर्न" को संख्याओं में अनियमित रूप से आतंकवादी हमलों की भविष्यवाणी करना है, जो कि वैश्विक चेतना परियोजना द्वारा कंप्यूटर छद्म आयामी संख्या जनरेटर द्वारा बेतरतीब ढंग से तैयार किए गए हैं या "मोबी डिक" में "गुप्त संदेश" जो प्रसिद्ध लोगों की हत्याओं के बारे में तथ्यों को प्रकट करते हैं। ( बाइबिल में इसी तरह के निष्कर्षों से प्रेरित )।
निष्कर्ष
यदि आप पर्याप्त रूप से कठिन दिखते हैं, तो आपको कुछ भी "पैटर्न" मिलेगा। हालाँकि, वे पैटर्न आपको ब्रह्मांड के बारे में कुछ भी जानने नहीं देंगे और आपको किसी भी सामान्य निष्कर्ष तक पहुँचने में मदद नहीं करेंगे। वे आपके डेटा के लिए पूरी तरह से फिट होंगे, लेकिन बेकार हो जाएगा क्योंकि वे कुछ और नहीं तो डेटा ही फिट होगा। वे आपको किसी भी उचित आउट-ऑफ-सैंपल पूर्वानुमान की अनुमति नहीं देंगे, क्योंकि वे क्या करेंगे, क्या वे डेटा का वर्णन करने के बजाय नकल करेंगे।
एक सामान्य समस्या जो वास्तविक जीवन में ओवरफिटिंग के परिणामस्वरूप होती है, वह यह है कि एक सही ढंग से निर्दिष्ट मॉडल के लिए शब्दों के अलावा, हमने कुछ विलुप्त होने वाली चीज़ों को जोड़ा हो सकता है: सही शब्दों के अप्रासंगिक शक्तियां (या अन्य परिवर्तन), अप्रासंगिक चर, या अप्रासंगिक बातचीत।
यह कई रिग्रेशन में होता है यदि आप एक वैरिएबल जोड़ते हैं जो सही निर्दिष्ट मॉडल में नहीं दिखना चाहिए, लेकिन इसे छोड़ना नहीं चाहते क्योंकि आप लोप किए गए वैरिएबल पूर्वाग्रह से डरते हैं । बेशक, आपके पास यह जानने का कोई तरीका नहीं है कि आपने इसे गलत तरीके से शामिल किया है, क्योंकि आप पूरी आबादी को नहीं देख सकते हैं, केवल आपका नमूना है, इसलिए यह सुनिश्चित करने के लिए नहीं जान सकते कि सही विनिर्देश क्या है। (जैसा कि @Scortchi टिप्पणियों में बताती है, "सही" मॉडल विनिर्देशन जैसी कोई चीज नहीं हो सकती है - इस अर्थ में, मॉडलिंग का उद्देश्य "अच्छा पर्याप्त" विनिर्देशन ढूंढ रहा है; ओवरफिटिंग से बचने के लिए मॉडल जटिलता से बचना शामिल है) उपलब्ध डेटा से अधिक से अधिक निरंतर किया जा सकता है।) यदि आप ओवरफिटिंग का एक वास्तविक दुनिया उदाहरण चाहते हैं, तो यह हर बार होता हैआप सभी संभावित भविष्यवक्ताओं को एक प्रतिगमन मॉडल में फेंक देते हैं, क्या उनमें से किसी का भी वास्तव में प्रतिक्रिया से कोई संबंध नहीं है, क्योंकि एक बार दूसरों के प्रभाव आंशिक रूप से समाप्त हो जाते हैं।
इस प्रकार के ओवरफिटिंग के साथ, अच्छी खबर यह है कि इन अप्रासंगिक शब्दों को शामिल करने से आपके अनुमानकर्ताओं के पूर्वाग्रह का परिचय नहीं होता है, और बहुत बड़े नमूनों में अप्रासंगिक शब्दों के गुणांक शून्य के करीब होना चाहिए। लेकिन बुरी खबर भी है: क्योंकि आपके नमूने से सीमित जानकारी का उपयोग अब अधिक मापदंडों का अनुमान लगाने के लिए किया जा रहा है, यह केवल कम सटीकता के साथ कर सकता है - इसलिए वास्तव में प्रासंगिक शर्तों पर मानक त्रुटियां बढ़ जाती हैं। इसका मतलब यह भी है कि वे सही ढंग से निर्दिष्ट प्रतिगमन से अनुमानों की तुलना में सही मूल्यों से आगे होने की संभावना रखते हैं, जिसका अर्थ है कि यदि आपके व्याख्यात्मक चर के नए मूल्य दिए गए हैं, तो ओवरफीड मॉडल से भविष्यवाणियां कम सटीक होंगी। सही ढंग से निर्दिष्ट मॉडल।
यहां 2010 में 50 अमेरिकी राज्यों के लिए लॉग आबादी के खिलाफ लॉग जीडीपी का एक भूखंड है। 10 राज्यों का एक यादृच्छिक नमूना चुना गया था (लाल रंग में हाइलाइट किया गया था) और उस नमूने के लिए हम एक साधारण रैखिक मॉडल और 5 डिग्री की बहुपद फिट करते हैं। नमूने के लिए अंक, बहुपद की स्वतंत्रता की अतिरिक्त डिग्री है जो इसे सीधे रेखा की तुलना में अवलोकन किए गए डेटा के करीब "कुश्ती" करने देती है। लेकिन 50 राज्यों के पूरे संबंध लगभग एक रैखिक संबंध का पालन करते हैं, इसलिए कम जटिल मॉडल की तुलना में 40 आउट-ऑफ-सैंपल बिंदुओं पर बहुपद मॉडल का भविष्य कहनेवाला प्रदर्शन बहुत खराब है, खासकर जब एक्सट्रपलेशन करते हैं। बहुपद प्रभावी रूप से नमूने के कुछ यादृच्छिक संरचना (शोर) को फिट कर रहा था, जो व्यापक आबादी के लिए सामान्यीकरण नहीं करता था। यह विशेष रूप से नमूने की देखी गई सीमा से अधिक एक्सट्रपलेशन करने में खराब था।इस जवाब का यह संशोधन ।)
R
require(MASS) #for multivariate normal simulation
nsample <- 25 #sample to regress
nholdout <- 1e6 #to check model predictions
Sigma <- matrix(c(1, 0.5, 0.4, 0.5, 1, 0.3, 0.4, 0.3, 1), nrow=3)
df <- as.data.frame(mvrnorm(n=(nsample+nholdout), mu=c(5,5,5), Sigma=Sigma))
colnames(df) <- c("x1", "x2", "x3")
df$y <- 5 + 2 * df$x1 + rnorm(n=nrow(df)) #y = 5 + *x1 + e
holdout.df <- df[1:nholdout,]
regress.df <- df[(nholdout+1):(nholdout+nsample),]
overfit.lm <- lm(y ~ x1*x2*x3, regress.df)
correctspec.lm <- lm(y ~ x1, regress.df)
summary(overfit.lm)
summary(correctspec.lm)
holdout.df$overfitPred <- predict.lm(overfit.lm, newdata=holdout.df)
holdout.df$correctSpecPred <- predict.lm(correctspec.lm, newdata=holdout.df)
with(holdout.df, sum((y - overfitPred)^2)) #SSE
with(holdout.df, sum((y - correctSpecPred)^2))
require(ggplot2)
errors.df <- data.frame(
Model = rep(c("Overfitted", "Correctly specified"), each=nholdout),
Error = with(holdout.df, c(y - overfitPred, y - correctSpecPred)))
ggplot(errors.df, aes(x=Error, color=Model)) + geom_density(size=1) +
theme(legend.position="bottom")
यहाँ एक रन से मेरे परिणाम हैं, लेकिन विभिन्न उत्पन्न नमूनों के प्रभाव को देखने के लिए सिमुलेशन को कई बार चलाना सबसे अच्छा है।
> summary(overfit.lm)
Call:
lm(formula = y ~ x1 * x2 * x3, data = regress.df)
Residuals:
Min 1Q Median 3Q Max
-2.22294 -0.63142 -0.09491 0.51983 2.24193
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 18.85992 65.00775 0.290 0.775
x1 -2.40912 11.90433 -0.202 0.842
x2 -2.13777 12.48892 -0.171 0.866
x3 -1.13941 12.94670 -0.088 0.931
x1:x2 0.78280 2.25867 0.347 0.733
x1:x3 0.53616 2.30834 0.232 0.819
x2:x3 0.08019 2.49028 0.032 0.975
x1:x2:x3 -0.08584 0.43891 -0.196 0.847
Residual standard error: 1.101 on 17 degrees of freedom
Multiple R-squared: 0.8297, Adjusted R-squared: 0.7596
F-statistic: 11.84 on 7 and 17 DF, p-value: 1.942e-05
> summary(correctspec.lm)
Call:
lm(formula = y ~ x1, data = regress.df)
Residuals:
Min 1Q Median 3Q Max
-2.4951 -0.4112 -0.2000 0.7876 2.1706
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 4.7844 1.1272 4.244 0.000306 ***
x1 1.9974 0.2108 9.476 2.09e-09 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1.036 on 23 degrees of freedom
Multiple R-squared: 0.7961, Adjusted R-squared: 0.7872
F-statistic: 89.8 on 1 and 23 DF, p-value: 2.089e-09
> with(holdout.df, sum((y - overfitPred)^2)) #SSE
[1] 1271557
> with(holdout.df, sum((y - correctSpecPred)^2))
[1] 1052217
(और सही ढंग से निर्दिष्ट मॉडल की तुलना में ऐसा करने के लिए स्वतंत्रता की अधिक डिग्री थी, इसलिए "बेहतर" फिट का उत्पादन कर सकता था)। होल्डआउट सेट पर भविष्यवाणियों के लिए चुकता त्रुटियों के योग को देखें, जिसका उपयोग हमने प्रतिगमन गुणांक से अनुमान लगाने के लिए नहीं किया था, और हम देख सकते हैं कि ओवरफीड मॉडल ने कितना खराब प्रदर्शन किया है। वास्तव में सही ढंग से निर्दिष्ट मॉडल वह है जो सबसे अच्छी भविष्यवाणी करता है। हमें मॉडल का अनुमान लगाने के लिए उपयोग किए गए डेटा के सेट से परिणामों पर भविष्य कहनेवाला प्रदर्शन के हमारे आकलन को आधार नहीं बनाना चाहिए। यहाँ त्रुटियों का घनत्व प्लॉट है, जिसमें सही मॉडल विनिर्देशन में 0 के करीब अधिक त्रुटियां उत्पन्न होती हैं:
सिमुलेशन स्पष्ट रूप से कई प्रासंगिक वास्तविक जीवन स्थितियों का प्रतिनिधित्व करता है (बस किसी भी वास्तविक जीवन की प्रतिक्रिया की कल्पना करें जो एक एकल भविष्यवक्ता पर निर्भर करता है, और मॉडल में बाहरी "भविष्यवक्ताओं" सहित कल्पना करें) लेकिन लाभ है कि आप डेटा बनाने की प्रक्रिया के साथ खेल सकते हैं , नमूना आकार, ओवरफीड मॉडल की प्रकृति और इतने पर। यह सबसे अच्छा तरीका है कि आप ओवरफिटिंग के प्रभावों की जांच कर सकते हैं क्योंकि अवलोकन किए गए डेटा के लिए आपके पास आमतौर पर DGP तक पहुंच नहीं है, और यह अभी भी "वास्तविक" डेटा इस अर्थ में है कि आप इसकी जांच कर सकते हैं और इसका उपयोग कर सकते हैं। यहाँ कुछ सार्थक विचार दिए गए हैं जिन्हें आपको प्रयोग करना चाहिए:
n <- 1e6
Sigma
। बस इसे सकारात्मक अर्ध-निश्चित रखने के लिए याद रखें (जिसमें सममित होना शामिल है)। आपको पता होना चाहिए कि क्या आप मल्टीकोलिनरिटी को कम करते हैं, ओवरफीड मॉडल इतना बुरा प्रदर्शन नहीं करता है। लेकिन ध्यान रखें कि सहसंबंधी भविष्यवक्ता वास्तविक जीवन में होते हैं।df$y <- 5 + 2*df$x1 + rnorm(n=nrow(df))
df$y <- 5 + 2 * df$x1 + 0.1*df$x2 + 0.1*df$x3 + rnorm(n=nrow(df))
nsample <- 25
nsample <- 1e6
, यह कमजोर प्रभावों का अच्छी तरह से अनुमान लगा सकता है, और सिमुलेशन दिखाते हैं कि जटिल मॉडल में भविष्य कहनेवाला शक्ति है जो सरल को बेहतर बनाता है। यह दिखाता है कि "ओवरफ़िटिंग" मॉडल जटिलता और उपलब्ध डेटा दोनों का एक मुद्दा है।जब मैं इसे स्वयं समझने की कोशिश कर रहा था, तो मैंने वास्तविक वस्तुओं का वर्णन करने के साथ उपमाओं के संदर्भ में सोचना शुरू किया, इसलिए मुझे लगता है कि यह "वास्तविक दुनिया" है जैसा कि आप प्राप्त कर सकते हैं, यदि आप सामान्य विचार को समझना चाहते हैं:
कहते हैं कि आप किसी व्यक्ति को एक कुर्सी की अवधारणा का वर्णन करना चाहते हैं, ताकि वे एक वैचारिक मॉडल प्राप्त करें जो उन्हें भविष्यवाणी करने की अनुमति देता है कि क्या कोई नई वस्तु उन्हें मिल जाती है। आप आइकिया जाते हैं और कुर्सियों का एक नमूना प्राप्त करते हैं, और दो चर का उपयोग करके उनका वर्णन करना शुरू करते हैं: यह 4 पैरों वाली एक वस्तु है जहां आप बैठ सकते हैं। ठीक है, यह भी एक स्टूल या एक बिस्तर या कई अन्य चीजों का वर्णन कर सकता है। आपका मॉडल कमज़ोर हो रहा है, जैसे कि आप कोशिश कर रहे थे और बहुत कम चर के साथ एक जटिल वितरण को मॉडल करें - बहुत सारी गैर-कुर्सी चीजों को कुर्सियों के रूप में पहचाना जाएगा। तो, चलिए चर की संख्या बढ़ाते हैं, उदाहरण के लिए, ऑब्जेक्ट को पीछे करना होगा। अब आपके पास एक बहुत स्वीकार्य मॉडल है जो आपकी कुर्सियों के सेट का वर्णन करता है, लेकिन सामान्य रूप से एक नई वस्तु को एक के रूप में पहचाने जाने की अनुमति देता है। आपका मॉडल डेटा का वर्णन करता है, और भविष्यवाणी करने में सक्षम है। हालाँकि, मान लीजिए कि आपको एक सेट मिला है जहाँ सभी कुर्सियाँ काले या सफेद रंग की हैं, और लकड़ी की बनी हुई हैं। आप उन चर को अपने मॉडल में शामिल करने का निर्णय लेते हैं, और अचानक यह एक कुर्सी के रूप में एक प्लास्टिक की पीली कुर्सी की पहचान नहीं करेगा। इसलिए, आपने अपने मॉडल को ओवरफिट कर दिया है, आपने अपने डेटासेट की विशेषताओं को शामिल किया है जैसे कि वे सामान्य रूप से कुर्सियों की विशेषताएं थीं, (यदि आप चाहें, तो आपने "शोर" को "सिग्नल" के रूप में पहचाना है, अपने नमूने से यादृच्छिक भिन्नता की व्याख्या करके। पूरे "वास्तविक विश्व कुर्सियों" की एक विशेषता)। तो, आप या तो अपना नमूना बढ़ाते हैं और कुछ नई सामग्री और रंगों को शामिल करने की उम्मीद करते हैं, या अपने मॉडल में चर की संख्या को कम करते हैं। t एक कुर्सी के रूप में एक प्लास्टिक की पीली कुर्सी की पहचान करें। इसलिए, आपने अपने मॉडल को ओवरफिट कर दिया है, आपने अपने डेटासेट की विशेषताओं को शामिल किया है जैसे कि वे सामान्य रूप से कुर्सियों की विशेषताएं थीं, (यदि आप चाहें, तो आपने "शोर" को "सिग्नल" के रूप में पहचाना है, अपने नमूने से यादृच्छिक भिन्नता की व्याख्या करके। पूरे "वास्तविक विश्व कुर्सियों" की एक विशेषता)। तो, आप या तो अपना नमूना बढ़ाते हैं और कुछ नई सामग्री और रंगों को शामिल करने की उम्मीद करते हैं, या अपने मॉडल में चर की संख्या को कम करते हैं। t एक कुर्सी के रूप में एक प्लास्टिक की पीली कुर्सी की पहचान करें। इसलिए, आपने अपने मॉडल को ओवरफिट कर दिया है, आपने अपने डेटासेट की विशेषताओं को शामिल किया है जैसे कि वे सामान्य रूप से कुर्सियों की विशेषताएं थीं, (यदि आप चाहें, तो आपने "शोर" को "सिग्नल" के रूप में पहचाना है, अपने नमूने से यादृच्छिक भिन्नता की व्याख्या करके। पूरे "वास्तविक विश्व कुर्सियों" की एक विशेषता)। तो, आप या तो अपना नमूना बढ़ाते हैं और कुछ नई सामग्री और रंगों को शामिल करने की उम्मीद करते हैं, या अपने मॉडल में चर की संख्या को कम करते हैं।
यह आगे की जांच के तहत एक सरल उपमा और टूटना हो सकता है, लेकिन मुझे लगता है कि यह एक सामान्य अवधारणा के रूप में काम करता है ... मुझे बताएं कि क्या कुछ हिस्से को स्पष्टीकरण की आवश्यकता है।
भविष्य कहनेवाला मॉडलिंग में, विचार यह है कि मौजूद रुझानों की खोज के लिए हाथ में डेटा का उपयोग करें और जिसे भविष्य के डेटा के लिए सामान्यीकृत किया जा सकता है। अपने मॉडल में वैरिएबल को शामिल करके, जिनके कुछ मामूली, गैर-महत्वपूर्ण प्रभाव हैं आप इस विचार को छोड़ रहे हैं। आप जो कर रहे हैं, वह आपके विशिष्ट नमूने में विशिष्ट रुझानों पर विचार कर रहा है जो केवल एक सच्चे, अंतर्निहित प्रवृत्ति के बजाय यादृच्छिक शोर के कारण हैं। दूसरे शब्दों में, बहुत अधिक चर वाला एक मॉडल सिग्नल की खोज के बजाय शोर को फिट करता है।
यहाँ एक अतिरंजित चित्रण है जिसके बारे में मैं बात कर रहा हूँ। यहाँ डॉट्स प्रेक्षित डेटा हैं और लाइन हमारा मॉडल है। एक आदर्श फिट - एक महान मॉडल को देखो! लेकिन क्या हमें वास्तव में इस प्रवृत्ति का पता चला है या हम सिर्फ शोर करने के लिए उपयुक्त हैं? शायद बाद वाला।
खेल में ओवरफिटिंग का एक रूप काफी सामान्य है, अर्थात् भविष्य के परिणामों की भविष्यवाणी करने के लिए कोई अस्पष्ट या सबसे अच्छी अस्पष्ट शक्ति वाले पिछले परिणामों को समझाने के लिए पैटर्न की पहचान करना। इन "पैटर्न" की एक सामान्य विशेषता यह है कि वे अक्सर बहुत कम मामलों पर आधारित होते हैं ताकि शुद्ध मौका संभवतः पैटर्न के लिए सबसे प्रशंसनीय स्पष्टीकरण हो।
उदाहरण में चीजें शामिल हैं ("उद्धरण" मेरे द्वारा बनाए गए हैं, लेकिन अक्सर समान दिखते हैं)
टीम ए ने सभी एक्स गेम जीते हैं क्योंकि कोच ने अपनी जादुई लाल जैकेट पहनना शुरू कर दिया है।
समान:
हम प्लेऑफ के दौरान खुद को शेव नहीं कर रहे हैं, क्योंकि इससे हमें पिछले एक्स गेम जीतने में मदद मिली है।
कम अंधविश्वासी, लेकिन साथ ही ओवरफिटिंग का एक रूप:
बोरुसिया डॉर्टमुंड ने स्पेनिश प्रतिद्वंद्वी के लिए चैंपियंस लीग होम गेम कभी नहीं गंवाया जब उन्होंने पिछले बुंडेसलिगा खेल को दो से अधिक गोल से खो दिया हो, कम से कम एक बार खुद को स्कोर किया हो।
समान:
रोजर फेडरर ने अपने सभी डेविस कप यूरोपीय विरोधियों के लिए जीते हैं जब वह कम से कम उस ऑस्ट्रेलियन ओपन में सेमीफाइनल में पहुंचे थे।
पहले दो काफी स्पष्ट बकवास हैं (कम से कम मेरे लिए)। पिछले दो उदाहरण नमूने में पूरी तरह से सही हो सकते हैं (यानी, अतीत में), लेकिन मैं एक प्रतिद्वंद्वी के खिलाफ दांव लगाने में सबसे ज्यादा खुश रहूंगा, जो इस "सूचना" को डोर्टमंड की धड़कन मैड्रिड को हरा देने की संभावना को काफी प्रभावित करेगा, अगर वे 4 हार गए: पिछले शनिवार को शाल्के में 1 या फेडरर ने जोकोविच की पिटाई की, भले ही उन्होंने उस वर्ष ऑस्ट्रेलियन ओपन जीता हो।
यहाँ एक "वास्तविक दुनिया" उदाहरण है, इस अर्थ में कि कोई व्यक्ति अनुसंधान में इसके पार आया था, लेकिन इस अर्थ में कि यह कई सांख्यिकीय-विशिष्ट शब्दों के बिना हर रोज़ अवधारणाओं का उपयोग करता है। शायद यह कहने का यह तरीका कुछ लोगों के लिए अधिक उपयोगी होगा, जिनका प्रशिक्षण अन्य क्षेत्रों में है।
कल्पना करें कि आपके पास एक दुर्लभ बीमारी वाले रोगियों के डेटा के साथ एक डेटाबेस है। आप एक मेडिकल स्नातक छात्र हैं और यह देखना चाहते हैं कि क्या आप इस बीमारी के जोखिम कारकों को पहचान सकते हैं। इस अस्पताल में बीमारी के 8 मामले सामने आए हैं, और आपने उनके बारे में 100 यादृच्छिक जानकारी दर्ज की है: उम्र, दौड़, जन्म क्रम, क्या उनके पास एक बच्चे के रूप में खसरा है, जो भी हो। आपने इस बीमारी के बिना 8 रोगियों के लिए डेटा भी रिकॉर्ड किया है।
आप जोखिम कारकों के लिए निम्नलिखित अनुमान का उपयोग करने का निर्णय लेते हैं: यदि कोई कारक आपके रोगग्रस्त रोगियों में से किसी एक में अधिक मूल्य लेता है, लेकिन आपके नियंत्रण में, आप इसे जोखिम कारक मानेंगे। (वास्तविक जीवन में, आप एक बेहतर विधि का उपयोग करेंगे, लेकिन मैं इसे सरल रखना चाहता हूं)। आपको पता चलता है कि आपके 6 रोगी शाकाहारी हैं (लेकिन नियंत्रण में से कोई भी शाकाहारी नहीं है), 3 में स्वीडिश पूर्वज हैं, और उनमें से दो में हकलाने वाला भाषण दोष है। अन्य 97 कारकों में से, कुछ भी नहीं है जो एक से अधिक रोगियों में होता है, लेकिन नियंत्रणों के बीच मौजूद नहीं है।
वर्षों बाद, कोई और इस अनाथ बीमारी में दिलचस्पी लेता है और आपके शोध की नकल करता है। क्योंकि वह एक बड़े अस्पताल में काम करता है, जिसमें अन्य अस्पतालों के साथ डेटा-साझाकरण सहयोग है, वह आपके 8 मामलों के विपरीत, 106 मामलों के डेटा का उपयोग कर सकता है। और उसे पता चलता है कि हकलाने वालों की व्यापकता रोगी समूह और नियंत्रण समूह में समान है; हकलाना जोखिम का कारक नहीं है।
यहाँ क्या हुआ है कि आपके छोटे समूह में यादृच्छिक मौका द्वारा 25% हकलाना था। यह जानने का कोई तरीका नहीं है कि यह चिकित्सकीय रूप से प्रासंगिक है या नहीं। आपने यह निर्धारित करने के लिए मानदंड दिए थे कि जब आप डेटा में एक पैटर्न पर विचार करते हैं तो "दिलचस्प" को मॉडल में शामिल किया जाना पर्याप्त है, और इन मानदंडों के अनुसार, हकलाना काफी दिलचस्प था।
आपके मॉडल को ओवरफिट किया गया है, क्योंकि इसमें गलती से एक पैरामीटर शामिल है जो वास्तविक दुनिया में वास्तव में प्रासंगिक नहीं है। यह आपके नमूने पर फिट बैठता है - 8 रोगियों + 8 नियंत्रण - बहुत अच्छी तरह से, लेकिन यह वास्तविक दुनिया के आंकड़ों पर फिट नहीं बैठता है। जब कोई मॉडल वास्तविकता का वर्णन करने की तुलना में आपके नमूने का बेहतर वर्णन करता है, तो इसे ओवरफ़ीड कहा जाता है।
यदि आपने एक सुविधा वाले 8 रोगियों में से 3 का एक सीमा चुना था, तो ऐसा नहीं हुआ होगा - लेकिन आपके पास वास्तव में दिलचस्प कुछ याद करने का एक उच्च मौका होगा। विशेष रूप से चिकित्सा में, जहां कई बीमारियां केवल जोखिम कारक में प्रदर्शित होने वाले लोगों के एक छोटे से हिस्से में होती हैं, जो कि एक कठिन व्यापार है। और इससे बचने के तरीके हैं (मूल रूप से, एक दूसरे नमूने की तुलना करें और देखें कि क्या व्याख्या करने वाली शक्ति समान रहती है या गिरती है), लेकिन यह एक और प्रश्न का विषय है।
यहां ओवरफिटिंग का एक वास्तविक जीवन उदाहरण है, जिसे मैंने हमेशा के लिए समाप्त कर दिया और फिर प्रयास किया (असफल):
मेरे पास कई हज़ार स्वतंत्र, बाइवरिएट समय श्रृंखलाएं थीं, जिनमें से प्रत्येक में 50 से अधिक डेटा बिंदु नहीं थे, और मॉडलिंग परियोजना में हर एक के लिए वेक्टर ऑटोरेजेशन (VAR) शामिल था। अवलोकनों को नियमित करने, विचरण घटकों का अनुमान लगाने या ऐसा कुछ भी करने का कोई प्रयास नहीं किया गया। समय बिंदुओं को एक वर्ष के दौरान मापा गया था, इसलिए डेटा सभी प्रकार के मौसमी और चक्रीय प्रभावों के अधीन थे जो केवल प्रत्येक समय श्रृंखला में एक बार दिखाई देते थे।
डेटा के एक सबसेट ने डेटा के बाकी हिस्सों की तुलना में ग्रेंजर के कारण की एक उच्च दर प्रदर्शित की। स्पॉट चेक से पता चला कि इस सबसेट में एक या दो लैग के अलावा पॉजिटिव स्पाइक्स आ रहे थे, लेकिन इस संदर्भ से यह स्पष्ट था कि दोनों स्पाइक्स सीधे एक बाहरी स्रोत के कारण थे और एक स्पाइक दूसरे को पैदा नहीं कर रहा था । इस मॉडल का उपयोग करने वाले आउट-ऑफ-सैंपल के पूर्वानुमान शायद काफी गलत होंगे, क्योंकि मॉडल ओवरफिट थे: स्पाइक्स को "डेटा के बाकी हिस्सों में" औसत से "चौरसाई" करने के बजाय, कुछ पर्याप्त अवलोकन थे कि स्पाइक्स वास्तव में चला रहे थे अनुमान।
कुल मिलाकर, मुझे नहीं लगता कि परियोजना बुरी तरह से चली गई, लेकिन मुझे नहीं लगता कि यह परिणाम हैं जो कहीं भी उपयोगी थे जितना वे हो सकते थे। इसका एक कारण यह भी है कि कई स्वतंत्र-वार्स प्रक्रिया, यहां तक कि सिर्फ एक या दो लैग के साथ, डेटा और शोर के बीच अंतर करने में एक कठिन समय था, और इसलिए जानकारी के बारे में जानकारी प्रदान करने की कीमत पर उत्तरार्द्ध के लिए उपयुक्त था। पूर्व।
इस थ्रेड में कई बुद्धिमान लोग --- मैं की तुलना में आंकड़ों में बहुत अधिक पारंगत हूं। लेकिन मैं अभी भी ले-पर्सन उदाहरण के लिए आसानी से समझ में नहीं आता। प्रेसिडेंशियल उदाहरण ठेठ ओवरफिटिंग के मामले में बिल को बहुत प्रभावित नहीं करता है, क्योंकि जब यह तकनीकी रूप से अपने प्रत्येक जंगली दावों में ओवरफिटिंग कर रहा है, तो आमतौर पर ओवरफिटिंग मॉडल ओवरफिट्स-एकल-दिए गए शोर, इसका केवल एक तत्व नहीं है।
मुझे विकिपीडिया में पूर्वाग्रह-भिन्नता व्यापार व्याख्या में चार्ट वास्तव में पसंद है: http://en.wikipedia.org/wiki/Bias%E2%80%93variance_tradeoff
(सबसे निचला चार्ट ओवरफिटिंग का उदाहरण है)।
मैं एक वास्तविक दुनिया उदाहरण के बारे में सोचने के लिए कठोर हूं, जो पूरी तरह से मंबो-जंबो की तरह नहीं लगता है। यह विचार है कि डेटा औसत दर्जे का, समझने योग्य चर --- भाग यादृच्छिक शोर के कारण होता है। इस शोर को एक पैटर्न के रूप में पेश करने का प्रयास आपको अशुद्धि देता है।
एक उत्कृष्ट उदाहरण एमएस एक्सेल में R ^ 2 पर आधारित SOLELY मॉडलिंग कर रहा है (आप पॉलिनेओमील का उपयोग करके डेटा के लिए यथासंभव एक समीकरण / मॉडल को फिट करने का प्रयास कर रहे हैं, चाहे कितना भी निरर्थक हो)।
कहते हैं कि आप आइसक्रीम की बिक्री को तापमान के कार्य के रूप में करने की कोशिश कर रहे हैं। आपके पास "वास्तविक दुनिया" डेटा है। आप डेटा को प्लॉट करते हैं और R ^ 2 को अधिकतम करने का प्रयास करते हैं। आप वास्तविक दुनिया डेटा का उपयोग कर पाएंगे, निकटतम फिट समीकरण रेखीय या द्विघात नहीं है (जो तार्किक अर्थ होगा)। लगभग सभी समीकरणों की तरह, आप जितना अधिक निरर्थक बहुपद शब्द जोड़ते हैं (x ^ 6 -2x ^ 5 + 3x ^ 4 + 30x ^ 3-43.2x ^ 2-29x) - यह डेटा के जितना करीब होगा। तो यह कैसे समझदारी से आइसक्रीम की बिक्री के तापमान से संबंधित है? आप कैसे समझाएंगे कि हास्यास्पद बहुपद? सच है, यह सच मॉडल नहीं है। आपने डेटा ओवरफिट कर दिया है।
आप शोर के लिए बेहिसाब ले रहे हैं - जो शायद सेल्स प्रमोशन या किसी अन्य वैरिएबल या "नॉइज़" के कारण हो सकता है, जैसे कि तितली अपने पंखों को कॉसमॉस में फड़फड़ाती है (कुछ कभी अनुमान के मुताबिक नहीं) --- और तापमान के आधार पर मॉडल बनाने का प्रयास किया गया। अब आमतौर पर अगर आपका शोर / त्रुटि शून्य से औसत नहीं है या ऑटो-सहसंबंधित है, आदि, इसका मतलब है कि वहाँ और अधिक चर हैं --- और फिर अंततः आप आम तौर पर बेतरतीब ढंग से वितरित शोर को प्राप्त करते हैं, लेकिन फिर भी, यह सबसे अच्छा मैं कर सकता हूं इसे समझाओ।
मेरा पसंदीदा 1998 में विश्व कप फुटबॉल प्रतियोगिता से पहले खोजा गया "3964 सूत्र" है:
ब्राजील ने 1970 और 1994 में चैंपियनशिप जीती। इन 2 नंबरों को समेटो और आपको 3964 मिलेंगे; १ ९ Germany४ और १ ९९ ० में जर्मनी जीता, फिर से ३ ९ ६४ तक बढ़ा; अर्जेंटीना के साथ यही बात 1978 और 1986 (1978 + 1986 = 3964) में जीती।
यह एक बहुत ही आश्चर्यजनक तथ्य है, लेकिन हर कोई यह देख सकता है कि उस नियम पर भविष्य की भविष्यवाणी को आधार बनाना उचित नहीं है। और वास्तव में, नियम यह बताता है कि 1998 में विश्व कप का विजेता 1966 + 1998 = 3964 के बाद से इंग्लैंड होना चाहिए था और इंग्लैंड 1966 में जीता था। ऐसा नहीं हुआ और विजेता फ्रांस था।
थोड़ा सहज, लेकिन शायद यह मदद करेगा। मान लीजिए कि आप कुछ नई भाषा सीखना चाहते हैं। आप कैसे सीखते हैं? एक पाठ्यक्रम में नियमों को सीखने के बजाय, आप उदाहरणों का उपयोग करते हैं। विशेष रूप से, टीवी शो। इसलिए आपको क्राइम शो पसंद हैं, और आप कुछ पुलिस शो की कुछ श्रृंखलाएँ देखते हैं। फिर, आप एक और क्राइम शो लेते हैं और कुछ सीरीज़ फॉर्म देखते हैं। तीसरे शो में आप देखते हैं - आप लगभग सब कुछ जानते हैं, कोई समस्या नहीं है। आपको अंग्रेजी उपशीर्षक की आवश्यकता नहीं है।
लेकिन फिर आप अपनी अगली यात्रा पर अपनी नई सीखी हुई भाषा को सड़क पर आज़माते हैं, और आपको एहसास होता है कि आप "अधिकारी" के अलावा कुछ नहीं बोल सकते! उस आदमी ने मेरा बैग ले लिया और उस महिला को गोली मार दी! "। जबकि आपकी 'प्रशिक्षण त्रुटि' शून्य थी, आपकी 'परीक्षण त्रुटि' अधिक है, क्योंकि भाषा 'ओवरफिटिंग' के कारण, केवल शब्दों का एक सीमित उपसमूह का अध्ययन करती है और इसे पर्याप्त मानती है।