क्या शानदार सवाल है - यह दिखाने का मौका है कि कोई किसी सांख्यिकीय पद्धति की कमियों और मान्यताओं का निरीक्षण कैसे करेगा। अर्थात्: कुछ डेटा बनाते हैं और उस पर एल्गोरिथ्म का प्रयास करते हैं!
हम आपकी मान्यताओं में से दो पर विचार करेंगे, और हम देखेंगे कि उन मान्यताओं के टूटने पर k- साधन एल्गोरिथ्म का क्या होता है। हम 2-आयामी डेटा से चिपके रहेंगे क्योंकि यह कल्पना करना आसान है। (आयामीता के अभिशाप के लिए धन्यवाद , अतिरिक्त आयाम जोड़ने से इन समस्याओं को और अधिक गंभीर बनाने की संभावना है, कम नहीं)। हम सांख्यिकीय प्रोग्रामिंग भाषा आर के साथ काम करेंगे: आप यहां पूर्ण कोड पा सकते हैं (और यहां ब्लॉग रूप में पोस्ट )।
डायवर्सन: Anscombe की चौकड़ी
सबसे पहले, एक सादृश्य। कल्पना कीजिए कि किसी ने निम्नलिखित तर्क दिया:
मैंने रेखीय प्रतिगमन की कमियों के बारे में कुछ सामग्री पढ़ी- कि यह एक रैखिक प्रवृत्ति की उम्मीद करता है, कि अवशिष्ट सामान्य रूप से वितरित किए जाते हैं, और यह कि कोई आउटलेयर नहीं हैं। लेकिन सभी रेखीय प्रतिगमन कर रहे हैं भविष्यवाणी की रेखा से चुकता त्रुटियों (एसएसई) की राशि कम से कम है। यह एक अनुकूलन समस्या है जिसे हल किया जा सकता है चाहे वह वक्र का आकार हो या अवशिष्ट का वितरण। इस प्रकार, रैखिक प्रतिगमन को काम करने के लिए कोई धारणा की आवश्यकता नहीं है।
अच्छी तरह से, हाँ, रेखीय प्रतिगमन चुकता अवशिष्ट के योग को कम करके काम करता है। लेकिन यह अपने आप में एक प्रतिगमन का लक्ष्य नहीं है: हम जो करने की कोशिश कर रहे हैं, वह एक रेखा है जो x के आधार पर y के विश्वसनीय, निष्पक्ष भविष्यवक्ता के रूप में कार्य करता है । गॉस-मार्कोव प्रमेय हमें बताता है कि SSE को न्यूनतम पूरा करता है कि goal- लेकिन यह है कि प्रमेय कुछ बहुत ही विशिष्ट मान्यताओं पर टिकी हुई है। यदि उन मान्यताओं को तोड़ दिया जाता है, तो आप अभी भी एसएसई को कम कर सकते हैं, लेकिन ऐसा नहीं हो सकता हैकुछ भी। यह कहते हुए कल्पना करें कि "आप पेडल को धक्का देकर कार चलाते हैं: ड्राइविंग अनिवार्य रूप से एक 'पेडल-पुशिंग प्रक्रिया है।" पैडल को टैंक में कितनी भी गैस हो, धक्का दिया जा सकता है। इसलिए, भले ही टैंक खाली हो, फिर भी आप पैडल को धक्का दे सकते हैं और कार को चला सकते हैं। "
लेकिन बात सस्ती है। आइए ठंड, कठोर, डेटा को देखें। या वास्तव में, बना-बनाया डेटा।
यह वास्तव में मेरा पसंदीदा बनाया हुआ डेटा है: Anscombe की चौकड़ी । 1973 में सांख्यिकीविद् फ्रांसिस अंसकोम्बे द्वारा बनाया गया, यह रमणीय मनगढ़ंत कहानी सांख्यिकीय तरीकों पर आंख मूंदकर भरोसा करने का दिखावा करती है। प्रत्येक डेटासेट में समान रैखिक प्रतिगमन ढलान, अवरोधन, पी-मान और - और फिर भी एक नज़र में हम देख सकते हैं कि उनमें से केवल एक, I , रैखिक प्रतिगमन के लिए उपयुक्त है। में द्वितीय यह गलत आकार पता चलता है, में तृतीय यह एक एकल outlier- बढ़ सकता है और में चतुर्थ वहाँ स्पष्ट रूप से कोई प्रवृत्ति बिल्कुल है!आर2
एक कह सकता है "रैखिक प्रतिगमन अभी भी उन मामलों में काम कर रहा है, क्योंकि यह अवशिष्टों के वर्गों के योग को कम कर रहा है।" लेकिन क्या एक Pyrrhic जीत ! रैखिक प्रतिगमन हमेशा एक रेखा खींचेगा, लेकिन अगर यह एक अर्थहीन रेखा है, तो कौन परवाह करता है?
तो अब हम देखते हैं कि सिर्फ इसलिए कि एक अनुकूलन किया जा सकता है इसका मतलब यह नहीं है कि हम अपना लक्ष्य पूरा कर रहे हैं। और हम देखते हैं कि डेटा बनाना, और इसकी कल्पना करना, एक मॉडल की मान्यताओं का निरीक्षण करने का एक अच्छा तरीका है। उस अंतर्ज्ञान पर लटकाएं, हमें एक मिनट में इसकी आवश्यकता होगी।
टूटी हुई धारणा: गैर-गोलाकार डेटा
आप तर्क देते हैं कि k- साधन एल्गोरिथ्म गैर-गोलाकार समूहों पर ठीक काम करेगा। गैर-गोलाकार क्लस्टर जैसे ... ये?
शायद यह वह नहीं है जो आप उम्मीद कर रहे थे- लेकिन यह क्लस्टर बनाने के लिए पूरी तरह से उचित तरीका है। इस छवि को देखते हुए, हम मनुष्य तुरंत ही दो प्राकृतिक समूहों को पहचान लेते हैं- कोई गलत नहीं है। तो आइए देखें कि कैसे-का मतलब है: असाइनमेंट को रंग में दिखाया गया है, प्रतिरूपण केंद्रों को एक्स के रूप में दिखाया गया है।
ठीक है, कि 'सही नहीं है। K- साधन एक गोल छेद में एक वर्ग खूंटे को फिट करने की कोशिश कर रहा था - उनके चारों ओर स्वच्छ गोले के साथ अच्छे केंद्र खोजने की कोशिश कर रहा था- और यह विफल रहा। हां, यह अभी भी चौकों के भीतर-क्लस्टर योग को कम कर रहा है- लेकिन ऊपर के अंसकोम्ब की चौकड़ी की तरह, यह एक पिरामिड जीत है!
आप कह सकते हैं कि "यह एक उचित उदाहरण नहीं है ... कोई क्लस्टरिंग विधि सही ढंग से समूहों को नहीं पा सकती है जो कि अजीब हैं।" सच नहीं! एकल लिंकेज श्रेणीबद्ध क्लस्टरिंग का प्रयास करें :
बिल्कुल सही किया! ऐसा इसलिए है क्योंकि सिंगल-लिंकेज पदानुक्रमित क्लस्टरिंग इस डेटासेट के लिए सही धारणा बनाता है । (वहाँ स्थितियों की एक पूरी अन्य वर्ग है जहाँ यह विफल रहता है)।
आप कह सकते हैं "यह एक एकल, चरम, रोग संबंधी मामला है।" लेकिन ऐसा नहीं है! उदाहरण के लिए, आप बाहरी समूह को एक वृत्त के बजाय एक अर्ध-वृत्त बना सकते हैं, और आप देखेंगे k- साधन अभी भी बहुत अच्छा करता है (और पदानुक्रमिक क्लस्टरिंग अभी भी अच्छा करता है)। मैं आसानी से अन्य समस्याग्रस्त स्थितियों के साथ आ सकता हूं, और यह सिर्फ दो आयामों में है। जब आप 16-आयामी डेटा को क्लस्टर कर रहे हैं, तो सभी प्रकार की विकृति हो सकती है।
अन्त में, मुझे ध्यान देना चाहिए कि k- साधन अभी भी निस्तारण योग्य है! यदि आप अपने डेटा को ध्रुवीय निर्देशांक में परिवर्तित करके शुरू करते हैं , तो क्लस्टरिंग अब काम करता है:
इसीलिए किसी पद्धति पर अंतर्निहित मान्यताओं को समझना आवश्यक है: यह आपको नहीं बताता कि जब किसी विधि में कमियां होती हैं, तो यह आपको बताता है कि उन्हें कैसे ठीक किया जाए।
टूटी हुई मान्यता: असमान आकार के गुच्छे
क्या होगा यदि समूहों में असमान संख्याएँ होती हैं- जो k- साधन क्लस्टरिंग को भी तोड़ता है? खैर, समूहों के इस सेट पर विचार करें, आकार 20, 100, 500 के। मैंने एक बहुभिन्नरूपी गौसियन से प्रत्येक को उत्पन्न किया है:
ऐसा लगता है कि के-साधन शायद उन समूहों को ढूंढ सकते हैं, है ना? सब कुछ साफ-सुथरे और साफ-सुथरे समूहों में उत्पन्न होता है। तो आइए के-साधन का प्रयास करें:
आउच। यहां जो हुआ वह थोड़ा सूक्ष्म है। चौकों के भीतर-क्लस्टर योग को कम करने की अपनी खोज में, k- साधन एल्गोरिथ्म बड़े समूहों को अधिक "वजन" देता है। व्यवहार में, इसका मतलब यह है कि उस छोटे क्लस्टर को किसी भी केंद्र से बहुत दूर जाने में खुशी होती है, जबकि यह उन केंद्रों का उपयोग एक बड़े क्लस्टर को "विभाजित" करने के लिए करता है।
यदि आप इन उदाहरणों के साथ थोड़ा खेलते हैं ( आर कोड यहाँ! ), तो आप देखेंगे कि आप कहीं अधिक परिदृश्यों का निर्माण कर सकते हैं जहाँ के-साधनों से यह शर्मनाक रूप से गलत हो जाता है।
निष्कर्ष: नो फ्री लंच
गणितीय लोकगीतों में एक आकर्षक निर्माण होता है, जिसे वोल्पर और मैकर्ड द्वारा औपचारिक रूप से "नो फ्री लंच प्रमेय" कहा जाता है। यह शायद मशीन सीखने के दर्शन में मेरा पसंदीदा प्रमेय है, और मैं इसे ऊपर लाने के लिए किसी भी मौके को याद करता हूं (क्या मैंने इस सवाल का उल्लेख किया है?) मूल विचार इस तरह से कहा गया है (गैर-कठोरता से): "जब सभी संभावित परिस्थितियों में औसतन, हर एल्गोरिथ्म समान रूप से अच्छा प्रदर्शन करता है। ”
ध्वनि प्रतिवाद? इस बात पर विचार करें कि हर मामले के लिए जहां एक एल्गोरिथ्म काम करता है, मैं एक ऐसी स्थिति का निर्माण कर सकता हूं जहां यह बहुत विफल हो। रैखिक प्रतिगमन मानता है कि आपका डेटा एक रेखा के साथ आता है- लेकिन क्या होगा अगर यह एक साइनसोइडल तरंग का अनुसरण करता है? एक टी-परीक्षण मानता है कि प्रत्येक नमूना एक सामान्य वितरण से आता है: क्या होगा यदि आप एक बाहरी में फेंकते हैं? कोई भी क्रमिक एसेंट एल्गोरिथ्म स्थानीय मैक्सीमा में फंस सकता है, और किसी भी पर्यवेक्षित वर्गीकरण को ओवरफिटिंग में विभाजित किया जा सकता है।
इसका क्या मतलब है? इसका मतलब है कि धारणाएं हैं कि आपकी शक्ति कहां से आती है! जब नेटफ्लिक्स आपको फिल्मों की सिफारिश करता है, तो यह माना जाता है कि यदि आप एक फिल्म पसंद करते हैं, तो आप समान (और इसके विपरीत) पसंद करेंगे। एक ऐसी दुनिया की कल्पना करें जहां यह सच नहीं था, और आपके स्वाद पूरी तरह से यादृच्छिक-बिखरे हुए हैं जो कि शैलियों, अभिनेताओं और निर्देशकों में फैले हुए हैं। उनकी सिफारिश एल्गोरिथ्म बहुत विफल हो जाएगी। क्या यह कहना सही होगा "ठीक है, यह अभी भी कुछ अपेक्षित चुकता त्रुटि को कम कर रहा है, इसलिए एल्गोरिथ्म अभी भी काम कर रहा है"? आप उपयोगकर्ताओं के स्वाद के बारे में कुछ धारणाएं बनाए बिना अनुशंसा एल्गोरिथ्म नहीं बना सकते हैं- जैसे आप उन समूहों की प्रकृति के बारे में कुछ धारणाएं बनाए बिना क्लस्टरिंग एल्गोरिथ्म नहीं बना सकते हैं।
तो बस इन कमियों को स्वीकार मत करो। उन्हें जानें, ताकि वे एल्गोरिदम की आपकी पसंद को सूचित कर सकें। उन्हें समझें, ताकि आप अपने एल्गोरिथ्म को घुमा सकें और उन्हें हल करने के लिए अपने डेटा को बदल सकें। और उनसे प्यार करो, क्योंकि अगर आपका मॉडल कभी गलत नहीं हो सकता है, तो इसका मतलब है कि यह कभी भी सही नहीं होगा।