मशीन लर्निंग में नैवे बेयस एल्गोरिदम
नैवे बेयस क्लासिफायर एल्गोरिथ्म
क्लासिफायर एक मशीन लर्निंग एल्गोरिदम है जो डेटा को एक या अधिक "क्लास" में वर्गीकृत करता है। ईमेल क्लासिफायर एक क्लासिफायर का एक उदाहरण है जो ईमेल को स्कैन करके उन्हें क्लास लेबल के आधार पर फ़िल्टर करता है: स्पैम या स्पैम नहीं।
मशीन लर्निंग में नैवे बेयस क्लासिफायर, वर्गीकरण कार्यों के लिए एक पर्यवेक्षित मशीन लर्निंग है।
नैवे बेयस का उपयोग वर्गीकरण समस्याओं को हल करने के लिए किया जाता है। यह किसी वस्तु की संभावना के आधार पर भविष्यवाणी करता है। नैवे बेयस बेयस प्रमेय पर आधारित है और इसका उपयोग ज्यादातर टेक्स्ट वर्गीकरण के लिए किया जाता है। नैवे बेयस एक संभाव्य वर्गीकरण एल्गोरिथ्म है जिसे लागू करना आसान है और प्रशिक्षित करना तेज़ है।
चूँकि नैवे बेयस क्लासिफायर बेयस प्रमेय पर आधारित है, इसलिए इसे प्रायिकता क्लासिफायर के रूप में जाना जाता है। यह किसी वस्तु की प्रायिकता के आधार पर भविष्यवाणी करता है।
भोले बेयस कहलाने का कारण?
नैवे बेयस क्लासिफायर में दो शब्द हैं: नैवे और बेयस। नैवे क्यों? यह एल्गोरिथम सभी शब्द वाक्यों को एक जैसा मानता है। उदाहरण के लिए "आप हैं" और "क्या आप हैं" इस एल्गोरिथम के लिए समान हैं। यह सुविधाओं या सुविधाओं की घटना पर निर्भर नहीं है। यदि आप सेब के फल की पहचान करना चाहते हैं तो आपको सेब के रूप में पहचानने के लिए लाल रंग, गोलाकार आकार और मीठा स्वाद की आवश्यकता होती है। इसका मतलब है कि ये विशेषताएं एक दूसरे से स्वतंत्र हैं।
- नैव बेयस क्लासिफायर यह मानता है कि विशेषताएँ एक दूसरे से स्वतंत्र हैं। चूँकि वास्तविक जीवन के डेटा में यह शायद ही संभव हो, इसलिए क्लासिफायर को नैव कहा जाता है।
- यह वर्गीकरण एल्गोरिथ्म बेयस प्रमेय पर आधारित है, इसलिए इसे नैवे बेयस क्लासिफायर के नाम से जाना जाता है।
सरल बायेस प्रमेय
बेयस प्रमेय का उपयोग पूर्व ज्ञान पर निर्भर सशर्त संभावनाओं वाली परिकल्पना की संभावना का पता लगाने के लिए किया जाता है। इस प्रमेय का नाम थॉमस बेयस के नाम पर रखा गया है। बेयस प्रमेय द्वारा दिए गए सशर्त संभाव्यता के सिद्धांत पर नैव बेयस क्लासिफायर काम करता है।
बेयस प्रमेय को समझने के लिए, आइए दो सिक्कों को उछालने के एक सरल भोले बेयस क्लासिफायर उदाहरण को देखें। हम दो सिक्के उछालकर ये नमूना स्थान प्राप्त कर सकते हैं: {HH, HT, TH, TT}। इसलिए, इन घटनाओं की संभावनाएँ होंगी:
- दो सिर प्राप्त करना = 1/4
- कम से कम एक पूंछ = 3/4
- दूसरा सिक्का चित है, जबकि पहला सिक्का पट है = 1/2
- यदि पहला सिक्का चित है तो दो चित आना = 1/2
बेयस प्रमेय किसी घटना के घटित होने की संभावना की गणना पहले से घटित किसी अन्य घटना की संभावना के आधार पर करता है। बेयस प्रमेय का सूत्र इस प्रकार दिया गया है:
P(A|B) = (P(B|A) * P(A)) / P(B)
P(A|B) सम संख्या A की संभावना जब सम संख्या B पहले ही घटित हो चुकी हो। संभावना P(B) शून्य नहीं होनी चाहिए।
- आपको घटना A की प्रायिकता ज्ञात करनी है, जो तब दी जाती है जब घटना B (साक्ष्य) सत्य हो।
- P(A) A की पूर्वानुमेयता (पूर्वानुमान, अर्थात् प्रमाण से पहले किसी देखी गई घटना की संभावना) है। यहाँ, घटना B एक अज्ञात उदाहरण का मान है।
- P(A|B) घटना B की पश्च प्रायिकता है, अर्थात साक्ष्य को देखने के बाद घटना की प्रायिकता।
नैवे बेयस क्लासिफायर का कार्यशील उदाहरण
आइए बायेस नैव क्लासिफायर के काम को समझने के लिए शॉपिंग का एक उदाहरण लेते हैं। इस डेटासेट में, इस उदाहरण के लिए 30 पंक्तियों का एक छोटा सा नमूना डेटासेट है।
डेटासेट
समस्या यह है कि नैवे बेयस प्रमेय का उपयोग करके यह पूर्वानुमान लगाना है कि क्या कोई व्यक्ति दिन, छूट और मुफ्त डिलीवरी के विशिष्ट संयोजन पर कोई उत्पाद खरीदेगा।
चरण 1) हम डेटासेट में उल्लिखित इनपुट प्रकारों, जैसे दिन, छूट और निःशुल्क डिलीवरी का उपयोग करके प्रत्येक विशेषता के लिए आवृत्ति तालिकाएँ बनाएंगे।
मान लीजिए कि इवेंट 'खरीदें' को 'A' से दर्शाया गया है, और स्वतंत्र चर, जैसे 'छूट', 'मुफ़्त डिलीवरी' और 'दिन' को 'B' से दर्शाया गया है। हम बेयस प्रमेय को लागू करने के लिए इन घटनाओं और चरों का उपयोग करेंगे।
चरण 2) अब आइए एक-एक करके संभावना तालिकाओं की गणना करें।
उदाहरण 1:
इस संभावना तालिका के आधार पर, हम नीचे दिए अनुसार सशर्त संभावनाओं की गणना करेंगे।
P(A) = P(No Buy) = 6/30 = 0.2 P(B) = P(Weekday) = 11/30 = 0.37 P(B/A) = P(Weekday / No Buy) = 2/6 = 0.33
और, बेयस प्रमेय का उपयोग करके P(A/B) ज्ञात करें,
P(A/B) = P(No Buy / Weekday) = P(Weekday / No Buy) * P(No Buy) / P(Weekday) = (2/6 * 6/30) / (11/30) = 0.1818
इसी प्रकार, यदि A खरीदें, तो
= P(Buy / Weekday) = P(Weekday / Buy) * P(Buy) / P(Weekday) = (9/24 * 24/30) / (11/30) = 0.8181
नोट: चूंकि P(खरीदें | सप्ताह के दिन) P(कोई खरीद नहीं | सप्ताह के दिन) से अधिक है, इसलिए हम यह निष्कर्ष निकाल सकते हैं कि ग्राहक द्वारा उत्पाद खरीदने की सबसे अधिक संभावना सप्ताह के दिन होगी।
चरण 3) इसी तरह, हम तीनों चरों के आधार पर किसी घटना के घटित होने की संभावना की गणना कर सकते हैं। अब हम उपरोक्त आवृत्ति तालिकाओं का उपयोग करके तीनों चरों के लिए संभावना तालिकाओं की गणना करेंगे।
उदाहरण 2:
अब, इन तीन संभावना तालिकाओं का उपयोग करके, हम गणना करेंगे कि क्या कोई ग्राहक 'दिन', 'छूट' और 'मुफ्त डिलीवरी' के विशिष्ट संयोजन के आधार पर खरीदारी करने की संभावना रखता है।
यहां, आइए हम इन कारकों का संयोजन देखें:
- दिन = छुट्टी
- छूट = हाँ
- निःशुल्क डिलीवरी = हाँ
जब, A = खरीदें
दिन, छूट और मुफ्त डिलीवरी के निम्नलिखित संयोजन पर खरीद की सशर्त संभावना की गणना करें।
जहाँ B है:
- दिन = छुट्टी
- छूट = हाँ
- निःशुल्क डिलीवरी = हाँ
और A = खरीदें
इसलिए,
= P(A/B) = P(Buy / Discount=Yes, Day=Holiday, Free Delivery=Yes) = ( P(Discount=(Yes/Buy)) * P(Free Delivery=(Yes/Buy)) * P(Day=(Holiday/Buy)) * P(Buy) ) / ( P(Discount=Yes) * P(Free Delivery=Yes) * P(Day=Holiday) ) = (19/24 * 21/24 * 8/24 * 24/30) / (20/30 * 23/30 * 11/30) = 0.986
जब, A = कोई खरीद नहीं
इसी प्रकार, दिन, छूट और मुफ्त डिलीवरी के निम्नलिखित संयोजन पर खरीद की सशर्त संभावना की गणना करें।
जहाँ B है:
- दिन = छुट्टी
- छूट = हाँ
- निःशुल्क डिलीवरी = हाँ
और A = कोई खरीद नहीं
इसलिए,
= P(A/B) = P(No Buy / Discount=Yes, Day=Holiday, Free Delivery=Yes) = ( P(Discount=(Yes/No Buy)) * P(Free Delivery=(Yes/No Buy)) * P(Day=(Holiday/No Buy)) * P(No Buy) ) / ( P(Discount=Yes) * P(Free Delivery=Yes) * P(Day=Holiday) ) = (1/6 * 2/6 * 3/6 * 6/30) / (20/30 * 23/30 * 11/30) = 0.027
चरण 4) अत,
खरीद की संभावना = 0.986
खरीदारी न होने की संभावना = 0.027
अंत में, हमारे पास इस दिन खरीदने की सशर्त संभावनाएँ हैं। आइए अब हम घटनाओं की संभावना प्राप्त करने के लिए इन संभावनाओं को सामान्यीकृत करें।
- संभावनाओं का योग = 0.986 + 0.027 = 1.013
- खरीद की संभावना = 0.986 / 1.013 = 97.33 %
- खरीद न होने की संभावना = 0.027 / 1.013 = 2.67 %
ध्यान दें कि, चूंकि 97.33%, 2.67% से अधिक है। हम यह निष्कर्ष निकाल सकते हैं कि औसत ग्राहक छुट्टी के दिन छूट और मुफ़्त डिलीवरी के साथ खरीदारी करेगा।
नैवे बेयस मॉडल के प्रकार
नैवे बेयस क्लासिफायर के कई प्रकार हैं। यहाँ हमने मल्टीनोमियल, बर्नौली और गॉसियन नैवे बेयस क्लासिफायर पर चर्चा की है।
1. मल्टीनोमियल नैवे बेयस
इस प्रकार के नैवे बेयस मॉडल का उपयोग दस्तावेज़ वर्गीकरण समस्याओं के लिए किया जाता है। यह उन विशेषताओं के साथ काम करता है जो दस्तावेज़ में शब्दों की आवृत्ति को दर्शाते हैं। क्लासिफायर किसी दस्तावेज़ के किसी विशिष्ट श्रेणी, जैसे खेल, राजनीति या प्रौद्योगिकी से संबंधित होने की संभावना निर्धारित करने के लिए शब्दों की घटना और गिनती पर विचार करता है।
2. बर्नौली नैवे बेयस
यह मल्टीनोमियल नैवे बेयस के समान है। बर्नौली नैवे बेयस क्लासिफायर का उपयोग दस्तावेज़ वर्गीकरण कार्यों के लिए किया जाता है। हालाँकि, यह बूलियन प्रेडिक्टर का उपयोग करता है। यह दर्शाता है कि कोई शब्द मौजूद है या नहीं और केवल हाँ या नहीं के मान लेता है। क्लासिफायर इस आधार पर संभावनाओं की गणना करता है कि कोई शब्द टेक्स्ट में है या नहीं।
3. गॉसियन नैवे बेयस
इस क्लासिफायर का उपयोग निरंतर मूल्य के मामले में किया जाता है, लेकिन असतत मूल्य के मामले में नहीं। यह क्लासिफायर पैरामीटर का उपयोग करके संभावनाओं की गणना करता है गाऊसी वितरण, अर्थात, माध्य और विचरण।
सशर्त संभाव्यता का सूत्र बदल जाता है,
नैवे बेयस क्लासिफायर के लाभ और सीमाएं
मशीन लर्निंग में नैवे बेयस एल्गोरिथम के विभिन्न फायदे और नुकसान हैं।
नैवे बेयस क्लासिफायर के लाभ
- सरलता एवं दक्षता: नैवे बेयस को प्रशिक्षित करना और लागू करना सरल और आसान है। यह कम कम्प्यूटेशनल लागत के कारण कुशल है। यह बड़े डेटासेट को कुशलता से संभाल सकता है।
- तीव्र प्रशिक्षण और भविष्यवाणी: सुविधाओं के बीच स्वतंत्रता के कारण नैवे बेयस को बहुत अधिक प्रशिक्षण डेटा की आवश्यकता नहीं होती है। मॉडल के प्रशिक्षित होने के बाद यह तेजी से भविष्यवाणी कर सकता है।
- अनुमापकता: नैवे बेयस बड़ी संख्या में सुविधाओं वाले उच्च-आयामी डेटासेट को संभाल सकता है। यह तब भी अच्छा प्रदर्शन करता है जब सुविधाओं की संख्या प्रशिक्षण उदाहरणों की संख्या से अधिक होती है। यह डेटा बिंदुओं और भविष्यवाणियों की संख्या के साथ स्केल करता है। यह निरंतर और असतत दोनों डेटा को संभालता है।
- अप्रासंगिक विशेषताओं के प्रति मजबूती: यह अप्रासंगिक विशेषताओं के प्रति संवेदनशील नहीं है।
- छोटे प्रशिक्षण सेटों के साथ अच्छी तरह से काम करता है: नैवे बेयस सीमित प्रशिक्षण डेटा के साथ भी उचित परिणाम प्रदान कर सकता है। यह उन स्थितियों को संभाल सकता है जहाँ प्रशिक्षण उदाहरणों की संख्या कम है। इसके लिए बहुत अधिक प्रशिक्षण डेटा की आवश्यकता नहीं होती है।
नैवे बेयस क्लासिफायर की सीमाएँ
नैवे बेयस में यंत्र अधिगम यह मानता है कि सभी विशेषताएँ एक दूसरे से स्वतंत्र हैं। इसलिए, यह डेटा में विभिन्न विशेषताओं के बीच संबंधों को नहीं सीख सकता है। यह प्रत्येक विशेषता को इस तरह से मानता है जैसे कि उसका दूसरों से कोई संबंध नहीं है।
इस समस्या से निपटने के लिए आप इसका उपयोग कर सकते हैं निर्णय के पेड़, रैंडम फ़ॉरेस्ट, सपोर्ट वेक्टर मशीन (SVM), न्यूरल नेटवर्क आदि। इन एल्गोरिदम में डेटा में सुविधाओं के बीच जटिल संबंधों और निर्भरताओं को सीखने की क्षमता होती है। इसलिए ये अधिक सटीक परिणामों की भविष्यवाणी कर सकते हैं।
नैवे बेयस क्लासिफायर के अनुप्रयोग
चूंकि यह एल्गोरिदम तेज़ और कुशल है, आप इसका उपयोग वास्तविक समय की भविष्यवाणियां करने के लिए कर सकते हैं।
स्पैम का पता लगाना
ईमेल सेवाएँ (जैसे जीमेल) इस एल्गोरिथ्म का उपयोग यह निर्धारित करने के लिए करते हैं कि कोई ईमेल स्पैम है या नहीं। यह एल्गोरिथ्म स्पैम फ़िल्टरिंग के लिए बहुत बढ़िया है।
भावनाओं का विश्लेषण
यह शब्द चयन, वाक्य संरचना और संदर्भ जैसी विशेषताओं के आधार पर पाठ को सकारात्मक, नकारात्मक या तटस्थ के रूप में वर्गीकृत कर सकता है। इसका उपयोग सोशल मीडिया निगरानी, ग्राहक समीक्षा और बाजार अनुसंधान में किया जाता है।
दस्तावेज़ वर्गीकरण
यह दस्तावेज़ में विशिष्ट शब्दों या विशेषताओं की उपस्थिति या आवृत्ति के आधार पर दस्तावेज़ों को खेल, राजनीति, प्रौद्योगिकी या वित्त जैसी श्रेणियों में वर्गीकृत कर सकता है।
सिफारिश करने वाले सिस्टम
यह उपयोगकर्ता की प्राथमिकताओं, ऐतिहासिक डेटा और आइटम सुविधाओं का विश्लेषण करके उत्पादों, फिल्मों या लेखों की सिफारिश करने के लिए उपयोगकर्ता की रुचियों या प्राथमिकताओं का अनुमान लगा सकता है।
इस क्लासिफायर एल्गोरिथ्म का उपयोग फेस रिकॉग्निशन, मौसम की भविष्यवाणी, मेडिकल डायग्नोसिस, शॉपिंग, समाचार वर्गीकरण आदि में भी किया जाता है। आप Naive Bayes को इसमें लागू कर सकते हैं Python. एक नैवे बेयस क्लासिफायर है sklearn, यानी, sklearn.naive_bayes. यह मॉड्यूल है जो इस एल्गोरिथ्म को लागू करता है।
निष्कर्ष
मशीन लर्निंग में नैवे बेयस एल्गोरिदम क्लासिफायर हैं जिनका उपयोग ज्यादातर स्पैम डिटेक्शन, समाचार वर्गीकरण, भावना विश्लेषण, मौसम की भविष्यवाणी, खरीदारी आदि में किया जाता है। नैवे बेयस एल्गोरिदम बेयस प्रमेय पर आधारित हैं। यह कलन विधि सरल और लागू करने में आसान है। चूंकि यह तेज़ है इसलिए हम इसे वास्तविक समय के अनुप्रयोगों में उपयोग कर सकते हैं। इसका सबसे बड़ा नुकसान यह है कि यह स्वतंत्र विशेषताओं को मानता है (चूंकि वास्तविक जीवन में स्वतंत्र विशेषताएं शायद ही कभी संभव होती हैं, इसलिए इसे Naive के रूप में जाना जाता है)। यह प्रत्येक विशेषता को समान मानता है। इस कमी को दूर करने के लिए आप निर्णय वृक्ष, रैंडम फ़ॉरेस्ट, सपोर्ट वेक्टर मशीन (SVM) आदि जैसे अन्य क्लासिफायर का उपयोग कर सकते हैं।