- यह दृश्य रूप में समझाता है कि कंप्यूटर statistical learning तकनीकों का उपयोग करके डेटा से पैटर्न को अपने-आप पहचानते हैं और prediction करते हैं
- housing dataset का उपयोग करके New York और San Francisco के घरों में अंतर करने वाला मॉडल बनाने की प्रक्रिया को step-by-step विज़ुअलाइज़ करता है
- decision tree को केंद्र में रखकर, split point, branch, leaf node जैसी अवधारणाओं के माध्यम से learning और prediction की प्रक्रिया को ठोस रूप में दिखाता है
- मॉडल की accuracy बढ़ाने की प्रक्रिया में overfitting की समस्या को दृश्य रूप में सामने लाता है, और training data तथा test data के अंतर को समझाता है
- यह मशीन लर्निंग की मुख्य अवधारणाओं को सहज रूप से समझने के लिए बनाया गया एक interactive visualization learning resource है
मशीन लर्निंग की बुनियादी अवधारणाएँ
- मशीन लर्निंग वह तकनीक है जिसमें कंप्यूटर statistical learning techniques लागू करके डेटा के पैटर्न को अपने-आप पहचानते हैं और उसके आधार पर सटीक prediction करते हैं
- उदाहरण के तौर पर housing data का उपयोग करके New York और San Francisco के घरों को classify करने वाला मॉडल बनाया जाता है
- इस तरह का classification कार्य मशीन लर्निंग में classification समस्या कहलाता है
सहज विभाजन और feature
- San Francisco में पहाड़ियाँ अधिक होने के कारण elevation ऊँचा होता है
- इसलिए घरों की elevation दोनों शहरों को अलग करने का उपयोगी मानदंड हो सकती है
- उदाहरण के लिए, अगर elevation 240 feet से अधिक हो तो उसे San Francisco के रूप में classify किया जा सकता है
- इसमें price per square foot जोड़ने पर और अधिक सटीक विभाजन संभव होता है
- अगर elevation 240 feet या उससे कम हो और प्रति वर्गफुट कीमत $1776 या उससे अधिक हो, तो उसे New York के रूप में classify किया जाता है
- डेटा के प्रत्येक dimension को feature, predictor, या variable कहा जाता है
boundary और मॉडल learning
- elevation और price के आधार पर scatterplot पर boundary को दृश्य रूप में दिखाया जा सकता है
- डेटा की boundary को गणितीय रूप से पहचानना statistical learning का मूल है
- वास्तविक dataset में 7 dimension होते हैं, और इन्हीं के आधार पर मॉडल को train किया जाता है
- scatterplot matrix के माध्यम से हर variable के बीच संबंधों को दृश्य रूप में देखा जाता है
Decision Tree का काम करने का तरीका
- मशीन लर्निंग डेटा में पैटर्न खोजने के लिए statistical learning का उपयोग करती है, और उनमें से एक तरीका decision tree है
- decision tree एक बार में एक variable के आधार पर if-then rules लागू करके डेटा को विभाजित करता है
- उदाहरण: “अगर elevation किसी निश्चित मान से अधिक हो, तो San Francisco” जैसा नियम लागू करना
- ऐसे branch point को split point कहा जाता है, और यही tree की हर branch बनाता है
विभाजन की accuracy और trade-off
- शुरुआती विभाजन (जैसे 240 feet का मानदंड) कुछ San Francisco घरों को गलत classify करता है (false negatives)
- इसके उलट, अगर सभी San Francisco घरों को शामिल करने की कोशिश करें, तो कुछ New York घर भी शामिल हो जाते हैं (false positives)
- best split वह होता है जिसमें हर branch का डेटा यथासंभव homogeneous हो
- इसे मापने के लिए Gini index, cross entropy जैसी विधियाँ उपयोग की जाती हैं
recursion और tree का बढ़ना
- algorithm हर subset पर इसी प्रक्रिया को दोहराते हुए recursively tree को बढ़ाता है
- कम elevation वाले हिस्से में price per square foot, और अधिक elevation वाले हिस्से में total price अगला split variable चुना जाता है
- split दोहराने पर tree की prediction accuracy बढ़ती जाती है
- एक अतिरिक्त स्तर जोड़ने पर 84%, कई स्तर जोड़ने पर 96% तक सुधार
- सभी branch जोड़ देने पर 100% accuracy भी संभव है
- अंतिम split point leaf node बन जाते हैं, और हर node बहुसंख्यक class के आधार पर घरों को classify करता है
prediction और validation
- trained decision tree हर data point को tree की branch के अनुसार आगे बढ़ाते हुए शहर का prediction करता है
- training में उपयोग किए गए डेटा को training data, और नए डेटा को test data कहा जाता है
- मॉडल training data पर पूरी तरह सही काम कर सकता है, लेकिन नए डेटा पर उसका performance गिर सकता है
- इसका कारण overfitting है, यानी मॉडल ने अनावश्यक बारीकियाँ भी सीख ली हैं
सारांश और अगला चरण
- मशीन लर्निंग डेटा की boundary खोजकर पैटर्न पहचानती है और prediction करती है
- decision tree if-then rules के माध्यम से डेटा को classify करने का एक प्रमुख तरीका है
- overfitting वह स्थिति है जिसमें मॉडल अर्थहीन विभाजनों तक सीख लेता है और generalization performance घट जाती है
- अगले लेख में overfitting और bias/variance tradeoff के संबंध पर चर्चा की जाएगी
1 टिप्पणियां
Hacker News की राय
मैं R2D3 के निर्माताओं में से एक हूँ। आज इस लेख को देखकर अच्छा लगा। यहाँ या Bluesky पर सवाल ले सकता हूँ
यह सचमुच एक मास्टरपीस है। जब भी machine learning का परिचय कराता हूँ, इस interactive explanation का इस्तेमाल करता हूँ। इसी तरह के resources की एक सूची यहाँ है
मैंने पहले अपनी S-TIER learning resources list का ज़िक्र किया था।
S-TIER का मतलब है ऐसा content जिसमें animation, visualisation और interactive elements का बेहतरीन मेल हो।
A-TIER उपयोगी है, लेकिन कम visual है, और opinion-based blogs को मैं सबसे नीचे रखता हूँ।
मेरे चुने हुए S-TIER sites ये हैं:
growingswe.com/blog, ciechanow.ski/archives, mlu-explain.github.io, seeing-theory.brown.edu, svg-tutorial.com, lumafield.com/scan-of-the-month/health-wearables
मैं इसी मानदंड से HN के सभी blog links को अपने-आप classify करने वाला एक bookmark manager बनाना चाहता हूँ
मैंने पहले जो projects बनाए थे, उनमें से मेरे दो पसंदीदा हैं Fill in the Blank और Grokking
इसे bookmark कर लिया। ज़्यादातर LLM explainer posts में ऐसे visual references की कमी होती है।
आमतौर पर या तो 10,000 शब्दों का paper होता है, या एक लाइन का tweet summary, बीच का स्तर ही नहीं होता
यह 2015 की रचना है। तकनीकी और वैचारिक, दोनों ही मायनों में यह अपने समय से आगे का काम था
वाकई शानदार। यह data visualisation और AI/ML के intersection का एक दिलचस्प क्षेत्र है।
देखने लायक जगहों में mlu-explain.github.io, visxai.io, Google PAIR के explorables, और GA Tech का poloclub शामिल हैं
काश ऐसे और लेख होते। मुझे visual learning पसंद है।
Build Your Own React लेख याद आ गया। सीधा संबंध नहीं है, लेकिन उसी तरह की style में लिखा गया, follow करना आसान blog है। इस format के लेख learning efficiency बढ़ाते हैं
अब तक देखी गई decision tree की सबसे बेहतरीन explanations में से एक है।
scroll करते हुए splitting process को visual रूप में दिखाने वाली animation, textbook की लंबी व्याख्या से कहीं ज़्यादा intuitive है
ये interactive explanations आज भी ML concepts को सहज रूप से समझाने के सबसे अच्छे उदाहरणों में हैं।
formulas से शुरू होने वाले technical लेखों की तुलना में यह approach कहीं ज़्यादा प्रभावी है
जानना चाहता हूँ कि क्या Transformer के attention mechanism जैसे high-dimensional concepts को R2D3 style में समझाने वाला कोई resource है