0Pricing
Learn AI with Python · บทเรียน

การใช้งานตาราง Q ในไพทอน

ตัวอย่างง่าย ๆ ของการเรียนรู้แบบ Q

การใช้งานตาราง Q ในไพทอน เป็นบทเรียน Learn AI with Python ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 5 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Learn AI with Python และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Learn AI with Python มีบทเรียนทั้งหมด 5 บทเรียน

การนำการเรียนรู้แบบ Q ไปใช้ในไพทอน

การนำการเรียนรู้แบบ Q ไปใช้ในไพทอน

ในบทเรียนนี้ เราจะนำอัลกอริทึมการเรียนรู้แบบ Q อย่างง่ายไปใช้ในไพทอน ตัวแทนจะเรียนรู้การนำทางในโลกแบบตารางเพื่อเพิ่มรางวัลให้ได้สูงสุด

การใช้งานตาราง Q ในไพทอน — ภาพประกอบ 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

ตาราง Q จะเริ่มต้นด้วยค่า zeros สำหรับคู่สถานะ-การกระทำทั้งหมด

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

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

การนำอัลกอริทึมการเรียนรู้แบบ Q ไปใช้

การนำอัลกอริทึมการเรียนรู้แบบ 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

เราสามารถแสดงภาพตาราง 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 อย่างง่ายไปใช้ใน Python
  • ฝึกตัวแทนให้เคลื่อนที่ในโลกตารางโดยใช้ตาราง Q
  • ประเมินนโยบายที่เรียนรู้และแสดงภาพตาราง Q

ถัดไป เราจะสำรวจการเรียนรู้แบบ Q เชิงลึก ซึ่งใช้โครงข่ายประสาทเทียมเพื่อรองรับสภาพแวดล้อมที่มีพื้นที่สถานะ-การกระทำขนาดใหญ่

การใช้งานตาราง Q ในไพทอน — ภาพประกอบ 10

คำถามที่พบบ่อย

บทเรียน “การใช้งานตาราง Q ในไพทอน” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การใช้งานตาราง Q ในไพทอน” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Learn AI with Python ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Learn AI with Python มีบทเรียนทั้งหมด 5 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การใช้งานตาราง Q ในไพทอน”

ตัวอย่างง่าย ๆ ของการเรียนรู้แบบ Q คุณปฏิบัติ Learn AI with Python ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Learn AI with Python หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Learn AI with Python บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 5 บทเรียน

บทเรียน “การใช้งานตาราง Q ในไพทอน” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Learn AI with Python นี้ได้ไหม

ได้ บทเรียน Learn AI with Python ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. แนวคิดพื้นฐานของการเรียนรู้แบบเสริมกำลัง
  2. แนวคิด Q-Table
  3. การใช้งานตาราง Q ในไพทอน
  4. การเรียนรู้แบบ Q เชิงลึก
  5. สำรวจ OpenAI Gym
← กลับไปที่ Learn AI with Python