Q-Learning คืออะไร?
กลับหน้ารายการบทความ

Q-Learning คืออะไร?

Q-Learning คืออะไร?

Windows อัพเดต: 10 กุมภาพันธ์ 2569

Q-Learning คืออะไร?

Q-Learning เป็นวิธีหนึ่งในการเรียนรู้แบบเสริมเหรียญในปัญหาการตัดสินใจ โดยมุ่งหวังให้ตัวแบบเรียนรู้การกระทำที่จะให้ผลลัพธ์ที่ดีที่สุดในสิ่งแวดล้อมที่เปลี่ยนแปลงได้

ขั้นตอนการทำงานของ Q-Learning

  1. กำหนด State (สถานะ) และ Action (การกระทำ): กำหนดชุดของสถานะที่เป็นไปได้และการกระทำที่ตัวแบบสามารถทำได้ในแต่ละสถานะ
  1. สร้างตาราง Q-Value (ค่า Q): สร้างตารางที่เก็บค่า Q-Value ซึ่งเป็นค่าประมาณการของความคุ้มค่าในการกระทำในแต่ละสถานะ
  1. เริ่มต้นค่า Q-Value: กำหนดค่าเริ่มต้นของ Q-Value สำหรับทุกสถานะและการกระทำ
  1. วนรอบการเรียนรู้: ในแต่ละรอบการทำงาน
- ตัวแบบทำการกระทำในสถานะปัจจุบันตามนโยบาย (Policy) ที่กำหนดโดย Q-Value
- ตัวแบบได้รับค่าประสบการณ์ (Reward) จากสิ่งแวดล้อมและย้ายไปสถานะใหม่
- อัปเดตค่า Q-Value ของสถานะและการกระทำตามสูตร Q-Learning

  1. เรียนรู้และปรับปรุง: ดำเนินการวนรอบการเรียนรู้เพื่อปรับปรุงค่า Q-Value จนกระทั่ง Q-Value converge หรือไม่เปลี่ยนแปลงมากแล้ว

ตัวอย่างโค้ด Python สำหรับ Q-Learning

import numpy as np

# กำหนดจำนวนสถานะและการกระทำ
num_states = 6
num_actions = 2

# สร้างตาราง Q-Value และกำหนดค่าเริ่มต้น
Q = np.zeros((num_states, num_actions))

# พารามิเตอร์การเรียนรู้
learning_rate = 0.1
discount_factor = 0.9
num_episodes = 1000

# วนรอบการเรียนรู้
for episode in range(num_episodes):
state = np.random.randint(0, num_states)
done = False

while not done:
action = np.argmax(Q[state, :])
next_state = np.random.choice(num_states)
reward = -1 if next_state != num_states - 1 else 10

Q[state, action] = Q[state, action] + learning_rate * (reward + discount_factor * np.max(Q[next_state, :]) - Q[state, action])

state = next_state
if state == num_states - 1:
done = True

# พิมพ์ผลลัพธ์ Q-Value
print("Q-Value:")
print(Q)

ในตัวอย่างโค้ดดังกล่าว เราจะพบว่ามีการสร้างตาราง Q-Value และทำการเรียนรู้ Q-Learning โดยใช้การอัปเดตค่า Q-Value ในแต่ละขั้นตอนของการกระทำในสิ่งแวดล้อม โดยพารามิเตอร์เช่น learning rate และ discount factor จะมีผลต่อกระบวนการเรียนรู้และปรับปรุงค่า Q-Value ในแต่ละรอบการเรียนรู้

D

DriteStudio | ไดรท์สตูดิโอ

ผู้ให้บริการ Cloud, VPS, Hosting และ Colocation ในประเทศไทย

ดำเนินงานโดย บริษัท คราฟต์ อินเตอร์เทค (ประเทศไทย) จำกัด

จัดการการตั้งค่าคุกกี้ของคุณ

เราใช้คุกกี้หลายประเภทเพื่อเพิ่มประสิทธิภาพประสบการณ์ของคุณบนเว็บไซต์ คลิกที่หมวดหมู่ด้านล่างเพื่อเรียนรู้เพิ่มเติมและปรับแต่งการตั้งค่า โปรดทราบว่าการบล็อกคุกกี้บางประเภทอาจส่งผลต่อประสบการณ์ของคุณ

คุกกี้ที่จำเป็น

คุกกี้เหล่านี้จำเป็นสำหรับการทำงานของเว็บไซต์ ช่วยให้ฟังก์ชันพื้นฐานเช่นการนำทางหน้าเว็บและการเข้าถึงพื้นที่ที่ปลอดภัย

ดูคุกกี้ที่ใช้
  • คุกกี้เซสชัน (การจัดการเซสชัน)
  • คุกกี้ความปลอดภัย (การป้องกัน CSRF)
เปิดเสมอ

คุกกี้ฟังก์ชัน

คุกกี้เหล่านี้ช่วยให้ฟีเจอร์ส่วนบุคคลเช่นการตั้งค่าภาษาและธีมทำงานได้ หากไม่มีคุกกี้เหล่านี้ ฟีเจอร์บางอย่างอาจทำงานไม่ถูกต้อง

ดูคุกกี้ที่ใช้
  • lang (การตั้งค่าภาษา)
  • theme (โหมดมืด/สว่าง)

คุกกี้วิเคราะห์

คุกกี้เหล่านี้ช่วยให้เราเข้าใจว่าผู้เข้าชมโต้ตอบกับเว็บไซต์อย่างไรโดยรวบรวมและรายงานข้อมูลแบบไม่ระบุตัวตน

ดูคุกกี้ที่ใช้
  • _ga (Google Analytics)
  • _gid (Google Analytics)

คุกกี้การตลาด

คุกกี้เหล่านี้ใช้เพื่อติดตามผู้เข้าชมข้ามเว็บไซต์เพื่อแสดงโฆษณาที่เกี่ยวข้องตามความสนใจของคุณ

ดูคุกกี้ที่ใช้
  • คุกกี้โฆษณา
  • พิกเซลรีมาร์เก็ตติ้ง

นโยบายความเป็นส่วนตัว