- Shai Shalev-Shwartz और Shai Ben-David द्वारा लिखी गई "Understanding Machine Learning" 2014 में Cambridge University Press द्वारा प्रकाशित एक पुस्तक है
- यह मशीन लर्निंग की सैद्धांतिक पृष्ठभूमि और एल्गोरिद्म पर चर्चा करती है
- Cambridge University Press की अनुमति से पांडुलिपि का PDF प्रकाशित किया गया है, और इसे केवल व्यक्तिगत उपयोग के लिए डाउनलोड किया जा सकता है
- पुनर्वितरण के लिए नहीं
1 टिप्पणियां
Hacker News की राय
अगर आप मशीन लर्निंग को आसानी से समझना चाहते हैं, तो Josh Starmer की The StatQuest Illustrated Guide to Machine Learning की सिफारिश करूंगा: https://www.goodreads.com/book/show/75622146-the-statquest-i...
मैंने अब तक Starmer जैसा शिक्षक नहीं देखा जो जटिल concepts को इतनी स्पष्टता और संक्षेप में समझाता हो, और इसका format लगभग बच्चों की किताब जैसा है, इसलिए पढ़ना और समझना आसान है
उन्होंने हाल ही में neural networks पर भी एक किताब निकाली है, और वह भी उतनी ही अच्छी है; अगर आप पहले से expert हैं तब भी machine learning के जटिल concepts को सिखाने और communicate करने के अच्छे तरीके मिल सकते हैं, इसलिए strongly recommend करता हूं
university में statistics पढ़ते समय मैंने इसे supplementary material के तौर पर खूब इस्तेमाल किया था
हालांकि machine learning को surface level से आगे सीखने के तरीके के रूप में इसकी सिफारिश करना मुश्किल है, और यह थोड़ी पुरानी भी लगती है
neural networks वाली किताब शायद इस कमी को पूरा कर सकती है, हालांकि मैंने अभी उसे पढ़ा नहीं है
यह भी जानना चाहता हूं कि web/development software engineer background से यहां recommend की गई किताबों को गंभीरता से पढ़कर machine learning/AI roles में enter करना reasonable माना जा सकता है या नहीं
मेरा काम econometric analysis में machine learning इस्तेमाल करना है, और ज्यादातर economists machine learning को intuitively नहीं समझते
अगर आप machine learning की fundamentals समझना चाहते हैं, तो Stanford का Probability for computer scientists मेरे लिए बेहतरीन resource रहा: https://www.youtube.com/watch?v=2MuDZIAzBMY&list=PLoROMvodv4...
probability theory और machine learning के theoretical foundations को जिस तरह यह cover करता है, वह मैंने देखे किसी भी lecture से बेहतर था; हालांकि मूल रूप से यह machine learning fundamentals cover करने वाला probability lecture ही है
Andrew Ng का lecture भी legendary है, लेकिन linear algebra वाली mathematical familiarity कुछ हद तक मांगता है
CS109 lecture notes PDF भी मिल सकता है: https://chrispiech.github.io/probabilityForComputerScientist...
अगर आप machine learning topics की theoretical understanding चाहते हैं, तो Caltech का Learning From Data भी अच्छा था: https://work.caltech.edu/telecourse
इस Caltech lecture की किताब भी है: https://www.amazon.com/Learning-Data-Yaser-S-Abu-Mostafa/dp/...
neural networks को scratch से कैसे बनाया जाता है यह समझने के लिए Neural Networks: Zero to Hero अच्छा है: https://www.youtube.com/watch?v=VMj-3S1tku0&list=PLAqhIrjkxb...
https://bloomberg.github.io/foml/#home यह lecture मुझे personally सबसे ज्यादा पसंद है
अगर मकसद latest generative AI सीखना है, तो इसके बजाय https://udlbook.github.io/udlbook/ recommend करूंगा
कुछ साल पहले मैंने इसका कुछ हिस्सा पढ़ा था, और याद के मुताबिक यह काफ़ी theoretical था, इसमें statistical learning theory बहुत थी, और Vapnik के structural risk minimization वाले हिस्से को मैं निजी तौर पर गलत मानता हूँ
यह theory की तरफ़ बहुत ज़्यादा झुका हुआ है और applications लगभग न के बराबर हैं। चूँकि यह 2014 की किताब है, AI क्षेत्र के हिसाब से यह बहुत पुरानी है, इसलिए अब इसके application वाले हिस्से भी पूरी तरह outdated हो चुके होने की संभावना ज़्यादा है
आज बहुत लोग यह किताब पढ़ना चाहेंगे, ऐसा मुझे नहीं लगता
मेरी जानकारी में statistical learning theory जैसी mathematical theories ने transformers के आविष्कार में ज़्यादा मदद नहीं की, और यह समझाने में भी उपयोगी नहीं रहीं कि neural networks बड़े VC dimension पर भी overfit क्यों नहीं करते
शीर्षक में “theory से machine learning तक” इस theory-first approach की समस्या को अच्छी तरह दिखाता है
जिन लोगों की रुचि mathematics में थी लेकिन software engineering में नहीं, वे machine learning में आए और statistical learning theory जैसी abstract learning theories बनाईं, लेकिन वे असल में किए जा सकने वाले काम से काफ़ी दूर थीं
इसके उलट engineers ने ऐसी theory को नज़रअंदाज़ किया, वास्तविक neural network implementations में हाथ गंदे किए और performance सुधारने की कोशिश की, जिसके परिणामस्वरूप convolutional neural networks और बाद में transformers जैसी चीज़ें आईं
मुझे याद है कि Vapnik ने अपनी किताब की भूमिका में सुंदर mathematical theory को नज़रअंदाज़ करके सिर्फ़ practice पर ध्यान देने के चलन की शिकायत लगभग extremism की तरह की थी
लेकिन अब साफ़ हो गया है कि वे theories उन approaches की जटिलता समझाने के लिए बहुत कमजोर थीं जो वास्तव में अच्छी तरह काम करती हैं, और मेरे हिसाब से यह सामने आया है कि machine learning mathematics या theoretical computer science नहीं, बल्कि engineering की एक शाखा है
इस किताब के शीर्षक में यह गलत उम्मीद छिपी है कि लोग पहले abstract learning theory सीखेंगे और उससे प्रेरित होकर जल्द ही नए algorithms बना लेंगे
statistical learning theory supervised learning को बस मुश्किल से model कर पाती है; reinforcement learning या self-supervised learning की तो बात ही छोड़िए
यह neural networks के overfitting के प्रति मजबूत होने की वजह तक नहीं समझा पाती, और computational/algorithmic learning theory या Solomonoff induction, Kolmogorov complexity जैसी fantastical theories वास्तविकता से और भी दूर हैं
कुछ पहलू चौंकाने वाले हैं, और यह बात समझ में आती है कि अगर dataset का आकार और diversity ठीक हो तो scaling laws अक्सर लागू होते हैं
लेकिन pretrained model को fine-tune करने के बजाय वास्तविक datasets पर scratch से train करने के अनुभव के आधार पर, अगर data पर्याप्त नहीं है तो neural networks साफ़ तौर पर overfit कर सकते हैं
मेरी intuition यह है कि पुरानी theories कुछ खास conditions, जैसे किसी खास dataset characteristics, में सही साबित नहीं हुई थीं, लेकिन आजकल dataset विशाल है यह implicit assumption मानकर वे caveats छोड़ दिए जाते हैं
non-FAANG companies की niche problems या ऐसे हालात जहाँ public लेकिन non-commercial datasets इस्तेमाल नहीं किए जा सकते, में यह अभी भी वास्तविक समस्या है
हर समस्या foundation models या frontier models से हल नहीं होती
अगर संबंधित papers बता सकें तो अच्छा होगा; मैं अभी सीख ही रहा हूँ
यह physics जैसा है: quantum mechanics जैसी चीज़ समझने के लिए mathematical theory चाहिए। नहीं तो बात समझ में नहीं आ सकती
मुझे यह जानना है कि research न करने वाले software engineer के लिए machine learning concepts को गहराई से समझना व्यावहारिक रूप से कितना उपयोगी है
मेरा research में जाने का plan नहीं है, इसलिए career के लिए learning कहाँ focus करूँ, यह समझने की कोशिश कर रहा हूँ
मोटे तौर पर कंपनियों में AI/ML implementation की demand दिखती है, लेकिन debugging के कुछ हिस्से छोड़ दें तो क्या scratch से model develop करने की कोई value है?
यह भी सोच रहा हूँ कि सामान्य business में किसी specific use case के लिए off-the-shelf model को थोड़ा adjust करना ही ज़्यादातर काफी हो सकता है क्या
यह किताब machine learning theory, खासकर statistical learning theory, की मेरी सबसे पसंदीदा introductory book है और दूसरी किताबों की तुलना में कहीं ज़्यादा accessible है
यह 2014 की किताब है; क्या यह अभी भी सच में relevant है?
किताब 10 साल पुरानी है; क्या यह outdated नहीं है?
bias/variance dilemma पर update भी Geman 1992 के original paper को देखें तो बड़ा नहीं है: https://www.dam.brown.edu/people/documents/bias-variance.pdf
उस समय छोटे datasets या infinite datasets पर बात होती थी, और double descent तभी सही काम करता है जब test set के patterns training set के patterns से पर्याप्त रूप से मिलते-जुलते हों
पुराने views के कुछ हिस्सों को लेकर सावधान रहना चाहिए, लेकिन fundamental concepts वही हैं
fine-tuning या reinforcement learning में भी learning data की concept class नई हो सकती है, ऐसे small dataset/infinite dataset problems पर 1992 वाला paper अभी भी लागू होता है, और इसे सार्वभौमिक रूप से invalid मान लेना आपको रोक सकता है
बुनियादी concepts में से ज़्यादातर 20वीं सदी के मध्य से आए हैं
massive data की availability और नई discoveries ने पुराने research को invalid करने के बजाय assumptions और tools को कहीं ज़्यादा बदला है
उस paper को सरसरी तौर पर देखें तो पता चलता है कि आज हमारे पास जो massive data और compute है, उसे उस समय अव्यावहारिक मानकर सीधे बाहर कर दिया गया था
अपने लिए सही book ढूँढकर concepts सीखना और tacit knowledge बनाना अच्छा है
बहुत सारी कोशिशें symbolic methods और दूसरे तरीकों को भी integrate करने की कोशिश कर रही हैं
breadth और depth दोनों बनाना समय बचाने और opportunities खोजने में मदद करता है, और इसके लिए fundamental knowledge निर्णायक है, ऐसा मैं मानता हूँ
machine learning के training/validation, variance/bias जैसे fundamentals वही हैं, और classical algorithms की जगह अभी भी है
जो latest developments छूट सकती हैं, वे शायद XGBoost-style forests तक होंगी
ये तीन किताबें हों तो बिल्कुल basics से लेकर advanced topics तक सचमुच किसी और चीज़ की ज़रूरत नहीं
अगर सिर्फ़ machine learning के बारे में curiosity है, तो जानकारी गलत होने की संभावना बहुत कम है
लेकिन, उदाहरण के लिए 11 साल पुरानी chemistry book के उलट, यह आज engineers जिन सबसे दिलचस्प समस्याओं से जूझ रहे हैं, उनसे बहुत ज़्यादा जुड़ी नहीं है
इसलिए interview preparation या industry में entry के लिए यह शायद सबसे उपयोगी नहीं होगी
क्योंकि इसका focus cutting-edge deep learning पर नहीं, बल्कि संदिग्ध value वाली abstract mathematical theory पर ज़्यादा था
क्या कोई और सुझाई गई किताबें हैं?
प्रतिष्ठित शोधकर्ताओं द्वारा लिखी गई एक मुफ़्त और आसान introductory किताब, जो classical topics को व्यापक रूप से कवर करती है और इसमें code वाले कई “Lab” सेक्शन भी हैं
इसमें deep learning का अध्याय भी है, लेकिन हाल की प्रगति को कवर नहीं करता, इसलिए उस हिस्से के लिए अन्य resources की ज़रूरत होगी
explanations ठोस हैं और AIMA जितनी पुरानी भी नहीं लगती