การเรียนรู้แบบเสริมกำลัง: บทนำ
การจำลองแบบ Python สำหรับ การเรียนรู้การเสริมกำลังหนังสือของ Sutton & Barto: บทนำ (ฉบับที่ 2)
หากคุณมีความสับสนเกี่ยวกับโค้ดหรือต้องการรายงานข้อบกพร่อง โปรดเปิดปัญหาแทนการส่งอีเมลถึงฉันโดยตรง และขออภัย ฉันไม่มีแบบฝึกหัดสำหรับหนังสือเล่มนี้
สารบัญ
บทที่ 1
- โอเอกซ์
บทที่ 2
- รูปที่ 2.1: ปัญหาโจรที่เป็นแบบอย่างจากเตียงทดสอบ 10 แขน
- รูปที่ 2.2: ประสิทธิภาพโดยเฉลี่ยของวิธี epsilon-greedy action-value บนเตียงทดสอบ 10 แขน
- รูปที่ 2.3: การประมาณการมูลค่าการกระทำเริ่มต้นในแง่ดี
- รูปที่ 2.4: ประสิทธิภาพโดยเฉลี่ยของการเลือกการกระทำของ UCB บนเตียงทดสอบ 10 แขน
- รูปที่ 2.5: ประสิทธิภาพโดยเฉลี่ยของอัลกอริธึมการไล่ระดับสีแบบแบนดิต
- รูปที่ 2.6: การศึกษาพารามิเตอร์ของอัลกอริธึมโจรต่างๆ
บทที่ 3
- รูปที่ 3.2: ตัวอย่างตารางที่มีนโยบายสุ่ม
- รูปที่ 3.5: วิธีแก้ปัญหาที่เหมาะสมที่สุดสำหรับตัวอย่างกริดเวิลด์
บทที่ 4
- รูปที่ 4.1: การบรรจบกันของการประเมินนโยบายแบบวนซ้ำในโลกตารางขนาดเล็ก
- รูปที่ 4.2: ปัญหาการเช่ารถของแจ็ค
- รูปที่ 4.3: วิธีแก้ปัญหาของนักพนัน
บทที่ 5
- รูปที่ 5.1: ฟังก์ชันค่าสถานะโดยประมาณสำหรับนโยบายแบล็คแจ็ค
- รูปที่ 5.2: นโยบายที่เหมาะสมที่สุดและฟังก์ชันมูลค่าสถานะสำหรับแบล็คแจ็คที่พบโดย Monte Carlo ES
- รูปที่ 5.3: การสุ่มตัวอย่างความสำคัญแบบถ่วงน้ำหนัก
- รูปที่ 5.4: การสุ่มตัวอย่างความสำคัญทั่วไปที่มีการประมาณการที่ไม่เสถียรอย่างน่าประหลาดใจ
บทที่ 6
- ตัวอย่าง 6.2: การเดินสุ่ม
- รูปภาพ 6.2: การอัพเดตเป็นชุด
- รูปที่ 6.3: Sarsa นำไปใช้กับโลกกริดที่มีลมแรง
- รูปที่ 6.4: งานเดินบนหน้าผา
- รูปที่ 6.6: ประสิทธิภาพระหว่างกาลและเส้นกำกับของวิธีการควบคุม TD
- รูปที่ 6.7: การเปรียบเทียบ Q-learning และ Double Q-learning
บทที่ 7
- รูปที่ 7.2: ประสิทธิภาพของวิธี TD แบบ n ขั้นตอนในการเดินสุ่ม 19 สถานะ
บทที่ 8
- รูปที่ 8.2: เส้นโค้งการเรียนรู้โดยเฉลี่ยสำหรับตัวแทน Dyna-Q ซึ่งแตกต่างกันไปตามจำนวนขั้นตอนการวางแผน
- รูปที่ 8.4: ประสิทธิภาพโดยเฉลี่ยของเอเจนต์ Dyna ในงานบล็อก
- รูปที่ 8.5: ประสิทธิภาพโดยเฉลี่ยของเอเจนต์ Dyna ในงานทางลัด
- ตัวอย่าง 8.4: การกวาดตามลำดับความสำคัญช่วยลดระยะเวลาการเรียนรู้ในงาน Dyna maze ลงอย่างมาก
- รูปที่ 8.7: การเปรียบเทียบประสิทธิภาพของการอัปเดตที่คาดหวังและการอัปเดตตัวอย่าง
- รูปที่ 8.8: ประสิทธิภาพเชิงสัมพัทธ์ของการแจกแจงการอัพเดตต่างๆ
บทที่ 9
- รูปที่ 9.1: อัลกอริธึมไล่ระดับมอนติคาร์โลในงานเดินสุ่ม 1,000 สถานะ
- รูปที่ 9.2: อัลกอริธึม TD แบบ n-step แบบกึ่งไล่ระดับในงานเดินสุ่ม 1,000 สถานะ
- รูปที่ 9.5: พื้นฐานฟูริเยร์เทียบกับพหุนามในงานเดินสุ่ม 1,000 สถานะ
- รูปที่ 9.8: ตัวอย่างผลกระทบของความกว้างของคุณลักษณะต่อลักษณะทั่วไปเริ่มต้นและความแม่นยำเชิงเส้นกำกับ
- รูปที่ 9.10: การปูกระเบื้องเดี่ยวและหลายกระเบื้องในงานเดินแบบสุ่ม 1000 สถานะ
บทที่ 10
- รูปที่ 10.1: ฟังก์ชั่นต้นทุนที่ต้องดำเนินการสำหรับงาน Mountain Car ในการทำงานครั้งเดียว
- รูปที่ 10.2: เส้นโค้งการเรียนรู้สำหรับงาน Sarsa แบบกึ่งไล่ระดับบนรถบนภูเขา
- รูปที่ 10.3: ประสิทธิภาพขั้นตอนเดียวเทียบกับหลายขั้นตอนของ Sarsa แบบกึ่งไล่ระดับในงาน Mountain Car
- รูปที่ 10.4: ผลของอัลฟ่าและ n ต่อประสิทธิภาพในช่วงแรกของ Sarsa กึ่งไล่ระดับแบบ n ขั้นตอน
- รูปที่ 10.5: Sarsa แบบกึ่งไล่ระดับแบบดิฟเฟอเรนเชียลในงานคิวการควบคุมการเข้าถึง
บทที่ 11
- รูปที่ 11.2: ตัวอย่างการโต้แย้งของ Baird
- รูปที่ 11.6: พฤติกรรมของอัลกอริธึม TDC บนตัวอย่างแย้งของ Baird
- รูปที่ 11.7: พฤติกรรมของอัลกอริธึม ETD ที่คาดหวังจากตัวอย่างโต้แย้งของ Baird
บทที่ 12
- รูปที่ 12.3: อัลกอริธึมการส่งคืน แล แบบออฟไลน์ในการเดินแบบสุ่ม 19 สถานะ
- รูปที่ 12.6: อัลกอริธึม TD(แล) ในการเดินสุ่ม 19 สถานะ
- รูปที่ 12.8: อัลกอริธึม TD(แล) ออนไลน์แบบ True ในการเดินแบบสุ่ม 19 สถานะ
- รูปที่ 12.10: Sarsa(แล) ที่มีรอยแทนที่บน Mountain Car
- รูปที่ 12.11: การเปรียบเทียบโดยสรุปของอัลกอริธึม Sarsa(แล) บน Mountain Car
บทที่ 13
- ตัวอย่าง 13.1: ทางเดินสั้นที่มีการสลับการกระทำ
- รูปที่ 13.1: เสริมกำลังให้กับโลกโครงข่ายทางเดินสั้น
- รูปที่ 13.2: เสริมกำลังด้วยเส้นฐานในโลกตารางทางเดินสั้น
สิ่งแวดล้อม
- หลาม 3.6
- มากมาย
- matplotlib
- เกิดในทะเล
- ทีคิวดีเอ็ม
การใช้งาน
ไฟล์ทั้งหมดมีอยู่ในตัวเอง
python any_file_you_want.py
ผลงาน
หากคุณต้องการสนับสนุนตัวอย่างที่ขาดหายไปหรือแก้ไขข้อบกพร่อง คุณสามารถเปิดปัญหาหรือส่งคำขอดึงข้อมูลได้