मल्टी-आर्म्ड बैन्डिट बनाना
मल्टी-आर्म्ड बैन्डिट समस्या रिइनफोर्समेंट लर्निंग में एक क्लासिक उदाहरण है, जो ऐसी स्थिति का वर्णन करती है जहाँ एक एजेंट को कई actions (या "arms") में से चुनना होता है, जबकि प्रत्येक के अपेक्षित reward का पता नहीं होता. समय के साथ, एजेंट हर विकल्प को explore करके सीखता है कि कौन-सा arm सबसे अधिक reward देता है. इस अभ्यास में, आप मल्टी-आर्म्ड बैन्डिट समस्या को simulate करने के लिए आधारभूत संरचना सेट अप करेंगे.
numpy लाइब्रेरी को np नाम से import किया गया है.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Gymnasium के साथ Reinforcement Learning
अभ्यास निर्देश
- प्रत्येक बैन्डिट के लिए वास्तविक सफलता दर को दर्शाने वाली random probabilities की array
true_bandit_probsजनरेट करें. - दो arrays,
countsऔरvalues, को शून्य से initialize करें;countsयह ट्रैक करता है कि प्रत्येक बैन्डिट कितनी बार चुना गया है, औरvaluesप्रत्येक बैन्डिट की अनुमानित जीतने की probability को दर्शाता है. rewardsऔरselected_armsarrays बनाएँ, ताकि हर iteration में प्राप्त rewards और चुने गए arms को स्टोर किया जा सके.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
def create_multi_armed_bandit(n_bandits):
# Generate the true bandits probabilities
true_bandit_probs = ____
# Create arrays that store the count and value for each bandit
counts = ____
values = ____
# Create arrays that store the rewards and selected arms each episode
rewards = ____
selected_arms = ____
return true_bandit_probs, counts, values, rewards, selected_arms