Python Academy · पाठ

Python में Q-Table लागू करना

Q-learning का एक सरल उदाहरण

पाठ 3, कुल 5 में से10 चरण

Python में Q-Table लागू करना, CoddyKit पर Python Academy का एक निःशुल्क पाठ है। यह 5 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Python Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Python Academy पाठ्यक्रम में कुल 5 पाठ शामिल हैं।

पाइथन में Q-लर्निंग लागू करना

इस पाठ में हम पाइथन में एक सरल Q-लर्निंग एल्गोरिदम लागू करेंगे। एजेंट अपने पुरस्कारों को अधिकतम करने के लिए ग्रिड संसार में मार्ग खोजना सीखेगा।

Python में Q-Table लागू करना — चित्र 1

परिवेश को परिभाषित करना

हम एक सरल 4×4 ग्रिड संसार परिभाषित करते हैं, जिसमें एजेंट ऊपरी-बाएँ कोने से शुरू होता है और पुरस्कार पाने के लिए उसे निचले-दाएँ कोने तक पहुँचना होता है।

import numpy as np

# Define the environment
num_states = 16  # 4x4 grid
num_actions = 4  # Up, Down, Left, Right

# Define rewards (-1 for each step, +10 for the goal)
rewards = np.zeros(num_states)
rewards[-1] = 10

Q-तालिका आरंभ करना

सभी अवस्था-क्रिया युग्मों के लिए Q-तालिका को zeros से आरंभ किया जाता है।

# Initialize the Q-Table
q_table = np.zeros((num_states, num_actions))

print("Initial Q-Table:")
print(q_table)

Q-लर्निंग एल्गोरिदम लागू करना

हम निम्नलिखित पैरामीटरों का उपयोग करते हैं:

  • α (अधिगम दर): यह नियंत्रित करती है कि नई जानकारी पुरानी जानकारी को कितनी मात्रा में बदले।
  • γ (छूट कारक): यह तत्काल पुरस्कारों की तुलना में भविष्य के पुरस्कारों को दिए जाने वाले महत्व को निर्धारित करता है।
  • ε (अन्वेषण दर): यह अन्वेषण और दोहन के बीच संतुलन बनाती है।
# Parameters
alpha = 0.1  # Learning rate
gamma = 0.9  # Discount factor
epsilon = 0.1  # Exploration rate

# Q-Learning loop
num_episodes = 1000
for episode in range(num_episodes):
    state = 0  # Start at the first state
    done = False
    while not done:
        # Exploration or exploitation
        if np.random.rand() < epsilon:
            action = np.random.randint(num_actions)  # Explore
        else:
            action = np.argmax(q_table[state])  # Exploit

        # Transition to the next state
        next_state = (state + action) % num_states  # Simplified transition logic
        reward = rewards[next_state]

        # Update Q-value
        q_table[state, action] = q_table[state, action] + alpha * (
            reward + gamma * np.max(q_table[next_state]) - q_table[state, action]
        )

        # Move to the next state
        state = next_state
        done = state == num_states - 1

सीखी हुई नीति का मूल्यांकन

प्रशिक्षण के बाद, हम Q-तालिका में संग्रहीत सर्वोत्तम क्रियाओं का अनुसरण करके नीति का मूल्यांकन करते हैं:

# Evaluate the policy
state = 0
optimal_path = [state]
while state != num_states - 1:
    action = np.argmax(q_table[state])
    state = (state + action) % num_states  # Simplified transition logic
    optimal_path.append(state)

print("Optimal Path:", optimal_path)

Q-तालिका का दृश्यांकन

प्रत्येक अवस्था-क्रिया युग्म के लिए सीखे गए मानों को समझने हेतु हम Q-तालिका का दृश्यांकन कर सकते हैं:

import matplotlib.pyplot as plt
import seaborn as sns

# Visualize Q-Table
plt.figure(figsize=(10, 8))
sns.heatmap(q_table, annot=True, fmt=".2f", cmap="coolwarm")
plt.title("Q-Table Heatmap")
plt.xlabel("Actions")
plt.ylabel("States")
plt.show()

Q-लर्निंग के लाभ

Q-लर्निंग कई लाभ प्रदान करता है:

  • सरल है और इसे आसानी से लागू किया जा सकता है।
  • प्रायिकतामूलक परिवेशों को संभाल सकता है।
  • पर्याप्त अन्वेषण होने पर सर्वोत्तम नीति तक अभिसरित होता है।

Q-लर्निंग की सीमाएँ

Q-लर्निंग की कुछ सीमाएँ हैं:

  • बड़े अवस्था-क्रिया स्थान वाले परिवेशों के लिए यह अच्छी तरह विस्तारित नहीं होता।
  • जटिल परिवेशों में अधिगम धीमा हो सकता है।
  • इसके लिए एक सुस्पष्ट अवस्था-क्रिया निरूपण आवश्यक होता है।

सारांश और अगले चरण

इस पाठ में हमने:

  • पाइथन में एक सरल Q-लर्निंग एल्गोरिदम लागू किया।
  • Q-तालिका का उपयोग करके एक एजेंट को ग्रिड संसार में मार्ग खोजना सिखाया।
  • सीखी हुई नीति का मूल्यांकन किया और Q-तालिका का दृश्यांकन किया।

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

Python में Q-Table लागू करना — चित्र 10
शुरुआत निःशुल्क

एआई शिक्षक के साथ Python सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
76
पाठ
320

अक्सर पूछे जाने वाले प्रश्न

क्या “Python में Q-Table लागू करना” पाठ निःशुल्क है?

हाँ—“Python में Q-Table लागू करना” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Python Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Python Academy पाठ्यक्रम में कुल 5 पाठ शामिल हैं।

“Python में Q-Table लागू करना” में मैं क्या सीखूँगा?

Q-learning का एक सरल उदाहरण आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Python Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Python Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Python Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 5 में से 3वाँ पाठ है।

“Python में Q-Table लागू करना” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Python Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Python Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. रीइन्फोर्समेंट लर्निंग की मूल अवधारणाएँ
  2. Q-Table की अवधारणा
  3. Python में Q-Table लागू करना
  4. डीप Q-Learning
  5. OpenAI Gym का अन्वेषण
← Python Academy पर वापस जाएँ