रैखिक Classifiers के साथ ओवरफिटिंग


10

आज हमारे प्राध्यापक ने कक्षा में बताया कि "रेखीय वर्गीय अक्षरों के साथ ओवरफिटिंग संभव नहीं है"। मुझे लगता है कि गलत होने के लिए, चूंकि रैखिक सेटिफ़ायर प्रशिक्षण सेट में आउटलेर्स के लिए संवेदनशील हो सकते हैं - उदाहरण के लिए एक कठिन मार्जिन का सहारा लें वेक्टर मशीन: एक एकल शोर डेटापॉइंट बदल सकता है जो हाइपरप्लेन को अलग-अलग डेटासेट के लिए उपयोग किया जाएगा। या मैं गलत हूँ? जाहिर है, कम मॉडल जटिलता के कारण रैखिकता शायद ओवरफिटिंग को रोकने से रोकती है, फिर भी मैं यह नहीं देखता कि ओवरफिटिंग असंभव क्यों होनी चाहिए। एक अतिरिक्त बात यह है कि जब मैंने इस समस्या के बारे में सोचने की कोशिश की तो मुझे महसूस हुआ कि "ओवरफिटिंग" को औपचारिक रूप से परिभाषित नहीं किया जाता है। ऐसा क्यों है? क्या इस तरह की औपचारिकता के लिए प्रशिक्षण और परीक्षण सेट के प्रदर्शन के बीच कुछ दूरी मापी जाएगी? धन्यवाद


4
आप लीनियर क्लासिफायर क्यों कहते हैं? अधिकांश रैखिक मॉडल भविष्यवाणी के लिए हैं, वर्गीकरण नहीं। और आप सही हैं - रैखिक मॉडल बहुत अधिक होने का खतरा हो सकता है। मशीन सीखने के तरीके जितना नहीं, लेकिन फिर भी ओवरफिटिंग एक समस्या हो सकती है।
फ्रैंक हरेल

5
लीनियर क्लासिफायर को ओवरफिट करना बहुत आसान है। बस कुछ डेटासेट (शोर, वास्तविक दुनिया) के लिए मॉडल फिट करें और किसी भी नियमितीकरण का उपयोग न करें।
व्लादिस्लाव डोवगलकेस

2
वर्गीकरण से सावधान रहें - आमतौर पर अपने स्थलों को कम करने की आवश्यकता नहीं होती है।
फ्रैंक हरेल

2
@FrankHarrell ... और क्यों?
पुगल

1
हां, यदि मूल रूप से द्विआधारी था। यदि Y मूल रूप से निरंतर था, तो वर्गीकरण और भी अधिक समस्याग्रस्त है। YY
फ्रैंक हरेल

जवाबों:


12

यदि उचित देखभाल के बिना उपयोग किया जाता है तो एक रेखीय प्रतिगमन / क्लासिफायरफायर बिल्कुल ओवरफिट हो सकता है।

यहाँ एक छोटा सा उदाहरण है। चलो दो वैक्टर बनाते हैं, पहला केवल यादृच्छिक सिक्का फ़्लिप है: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 == 1y == 015

"ओवरफिटिंग" को औपचारिक रूप से परिभाषित नहीं किया जाता है। ऐसा क्यों है?

ओवरफिटिंग को उन मॉडलों के वर्ग के संदर्भ में सबसे अच्छा समझा जा सकता है जिनमें कुछ जटिलता पैरामीटर हैं। इस मामले में, एक मॉडल को ओवरफिट कहा जा सकता है जब नमूना प्रदर्शन से बेहतर अपेक्षित रूप से जटिलता थोड़ा कम हो जाती है।

किसी मॉडल को स्वतंत्र रूप से अवधारणा को ठीक से परिभाषित करना बहुत मुश्किल होगा। एक एकल मॉडल बस फिट है, आपको इसे खत्म करने या फिट करने के लिए इसकी तुलना करने के लिए कुछ चाहिए। इस तुलना के ऊपर मेरे उदाहरण में सच्चाई के साथ था, लेकिन आप आमतौर पर सच्चाई नहीं जानते हैं, इसलिए मॉडल!

क्या इस तरह की औपचारिकता के लिए प्रशिक्षण और परीक्षण सेट के प्रदर्शन के बीच कुछ दूरी मापी जाएगी?

इस तरह की एक अवधारणा है, इसे आशावाद कहा जाता है। यह इसके द्वारा परिभाषित किया गया है:

ω=परीक्षा-रेल गाडी

यह हालांकि ओवरफिटिंग के सार पर नहीं मिलता है, क्योंकि एक परीक्षण सेट पर प्रदर्शन ट्रेन की तुलना में काफी खराब हो सकता है, भले ही उच्च जटिलता का एक मॉडल दोनों घटता है ।


वाह, क्या अच्छा जवाब है, बहुत धन्यवाद। एक सवाल: उदाहरण के लिए लॉग इन की तुलना में रैखिक एसवीएम कम होने का खतरा है। प्रतिगमन जिसका आपने उल्लेख किया है (रैखिक निर्णय सीमा के अनुकूलन के विभिन्न तरीकों के कारण)?
22

1
मुझे स्वीकार करना चाहिए, मैं एसवीएम पर कोई विशेषज्ञ नहीं हूं, और उनके उपयोग में व्यावहारिक अनुभव की कमी है। मैं वास्तव में एक जवाब और जोखिम को बहुत गलत होने का उपक्रम नहीं करना चाहता। यदि आप इसे सटीक रूप से तैयार कर सकते हैं, तो शायद यह स्वयं के प्रश्न के लायक है।
मैथ्यू ड्र्यू

एसवीएम को नियमित किया जाता है, और इसलिए ओवरफिट होने का खतरा कम होता है। यह महसूस करने के लिए कि आपको केवल उस फ़ंक्शन को देखना है जिसे आप कम कर रहे हैं: इसमें या तो l1 मानदंड या भार के L2 मान शामिल हैं, जो उन्हें अनुकूलन में सिकुड़ते हैं और इसलिए "सरल" मॉडल को "जटिल" मॉडल पसंद करते हैं। इसे नियंत्रित करने वाला पैरामीटर C हाइपर पैरामीटर है। सीमित मामले (C = infinity) में, SVM प्रशिक्षण सेट को पूरी तरह से "फिट" करता है और इस प्रकार यह शायद ओवरफिट हो जाता है (ध्यान दें कि मैंने कहा था कि, आपको यह सुनिश्चित करने के लिए एक परीक्षण सेट की आवश्यकता है!)। यह भी ध्यान दें कि मैंने बहुत सारे उद्धरणों का उपयोग किया है, लेकिन इसे ठीक से परिभाषित किया जा सकता है।
स्कंद

2

70-संबंधों में, बड़े डेटासेट पर पैटर्न मान्यता एल्गोरिदम के साथ प्रयोगों से पता चला है कि कुछ मामलों में किए गए अतिरिक्त सुविधाओं को जोड़ने से परीक्षण-सेट त्रुटि दर बढ़ जाती है। यह काउंटर सहज है क्योंकि कोई यह अपेक्षा करता है कि एक अतिरिक्त सुविधा को जोड़ने से हमेशा क्लासिफायर प्रदर्शन बढ़ जाता है, या यदि जोड़ा गया फीचर 'सफेद शोर' है, तो इसके अतिरिक्त क्लासिफायर प्रदर्शन को प्रभावित नहीं करता है। एक क्लासिफायर के लिए अभी भी अधिक अतिरिक्त सुविधाओं को जोड़ने का प्रभाव, अंततः परीक्षण-सेट प्रदर्शन में कमी के कारण अग्रणी घटना के रूप में जाना जाता है [1]।

सीखने के दौरान फ़ीचर पीक अधिक सामान्यीकरण के कारण होता है। अतिरिक्त सुविधाएँ इतने अतिरिक्त मापदंडों को शामिल करने का कारण बनती हैं कि क्लासिफायर डेटा को ओवरफिट करना शुरू कर देता है। इसलिए, चरम बिंदु को पारित किया जाता है।

सामान्य तौर पर, जब हम क्लासिफायरशिपरों का प्रशिक्षण लेते हैं, तो हम एक पूर्वाग्रह-भिन्नता व्यापार बंद का सामना करते हैं। हम जितने अधिक फीचर-वैरिएबल का उपयोग करते हैं, बेहतर ( अज्ञात ) अंतर्निहित क्लासिफायरियर मैकेनिज़्म को संभवतः हमारे क्लासिफायरियर द्वारा मॉडल किया जाएगा। इसलिए, फिट मॉडल और 'सत्य' के बीच व्यवस्थित विचलन कम हो जाएगा, अर्थात छोटे पूर्वाग्रह परिणाम। दूसरी ओर, क्लासिफायर का फीचर स्पेस बढ़ाने से जरूरी पैरामीटर (जो जोड़े गए फीचर्स फिट होते हैं) को जोड़ने का मतलब है। इस प्रकार, फिटेड क्लासिफायर का विचरण भी बढ़ जाता है।

तो चरम बिंदु पर पहुंचने वाले क्लासिफायर एक उच्च-आयामी वर्गीकरण समस्या का सिर्फ एक स्टोकेस्टिक अहसास है, और एक नए फिट के परिणामस्वरूप एक अत्यधिक भिन्न पैरामीटर वेक्टर होगा। यह तथ्य बढ़े हुए विचरण को दर्शाता है।

[1। जीवी ट्रंक, "पैटर्न की विश्लेषण और मशीन इंटेलिजेंस, वॉल्यूम पर IEEE लेनदेन में" आयाम की एक समस्या: एक सरल उदाहरण, "। PAMI-1, नहीं। 3, पीपी। 306-307, जुलाई 1979]


1

मुझे लगता है कि ओवरफिटिंग सामान्यीकरण क्षमता के बजाय मॉडल जटिलता को संदर्भित करता है। मैं समझता हूं कि "एक रैखिक क्लासिफायरिफायर को समाप्त नहीं किया जा सकता है" क्योंकि इसकी जटिलता छोटी है, और बेहतर प्रदर्शन प्रदान करने वाला कोई अन्य सरल क्लासिफायरियर नहीं है।

इसका उदाहरण रैखिक क्लासफायर (और जटिल वाले) की सामान्यीकरण क्षमता से जुड़ा है। यहां तक ​​कि इस दूसरे भाग में, रैखिक क्लासीफायर आमतौर पर जटिल लोगों की तुलना में कम विचरण प्रदान करते हैं, इस प्रकार इस अवधारणा का पालन करते हुए रैखिक क्लासिफायरफायर के लिए "ओवरफिटिंग" मूल्य भी छोटा होता है (हालांकि उनका अनुभवजन्य जोखिम इतना बड़ा हो सकता है)। ATB


0

जैसे @ माच-मेकर-ई ने कहा, लीनियर क्लासिफायर इनपुट सुविधाओं के आधार पर ओवर-फिट हो सकते हैं।

निम्नलिखित मॉडल f अपने मापदंडों में रैखिक है a , b और c , लेकिन x के मध्य की विशेषता में द्विघात वक्र के लिए फिट किया जा सकता है :

(एक्स)=एक्स2+एक्स+सी

SVM भी ओवर-फिट हो सकता है, उदाहरण के लिए जब वे कर्नेल ट्रिक का उपयोग करते हैं, मूल रूप से संवर्धित फीचर स्पेस में एक रेखीय मॉडल होने के बावजूद।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.