एल्गोरिदम डिजाइन: पारंपरिक से मशीन लर्निंग तक
26/06/2023 2023-06-29 13:15एल्गोरिदम डिजाइन: पारंपरिक से मशीन लर्निंग तक
पियर ग्यूसेप्पे गिरिबोन द्वारा संपादित
इस कॉलम के पिछले लेख में, हमने कृत्रिम बुद्धिमत्ता (एआई) और मशीन लर्निंग (एमएल) के बीच अंतर पर चर्चा की थी, और यह बताया था कि बाद वाले को एक विशेष मामला क्यों माना जा सकता है।
इस दूसरे लेख में, हम मशीन लर्निंग की परिभाषा देने का प्रयास करेंगे और पारंपरिक एल्गोरिदम और आधुनिक शिक्षण प्रतिमानों के अनुसार डिजाइन किए गए एल्गोरिदम के संचालन में मुख्य अंतरों को स्पष्ट करेंगे।
सहज रूप से, मशीन लर्निंग में कंप्यूटर को इस तरह से प्रोग्राम करने का विज्ञान (और कला) शामिल है जिससे वह डेटा से स्वायत्त रूप से "सीख" सके।
ऐतिहासिक रूप से, इस अवधारणा को 1959 में अमेरिकी कंप्यूटर वैज्ञानिक आर्थर ली सैमुअल द्वारा दूरदर्शी शब्दों में व्यक्त किया गया था, जिन्होंने मशीन लर्निंग को अध्ययन के उस क्षेत्र के रूप में परिभाषित किया था जो कंप्यूटर को स्पष्ट रूप से प्रोग्राम किए बिना सीखने की क्षमता प्रदान करता है।
1997 में, वैज्ञानिक टॉम माइकल मिशेल ने मशीन लर्निंग की अधिक तकनीकी और, एक तरह से, अधिक सटीक परिभाषा दी: "कंप्यूटर प्रोग्राम को अनुभव से सीखने वाला कहा जाता है।" E किसी सौंपे गए कार्य के संबंध में T और कुछ प्रदर्शन माप Pयदि वह कार्य को पूरा करने में सक्षम है Tद्वारा मापा गया Pअनुभव के साथ बेहतर होता जाता है E".
यह परिभाषा, जो शायद तुरंत सहज रूप से समझ में न आए, निश्चित रूप से एक स्पष्ट उदाहरण की हकदार है।
हम आम तौर पर उस सॉफ़्टवेयर से परिचित हैं जो हमें ईमेल प्रबंधित करने की अनुमति देता है और विशेष रूप से, हम जानते हैं कि "स्पैम फ़िल्टर" का क्या अर्थ है (अर्थात वह एल्गोरिदम जो अवांछित ईमेल को फ़िल्टर करने के लिए आधुनिक कृत्रिम शिक्षण प्रतिमानों का उपयोग करता है)।
यह एक विशिष्ट मशीन लर्निंग (एमएल) प्रोग्राम है, जो स्पैम माने जाने वाले ईमेल (जिन्हें उपयोगकर्ता ने स्वयं स्पैम के रूप में चिह्नित किया है) और/या नियमित रूप से प्राप्त ईमेल (जो अवांछित नहीं हैं, लेकिन जिनका उपयोगकर्ता ने जवाब दिया है) के उदाहरण दिए जाने पर, स्वचालित रूप से किसी ईमेल को स्पैम के रूप में चिह्नित करना सीख सकता है।
सिस्टम सीखने के लिए जिन उदाहरणों का उपयोग करता है, वे प्रशिक्षण सेट को परिभाषित करते हैं। प्रशिक्षण के लिए प्रदान किए गए प्रत्येक डेटा सेट को प्रशिक्षण उदाहरण या नमूना कहा जाता है।
इस मामले में, मिशेल द्वारा दी गई परिभाषा के अनुसार, यह कहा जा सकता है कि कार्य T स्पैम फ़िल्टर का काम किसी नए ईमेल को अवांछित के रूप में चिह्नित करना है, अनुभव E यह प्रशिक्षण डेटा और प्रदर्शन द्वारा दिया जाता है। Pसीखने के स्तर को मापने वाले कारक को, उदाहरण के लिए, सिस्टम द्वारा सही ढंग से वर्गीकृत किए गए ईमेल के प्रतिशत के रूप में परिभाषित किया जा सकता है।
एक एल्गोरिदम जिसके पास बड़ी मात्रा में डेटा उपलब्ध है, लेकिन जिसे कोई विशिष्ट उद्देश्य और उससे संबंधित प्रदर्शन मीट्रिक नहीं सौंपा गया है, जिसके साथ समय के साथ यह मापा जा सके कि यह कितनी कुशलता से अभिसरण प्राप्त कर रहा है, उसे मशीन लर्निंग प्रतिमानों का पालन करने वाला प्रोग्राम नहीं माना जा सकता है।
यदि आप विकिपीडिया की एक स्थिर प्रति को पीसी पर डाउनलोड करते हैं, तो कंप्यूटर के पास बड़ी मात्रा में जानकारी और डेटा होगा, लेकिन चूंकि यह डेटा प्रबंधित या व्यवस्थित नहीं है, इसलिए इससे कोई नया ज्ञान उत्पन्न नहीं होगा। सॉफ्टवेयर किस प्रकार के कार्यों को बेहतर ढंग से करना सीखेगा? केवल प्रोग्रामिंग के माध्यम से विश्वकोश की एक प्रति डाउनलोड करना मशीन लर्निंग नहीं कहलाता।
पारंपरिक एल्गोरिदम और मशीन लर्निंग प्रतिमानों को लागू करने वाले एल्गोरिदम के बीच डिजाइन के अंतर को समझने के लिए, आइए हम खुद को एक ऐसे डेवलपर की जगह पर रखें जो ऊपर उल्लिखित स्पैम फ़िल्टर प्रोग्राम के लिए लॉजिक लिखने का इरादा रखता है।
परंपरागत एल्गोरिथम दृष्टिकोण में निम्नलिखित निर्देशों वाला एक फ्लोचार्ट शामिल होगा:
- I) स्पैम की पहचान करने वाले सभी तत्वों पर विचार करें। उदाहरण के लिए, आपको ईमेल के विषय में बार-बार आने वाले शब्द/वाक्यांश दिखाई दे सकते हैं, जैसे "4U," "क्रेडिट कार्ड," और "मुफ़्त।" आपको ईमेल पते या ईमेल के मुख्य भाग में अन्य उपयोगी पैटर्न भी दिखाई दे सकते हैं।
- II) पिछले विश्लेषण में सामने आए इन सभी पैटर्नों के लिए एक पहचान एल्गोरिदम लिखा जाएगा, और यदि इनमें से एक निश्चित संख्या में पैटर्न पाए जाते हैं तो सॉफ्टवेयर स्पैम ईमेल को चिह्नित करेगा।
III) प्रोग्राम का परीक्षण किया जाएगा और I) और II) को तब तक दोहराया जाएगा जब तक कि एल्गोरिदम संतोषजनक प्रदर्शन प्राप्त न कर ले।
यह स्पष्ट है कि चूंकि यह एक जटिल समस्या है, इसलिए प्रोग्राम को कुशलतापूर्वक बनाए रखने के लिए काफी जटिल नियमों की एक लंबी सूची की आवश्यकता होगी।
मशीन लर्निंग पर आधारित स्पैम फ़िल्टर प्रशिक्षण सेट में की गई तुलनाओं के आधार पर, अवांछित ईमेल को वैध ईमेल से अलग करने वाले असामान्य पैटर्न का पता लगाकर, स्वचालित रूप से यह सीखता है कि कौन से शब्द और वाक्यांश स्पैम के अच्छे संकेतक हैं।
इस प्रकार प्रोग्राम अधिक सुव्यवस्थित, रखरखाव में आसान और अधिक सटीक होने की संभावना वाला होगा।
अगर कोई स्पैमर यह रिपोर्ट करे कि "4U" वाले सभी ईमेल ब्लॉक कर दिए गए हैं, तो क्या होगा? वे शायद सीधे "For U" टाइप करना शुरू कर दें। पारंपरिक प्रोग्रामिंग तकनीकों का उपयोग करने वाले स्पैम फ़िल्टर को एक नए नियम के साथ अपडेट किया जाना चाहिए जो "For U" वाले ईमेल को भी ब्लॉक करे।
यदि स्पैमर को हमारा फ़िल्टरिंग सिस्टम अपर्याप्त लगता है, तो हमें लगातार नए नियम परिभाषित करने और जोड़ने चाहिए।
परंपरागत प्रोग्रामिंग दृष्टिकोणों के विपरीत, मशीन लर्निंग तकनीकों पर आधारित स्पैम फ़िल्टर स्वचालित रूप से यह पहचानने में सक्षम होता है कि उपयोगकर्ता द्वारा स्पैम के रूप में चिह्नित किए गए संदेशों में "फॉर यू" शब्द असामान्य रूप से बार-बार आ रहे हैं और तदनुसार कार्रवाई करता है।
इसलिए, यह एल्गोरिदम उपयोगकर्ता के मैन्युअल हस्तक्षेप के बिना स्वचालित रूप से इस प्रकार के ईमेल को चिह्नित करना शुरू कर देगा: इसने उपयोगकर्ता के अनुभव से निर्देशित एक नया नियम सीख लिया है।
इसलिए, जटिल समस्याओं को हल करने में मशीन लर्निंग एल्गोरिदम का उपयोग विशेष रूप से दिलचस्प है, जिनके लिए प्रतिनिधित्व की जाने वाली प्रणाली को नियंत्रित करने वाले नियमों को पहले से परिभाषित नहीं किया जा सकता है।
मशीन लर्निंग का अर्थ और एक पारंपरिक प्रोग्राम और मशीन लर्निंग के लिए समर्पित प्रोग्राम के बीच एल्गोरिथम डिजाइन में मुख्य अंतरों को समझने के बाद, अगला लेख विभिन्न प्रकार की लर्निंग के आधार पर मशीन लर्निंग के विभिन्न प्रकारों के वर्गीकरण पर ध्यान केंद्रित करेगा।
कृत्रिम बुद्धिमत्ता और कंप्यूटर गेम के क्षेत्र में अग्रणी आर्थर ली सैमुअल ने 1959 में "मशीन लर्निंग" शब्द गढ़ा था। उन्होंने सफलतापूर्वक पहला मशीन-लर्निंग-आधारित चेकर प्रोग्राम बनाया, जिसने कृत्रिम बुद्धिमत्ता की मूलभूत अवधारणाओं का प्रारंभिक प्रदर्शन प्रदान किया।