मशीन लर्निंग में फाइंड-एस एल्गोरिदम को कैसे लागू करें?



यह आलेख मशीन लर्निंग में खोजने के एल्गोरिथ्म की अवधारणा को शामिल करता है। यह एक उदाहरण के रूप में उपयोग के मामले का उपयोग करके विभिन्न परिकल्पना शब्दावली के चारों ओर घूमता है।

में , अवधारणा सीखने को 'कहा जा सकता है' परिकल्पना के लिए संभावित परिकल्पना के पूर्वनिर्धारित स्थान के माध्यम से खोज करने की एक समस्या जो प्रशिक्षण के उदाहरणों में सबसे उपयुक्त है '- टॉम मिशेल। इस लेख में, हम एक ऐसे कॉन्सेप्ट लर्निंग अल्गोरिद्म से गुजरेंगे जिसे फाइंड-एस एल्गोरिथम के रूप में जाना जाता है। इस लेख में निम्नलिखित विषयों पर चर्चा की गई है।

हैशमैप और हैशटेबल के बीच जावा अंतर

मशीन लर्निंग में Find-S एल्गोरिथम क्या है?

फाइंड-एस एल्गोरिथ्म को समझने के लिए, आपको निम्नलिखित अवधारणाओं का एक मूल विचार होना चाहिए:





  1. सीखने की अवधारणा
  2. सामान्य परिकल्पना
  3. विशिष्ट परिकल्पना

1. संकल्पना सीखना

आइए अवधारणा सीखने को वास्तविक जीवन के उदाहरण के साथ समझने की कोशिश करें। अधिकांश मानव सीखने पिछले उदाहरणों या अनुभवों पर आधारित है। उदाहरण के लिए, हम किसी भी प्रकार के वाहन की पहचान करने में सक्षम हैं, जैसे कि मेक, मॉडल आदि जैसी सुविधाओं के एक निश्चित सेट के आधार पर, जो कि सुविधाओं के एक बड़े सेट पर परिभाषित होते हैं।



ये विशेष विशेषताएं वाहनों के बड़े सेट से कारों, ट्रकों आदि के सेट को अलग करती हैं। ये विशेषताएं जो कारों, ट्रकों आदि के सेट को परिभाषित करती हैं, उन्हें अवधारणाओं के रूप में जाना जाता है।

इसके समान, मशीनें अवधारणाओं से यह जानने के लिए भी पहचान सकती हैं कि कोई वस्तु किसी विशिष्ट श्रेणी की है या नहीं। कोई भी अवधारणा सीखने का समर्थन करने के लिए निम्नलिखित की आवश्यकता होती है:

  • प्रशिक्षण जानकारी
  • लक्ष्य की अवधारणा
  • वास्तविक डेटा ऑब्जेक्ट

2. सामान्य परिकल्पना



परिकल्पना, सामान्य रूप से, कुछ के लिए एक स्पष्टीकरण है। सामान्य परिकल्पना मूल रूप से प्रमुख चर के बीच सामान्य संबंध बताती है। उदाहरण के लिए, खाना ऑर्डर करने के लिए एक सामान्य परिकल्पना होगी मुझे बर्गर चाहिए।

G = {‘? ',‘?',,?;, ... '?'}

3. विशिष्ट परिकल्पना

विशिष्ट परिकल्पना सामान्य परिकल्पना में दिए गए चरों के बारे में सभी महत्वपूर्ण विवरणों को भरती है। ऊपर दिए गए उदाहरण में अधिक विशिष्ट विवरण होगा मैं एक चिकन पेपरोनी के साथ एक चीज़बर्गर को बहुत सारे लेटस के साथ भरना चाहता हूं।

S = {i & Phi ',' & Phi ',' & Phi ', ………,' & Phi '}

अब, मशीन लर्निंग में फाइंड-एस एल्गोरिथम के बारे में बात करते हैं।

फाइंड-एस एल्गोरिदम नीचे लिखे चरणों का अनुसरण करता है:

  1. सबसे विशिष्ट परिकल्पना के लिए। H 'को प्रारंभ करें।
  2. फाइंड-एस एल्गोरिथम केवल सकारात्मक उदाहरणों पर विचार करता है और नकारात्मक उदाहरणों को समाप्त करता है। प्रत्येक सकारात्मक उदाहरण के लिए, एल्गोरिथ्म उदाहरण में प्रत्येक विशेषता के लिए जाँच करता है। यदि विशेषता मान परिकल्पना मूल्य के समान है, तो एल्गोरिथ्म बिना किसी बदलाव के आगे बढ़ता है। लेकिन यदि विशेषता मान परिकल्पना मूल्य से अलग है, तो एल्गोरिथ्म इसे is में बदल देता है। '

अब जब हमें फाइंड-एस एल्गोरिथ्म की बुनियादी व्याख्या के साथ किया जाता है, तो आइए एक नजर डालते हैं कि यह कैसे काम करता है।

यह कैसे काम करता है?

फ्लोचार्ट-फाइंड-एस एल्गोरिथ्म इन मशीन लर्निंग - एडुरका

  1. प्रक्रिया The h ’को सबसे विशिष्ट परिकल्पना के साथ शुरू करने के साथ शुरू होती है, आम तौर पर, यह डेटा सेट में पहला सकारात्मक उदाहरण है।
  2. हम प्रत्येक सकारात्मक उदाहरण के लिए जाँच करते हैं। यदि उदाहरण नकारात्मक है, तो हम अगले उदाहरण पर आगे बढ़ेंगे, लेकिन यदि यह एक सकारात्मक उदाहरण है, तो हम इसे अगले चरण के लिए विचार करेंगे।
  3. हम जांच करेंगे कि क्या उदाहरण में प्रत्येक विशेषता परिकल्पना मूल्य के बराबर है।
  4. यदि मान मेल खाता है, तो कोई परिवर्तन नहीं किए गए हैं।
  5. यदि मान मेल नहीं खाता है, तो मान value में बदल जाता है? '
  6. हम ऐसा तब तक करते हैं जब तक हम डेटा सेट में अंतिम सकारात्मक उदाहरण तक नहीं पहुंच जाते।

फाइंड-एस एल्गोरिथम की सीमाएँ

नीचे सूचीबद्ध Find-S एल्गोरिथ्म की कुछ सीमाएँ हैं:

  1. यह निर्धारित करने का कोई तरीका नहीं है कि क्या परिकल्पना पूरे डेटा में सुसंगत है।
  2. असंगत प्रशिक्षण सेट वास्तव में फाइंड-एस एल्गोरिथ्म को भ्रमित कर सकते हैं, क्योंकि यह नकारात्मक उदाहरणों की अनदेखी करता है।
  3. फाइंड-एस एल्गोरिदम सर्वोत्तम संभव परिवर्तनों को निर्धारित करने के लिए एक बैकट्रैकिंग तकनीक प्रदान नहीं करता है जो परिणामस्वरूप परिकल्पना को बेहतर बनाने के लिए किया जा सकता है।

अब जब हम फाइंड-एस एल्गोरिथ्म की सीमाओं से अवगत हैं, तो आइए हम फाइंड-एस एल्गोरिथम के व्यावहारिक कार्यान्वयन पर एक नज़र डालते हैं।

फाइंड-एस एल्गोरिथम का कार्यान्वयन

कार्यान्वयन को समझने के लिए, आइए हम यह निर्धारित करने के लिए उदाहरणों के एक समूह के साथ एक छोटे डेटा सेट पर लागू करने का प्रयास करें कि क्या कोई व्यक्ति टहलने जाना चाहता है।

इस विशेष समस्या की अवधारणा इस बात पर होगी कि कोई व्यक्ति किस दिन सैर पर जाना पसंद करता है।

समय मौसम तापमान कंपनी आर्द्रता हवा जाता है
सुबहधूपगरमहाँहल्कामजबूतहाँ
संध्याबरसातसर्दीनहीं नहल्कासामान्यनहीं न
सुबहधूपमध्यमहाँसामान्यसामान्यहाँ
संध्याधूपसर्दीहाँऊँचामजबूतहाँ

डेटा सेट को देखते हुए, हमारे पास छह विशेषताएँ और एक अंतिम विशेषता है जो सकारात्मक या नकारात्मक उदाहरण को परिभाषित करती है। इस मामले में, हाँ एक सकारात्मक उदाहरण है, जिसका अर्थ है कि व्यक्ति टहलने जाएगा।

तो अब, सामान्य परिकल्पना है:

= {‘सुबह’, ’धूप’,, गर्म ’,, हां’, ’हल्का’, ’मजबूत’}

यह हमारी सामान्य परिकल्पना है, और अब हम प्रत्येक उदाहरण पर एक-एक करके विचार करेंगे, लेकिन केवल सकारात्मक उदाहरण।

एक= {‘सुबह’, ‘धूप’, ’?’,, हां ’,‘? ’,‘?}?

= {‘?’, ‘सनी’, ’?’,, यस ’,‘? ’,’?}

हमने परिणामी परिकल्पना प्राप्त करने के लिए सामान्य परिकल्पना में सभी विभिन्न मूल्यों को प्रतिस्थापित किया। अब जब हम जानते हैं कि फाइंड-एस एल्गोरिथ्म कैसे काम करता है, तो आइए हम एक कार्यान्वयन पर एक नज़र डालते हैं अजगर

उदाहरण

आइए उपरोक्त उदाहरण को लागू करने का प्रयास करें । उपरोक्त डेटा का उपयोग करके फाइंड-एस एल्गोरिदम को लागू करने का कोड नीचे दिया गया है।

आयात पंडों के रूप में पीडी आयात सुन्न के रूप में np #to ने सीएसवी फ़ाइल डेटा = pd.read_csv ('data.csv') प्रिंट (डेटा, 'एन') डेटा को पढ़ने के लिए सभी विशेषताओं का एक सरणी d = np.array पढ़ा। (डेटा) [:: - 1] प्रिंट ('n विशेषताएँ हैं:', d) # लक्ष्य को सकारात्मक और नकारात्मक उदाहरण देने वाला लक्ष्य = np.array (डेटा) [:, - 1] प्रिंट ('n) लक्ष्य: ', लक्ष्य) #training फ़ंक्शन को खोजने के लिए एल्गोरिथम डी ट्रेन (c, t) को लागू करने के लिए फ़ंक्शन: i, val in enumerate (t): if val ==' Yes ​​': specific_hypothesis = c [i]। कॉपी () के लिए मैं, वैल इन एन्युमरेट (c): अगर t [i] == 'हां': x के लिए रेंज में (len (specific_hypothesis)): if val [x]! = specific_hypothesis [x]: specific_hypothesis [! x] = '?' और: अंतिम वापसी की परिकल्पना प्रिंट # ('अंतिम परिकल्पना है:', ट्रेन (डी, लक्ष्य)

आउटपुट:

यह हमें इस लेख के अंत में लाता है जहाँ हमने Mach में Find-S Algorithm सीखा हैin इसके कार्यान्वयन और उपयोग के मामले के साथ सीखना। मुझे आशा है कि आप इस ट्यूटोरियल में आपके साथ साझा किए गए सभी के साथ स्पष्ट हैं।

अगर आपको यह लेख 'Find-S Algorithm In Machine Learning' पर प्रासंगिक लगा, तो इसे देखें दुनिया भर में फैले 250,000 से अधिक संतुष्ट शिक्षार्थियों के नेटवर्क के साथ एक विश्वसनीय ऑनलाइन शिक्षण कंपनी।

हम यहां आपकी यात्रा में हर कदम पर आपकी मदद करने के लिए हैं और एक पाठ्यक्रम के साथ आते हैं जो छात्रों और पेशेवरों के लिए बनाया गया है जो बनना चाहते हैं । पाठ्यक्रम आपको पायथन प्रोग्रामिंग में एक शुरुआत देने के लिए डिज़ाइन किया गया है और आपको विभिन्न प्रकार के साथ कोर और उन्नत पायथन अवधारणाओं के लिए प्रशिक्षित करता है। पसंद , , आदि।

यदि आपको कोई प्रश्न आता है, तो 'फाइंड-एस एल्गोरिथम इन मशीन लर्निंग' के टिप्पणी अनुभाग में अपने सभी प्रश्न पूछने के लिए स्वतंत्र महसूस करें और हमारी टीम उत्तर देने में प्रसन्न होगी।