paint-brush
बहु-सशस्त्र डाकू: आपके कार्य के लिए सर्वोत्तम सुदृढीकरण सीखने का समाधानद्वारा@teenl0ve
2,226 रीडिंग
2,226 रीडिंग

बहु-सशस्त्र डाकू: आपके कार्य के लिए सर्वोत्तम सुदृढीकरण सीखने का समाधान

द्वारा Valentine Shkulov9m2023/07/20
Read on Terminal Reader

बहुत लंबा; पढ़ने के लिए

लेख मल्टी-आर्म्ड बैंडिट्स (एमएबी) की पड़ताल करता है, जो एक सुदृढीकरण सीखने की तकनीक है जिसका उपयोग अन्वेषण (नए विकल्पों की कोशिश करना) और शोषण (वर्तमान सर्वोत्तम विकल्प का उपयोग करके) को संतुलित करने के लिए किया जाता है। यह ε-लालची, यूसीबी और थॉम्पसन सैंपलिंग जैसे विभिन्न एमएबी एल्गोरिदम पेश करता है। ε-लालची विधि अधिकांश समय सबसे प्रसिद्ध विकल्प का फायदा उठाती है, लेकिन नए विकल्प भी तलाशती है। दूसरी ओर, यूसीबी अनुमानित इनाम और संबंधित अनिश्चितता पर विचार करता है। थॉम्पसन सैम्पलिंग, एक बायेसियन दृष्टिकोण, एक संभाव्य क्रिया चयन का उपयोग करता है। एमएबी के पास विज्ञापन, स्वास्थ्य देखभाल, वेब अनुकूलन, गतिशील मूल्य निर्धारण, नेटवर्क रूटिंग और मशीन लर्निंग में व्यापक अनुप्रयोग हैं। अन्वेषण और शोषण का उनका संतुलन उन्हें अनिश्चित वातावरण में निर्णय लेने के लिए आदर्श बनाता है।
featured image - बहु-सशस्त्र डाकू: आपके कार्य के लिए सर्वोत्तम सुदृढीकरण सीखने का समाधान
Valentine Shkulov HackerNoon profile picture
0-item
1-item

मल्टी-आर्म्ड बैंडिट्स (एमएबी) सुदृढीकरण सीखने की दुनिया में आधारशिला बनाते हैं, जो उन परिदृश्यों पर बातचीत करने के लिए एक शक्तिशाली तंत्र की पेशकश करते हैं जो अन्वेषण और शोषण के बीच इष्टतम संतुलन की आवश्यकता होती है। अन्वेषण का तात्पर्य नवीन विकल्पों को आज़माना है, जबकि शोषण का अर्थ वर्तमान सर्वोत्तम विकल्प पर टिके रहना है। ऐसी परिस्थितियों में, एमएबी अक्सर अपने बुद्धिमान शिक्षण तंत्र के कारण एक शानदार विकल्प साबित होते हैं।


सबसे पहले, आइए एमएबी के पीछे की अवधारणा को जानें। कल्पना करें कि एक जुआरी स्लॉट मशीनों की एक श्रृंखला से घिरा हुआ है, जिनमें से प्रत्येक को "एक-सशस्त्र डाकू" के रूप में जाना जाता है। यहां किए जाने वाले महत्वपूर्ण निर्णयों में यह निर्धारित करना शामिल है कि कौन सी मशीनों को चलाना है, खेलने का क्रम और खेल की आवृत्ति। समस्या यह है कि प्रत्येक मशीन एक अलग, अनिश्चित इनाम प्रदान करती है। अंतिम लक्ष्य नाटकों के अनुक्रम में उच्चतम संचयी पुरस्कार प्राप्त करना है।

बहु-सशस्त्र डाकू क्या है?

"मल्टी-आर्म्ड बैंडिट" नाम एक विचार प्रयोग से आया है जिसमें स्लॉट मशीनों की एक पंक्ति में एक जुआरी शामिल था (जिसे अक्सर "वन-आर्म्ड बैंडिट्स" के रूप में जाना जाता है)। जुआरी को अपने कुल इनाम को अधिकतम करने के उद्देश्य से यह तय करने की आवश्यकता है कि कौन सी मशीनों को खेलना है, प्रत्येक मशीन को कितनी बार खेलना है और किस क्रम में खेलना है।


अधिक औपचारिक परिभाषा में, MAB समस्या एक टुपल (A, R) है

एमएबी समस्या में लक्ष्य एक नीति π (ऐतिहासिक डेटा से कार्यों तक मैपिंग) ढूंढना है जो दिए गए राउंड की संख्या में अपेक्षित कुल इनाम Q अधिकतम करता है।


एमएबी में मुख्य दुविधा "अन्वेषण" और "शोषण" के बीच का समझौता है:

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


सुदृढीकरण सीखने और एमएबी समस्याओं में अन्वेषण और शोषण को संतुलित करना एक मुख्य चुनौती है।


इस समस्या का समाधान करने के लिए, कई एल्गोरिदम विकसित किए गए हैं, जिनमें एप्सिलॉन-ग्रीडी, अपर कॉन्फिडेंस बाउंड (यूसीबी) और थॉम्पसन सैंपलिंग रणनीतियां शामिल हैं।


एमएबी के विस्तार के रूप में प्रासंगिक डाकुओं की विस्तृत समीक्षा अगले लेखों में शामिल की जाएगी।

एप्सिलॉन(ε)-लालची

एप्सिलॉन(ε)-लालची रणनीति एक सीधे सिद्धांत का पालन करती है। अधिकांश समय, (1 - ε) के रूप में निर्धारित, यह उच्चतम अनुमानित इनाम देने वाली कार्रवाई का विकल्प चुनता है, जिससे सबसे अच्छे ज्ञात विकल्प का फायदा उठाया जाता है। हालाँकि, बाकी समय, जिसे ε के रूप में परिमाणित किया गया है, यह एक यादृच्छिक क्रिया चुनता है, इस प्रकार नई संभावनाओं की खोज करता है। इस रणनीति की सरलता इसकी सादगी और प्रभावशीलता में निहित है, इस चेतावनी के बावजूद कि यह अपने अन्वेषण चरण के दौरान सबसे अधिक पुरस्कृत कार्यों के समान संभावना के साथ कम पुरस्कृत कार्यों का चयन कर सकती है और ε का मूल्य अन्वेषण और शोषण के बीच संतुलन निर्धारित करता है।


गणितीय रूप से इसे इस प्रकार परिभाषित किया जा सकता है:

इसे निम्नलिखित छद्मकोड द्वारा परिभाषित किया जा सकता है:


 Initialize Q(a) for all a Repeat: Generate a random number p between 0 and 1 If p < epsilon: Select a random action a Else: Select action a with the highest Q(a) Execute action a and observe reward r Update Q(a) = Q(a) + alpha * (r - Q(a))

एप्सिलॉन-लालची रणनीति का पायथोनिक कार्यान्वयन काफी सरल है:

 import numpy as np class EpsilonGreedy: def __init__(self, epsilon, counts, values): self.epsilon = epsilon self.counts = counts self.values = values def select_arm(self): if np.random.random() < self.epsilon: return np.random.choice(len(self.values)) else: return np.argmax(self.values) def update(self, chosen_arm, reward): self.counts[chosen_arm] += 1 n = self.counts[chosen_arm] value = self.values[chosen_arm] new_value = ((n-1) / float(n)) * value + (1 / float(n)) * reward self.values[chosen_arm] = new_value

ε-लालची एल्गोरिदम में सरलता का लाभ है और यह गारंटी है कि यह कई चरणों के बाद भी (थोड़ा सा) अन्वेषण जारी रखेगा। हालाँकि, यूसीबी या थॉम्पसन सैंपलिंग के विपरीत, जब इसकी जांच की जाती है तो यह इस बात पर ध्यान नहीं देता है कि प्रत्येक क्रिया के बारे में कितना जाना जाता है।

यूसीबी

इसके विपरीत, यूसीबी रणनीति किसी कार्रवाई पर निर्णय लेते समय अनुमानित इनाम और संबंधित अनिश्चितता या भिन्नता दोनों को ध्यान में रखती है। यह उच्च अनिश्चितता वाले कार्यों के लिए प्राथमिकता प्रदर्शित करता है, इसे कम करने और अधिक उत्पादक अन्वेषण चरण सुनिश्चित करने की कोशिश करता है। यूसीबी रणनीति को गणितीय रूप से इस प्रकार परिभाषित किया गया है:

इसका पायथन कार्यान्वयन इस प्रकार है:

 class UCB: def __init__(self, counts, values): self.counts = counts self.values = values def select_arm(self): n_arms = len(self.counts) for arm in range(n_arms): if self.counts[arm] == 0: return arm ucb_values = [0.0 for arm in range(n_arms)] total_counts = sum(self.counts) for arm in range(n_arms): bonus = sqrt((2 * log(total_counts)) / float(self.counts[arm])) ucb_values[arm] = self.values[arm] + bonus return np.argmax(ucb_values) def update(self, chosen_arm, reward): self.counts[chosen_arm] += 1 n = self.counts[chosen_arm] value = self.values[chosen_arm] new_value = ((n-1) / float(n)) * value + (1 / float(n)) * reward self.values[chosen_arm] = new_value

यूसीबी में अन्वेषण और शोषण के बीच संतुलन इसके सूत्र से आता है: एक कार्रवाई का अनुमानित मूल्य और एक शब्द जो समय के साथ घटता है (जैसा कि कार्रवाई के बारे में अधिक पता चलता है) लेकिन उस कार्रवाई के बारे में अनिश्चितता के साथ बढ़ता है। इस प्रकार, एल्गोरिथ्म उच्च अनिश्चितता और उच्च संभावित इनाम वाले हथियारों का पता लगाता है।

थॉम्पसन नमूनाकरण

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


बीटा-बर्नौली ढांचे में, हम प्रत्येक डाकू के इनाम वितरण को बर्नौली वितरण (यानी, बाइनरी पुरस्कार 0 या 1) के रूप में मानते हैं। फिर हम इनाम पाने की संभावना से पहले एक बीटा असाइन करते हैं। बीटा वितरण बर्नौली वितरण से पहले का संयुग्म है, जो आसान पश्च अद्यतन की अनुमति देता है।

तर्क:

  1. प्रत्येक बैंडिट को पैरामीटर α=1, β=1 (एकसमान पूर्व) के साथ एक बीटा वितरण निर्दिष्ट करें।

  2. प्रत्येक दौर के लिए:

    1. प्रत्येक डाकू के वर्तमान बीटा वितरण से एक यादृच्छिक संख्या का नमूना लें।
    2. उच्चतम नमूना संख्या वाले डाकू का चयन करें और उस डाकू को खींचें।
    3. खींचे गए डाकू से मिलने वाले इनाम पर गौर करें। यदि यह सफल है (1), तो डाकू के α को एक बढ़ा दें; यदि यह विफलता (0) है, तो बैंडिट के β को एक बढ़ा दें।
    4. चरण 2 और 3 दोहराएँ.
 import numpy as np from scipy.stats import beta class Bandit: def __init__(self, true_probability): self.true_probability = true_probability self.alpha = 1 self.beta = 1 def pull(self): return np.random.random() < self.true_probability def sample(self): return np.random.beta(self.alpha, self.beta) def update(self, reward): self.alpha += reward self.beta += (1 - reward) def Thompson(bandits, num_trials): rewards = np.zeros(num_trials) for i in range(num_trials): # Thompson sampling j = np.argmax([b.sample() for b in bandits]) # Pull the arm for the bandit with the largest sample reward = bandits[j].pull() # Update rewards log rewards[i] = reward # Update the distribution for the bandit whose arm we just pulled bandits[j].update(reward) return rewards # Suppose we have 3 bandits with these true probabilities true_probabilities = [0.2, 0.5, 0.75] bandits = [Bandit(p) for p in true_probabilities] # Run experiment rewards = Thompson(bandits, num_trials=10000) # Print the total reward print("Total reward earned:", rewards.sum()) print("Overall win rate:", rewards.sum() / len(rewards))

थॉम्पसन सैम्पलिंग इस प्रकार उन कार्यों की "खोज" करता है जिनके बारे में वह अनिश्चित है (जिनके लिए मूल्यों का वितरण फैला हुआ है) और उन कार्यों का "शोषण" करता है जिनके बारे में उसका मानना है कि उनका मूल्य उच्च हो सकता है (वे जिनके लिए वितरण उच्च मूल्यों की ओर झुका हुआ है)।


समय के साथ, जैसे-जैसे प्रत्येक क्रिया के बारे में अधिक सीखा जाता है, वितरण अधिक चरम पर पहुंच जाते हैं और एल्गोरिथम द्वारा चुनी गई क्रियाएं उच्चतम अपेक्षित मूल्य वाली क्रिया पर केंद्रित हो जाती हैं।

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

मल्टी-आर्म्ड बैंडिट्स आपके कार्य के लिए सर्वश्रेष्ठ आरएल क्यों हैं?

  1. सरलता : एमएबी एल्गोरिदम पूर्ण विकसित आरएल एल्गोरिदम की तुलना में सरल और अधिक कम्प्यूटेशनल रूप से कुशल हैं, जिन्हें संभावित रूप से बड़े राज्य-क्रिया मान तालिका या सन्निकटन को बनाए रखने और अद्यतन करने की आवश्यकता होती है।
  2. अन्वेषण और शोषण का संतुलन : एमएबी एल्गोरिदम नए कार्यों को आजमाने और ज्ञात अच्छे कार्यों पर टिके रहने के बीच व्यापार-बंद के प्रबंधन के लिए मजबूत तरीके प्रदान करते हैं।
  3. वास्तविक समय अनुकूलनशीलता : एमएबी एल्गोरिदम कार्यों के इनाम वितरण में बदलाव के लिए वास्तविक समय में अनुकूलित हो सकता है।
  4. आसान एकीकरण : एमएबी की सादगी और दक्षता मौजूदा प्रणालियों में आसान एकीकरण की अनुमति देती है, जिससे न्यूनतम व्यवधान के साथ तत्काल लाभ मिलता है।
  5. व्यापक प्रयोज्यता : एमएबी को विभिन्न क्षेत्रों में सफलतापूर्वक लागू किया गया है, जिसमें विज्ञापन (क्लिक-थ्रू दर को अधिकतम करने के लिए कौन सा विज्ञापन दिखाना है), स्वास्थ्य सेवा (उपचार रणनीतियों को वैयक्तिकृत करना), और वेब पेज अनुकूलन (ए/बी परीक्षण) शामिल हैं।

एमएबी के अनुप्रयोग

मल्टी-आर्म्ड बैंडिट्स (एमएबी) के विभिन्न उद्योगों और डोमेन में अनुप्रयोगों की एक विस्तृत श्रृंखला है। यहां कुछ उदाहरण दिए गए हैं कि उनका उपयोग कैसे किया जा सकता है:


  1. ऑनलाइन विज्ञापन : एमएबी का उपयोग उपयोगकर्ताओं को उनकी बातचीत के आधार पर प्रदर्शित करने के लिए विज्ञापनों के चयन को गतिशील रूप से समायोजित करने के लिए किया जा सकता है। यह समय के साथ क्लिक-थ्रू दरों या रूपांतरणों को अधिकतम करने में मदद करता है।
  2. क्लिनिकल परीक्षण : चिकित्सा अनुसंधान में, एमएबी एल्गोरिदम का उपयोग रोगियों को गतिशील रूप से विभिन्न उपचारों के लिए नियुक्त करने के लिए किया जा सकता है। यह सुनिश्चित करता है कि अधिक रोगियों को सबसे प्रभावी उपचार प्राप्त हो, इस प्रकार पछतावा कम हो जाता है, अर्थात, हमेशा सर्वोत्तम उपचार नहीं चुनने के कारण होने वाला नुकसान।
  3. समाचार आलेख अनुशंसा : समाचार वेबसाइटें प्रत्येक उपयोगकर्ता को दिखाए गए आलेखों को वैयक्तिकृत करने के लिए एमएबी का उपयोग कर सकती हैं। एमएबी एल्गोरिथ्म समय के साथ जान सकता है कि प्रत्येक उपयोगकर्ता किस प्रकार के लेखों में रुचि रखता है, और तदनुसार सिफारिशों को समायोजित कर सकता है।
  4. गतिशील मूल्य निर्धारण : ई-कॉमर्स प्लेटफॉर्म या एयरलाइंस वास्तविक समय में अपनी मूल्य निर्धारण रणनीतियों को अनुकूलित करने, ग्राहक व्यवहार और बाजार की गतिशीलता के आधार पर राजस्व को अधिकतम करने के लिए एमएबी एल्गोरिदम का उपयोग कर सकते हैं।
  5. नेटवर्क रूटिंग : कंप्यूटर नेटवर्किंग में, एमएबी एल्गोरिदम का उपयोग भीड़भाड़ को प्रबंधित करने और पैकेटों की रूटिंग को अनुकूलित करने के लिए किया जा सकता है। प्रत्येक मार्ग को एक हाथ के रूप में माना जा सकता है, और एल्गोरिदम पैकेट हानि या विलंबता को कम करने के लिए गतिशील रूप से मार्गों का चयन कर सकता है।
  6. मशीन लर्निंग हाइपरपैरामीटर ट्यूनिंग : एमएबी का उपयोग मशीन लर्निंग मॉडल में हाइपरपैरामीटर के चयन को अनुकूलित करने के लिए भी किया जा सकता है। हाइपरपैरामीटर के प्रत्येक सेट को एक हाथ के रूप में माना जा सकता है, और एल्गोरिदम इष्टतम मॉडल कॉन्फ़िगरेशन को खोजने के लिए चयन को पुनरावृत्त रूप से परिष्कृत कर सकता है।


संक्षेप में, एमएबी की उपयोगिता पारंपरिक सुदृढीकरण सीखने के कार्यों से कहीं आगे तक फैली हुई है। वे अनिश्चितता के माहौल में निर्णय लेने की प्रक्रियाओं को बढ़ाने, विभिन्न क्षेत्रों में वास्तविक दुनिया की समस्याओं का व्यावहारिक समाधान प्रदान करने के लिए एक प्रभावी ढांचे का प्रतीक हैं। इसलिए, जब कार्य में अन्वेषण और शोषण को संतुलित करना शामिल होता है, तो एमएबी अक्सर विकल्प के रूप में उभरते हैं, जो निर्णय लेने की समस्याओं के लिए एक बहुमुखी, मजबूत और अनुकूली समाधान प्रदान करते हैं।

निष्कर्ष

बहु-सशस्त्र डाकू, अन्वेषण और शोषण को प्रभावी ढंग से संतुलित करने की अपनी क्षमता के साथ, कई वास्तविक दुनिया की निर्णय लेने की समस्याओं का एक मजबूत समाधान प्रदान करते हैं। उनकी अंतर्निहित अनुकूलनशीलता और बहुमुखी प्रतिभा उन्हें न केवल सुदृढीकरण सीखने के दायरे में, बल्कि स्वास्थ्य सेवा से लेकर ऑनलाइन विज्ञापन तक अनुप्रयोगों की एक विस्तृत श्रृंखला में एक मूल्यवान उपकरण बनाती है। चाहे आप एक डेटा वैज्ञानिक हों, मशीन सीखने के शौकीन हों, या एक पेशेवर हों जो अपनी निर्णय लेने की प्रक्रियाओं को बढ़ाना चाहते हों, एमएबी रणनीतियों को समझना और लागू करना एक समृद्ध और पुरस्कृत अनुभव हो सकता है।