WEBVTT

00:01.340 --> 00:03.110
สวัสดีทุกคนและยินดีต้อนรับกลับ

00:03.140 --> 00:11.300
ในการบรรยายครั้งที่แล้ว คุณได้เห็นวิธีที่เราใช้ฟังก์ชันตัวช่วยในการตั้งค่าแกนกลางของฟังก์ชันของเราในการฝึกโมเดลของเราอย่างแท้จริง

00:11.300 --> 00:16.430
ดังนั้นเราจึงมีสถานะเทอร์มินัล ตำแหน่งเริ่มต้น การดำเนินการถัดไป ตำแหน่งถัดไป และเส้นทางที่สั้นที่สุด

00:16.430 --> 00:21.460
เป็นตัวกำหนดว่าตัวแทนของเราส่วนใหญ่เป็นอย่างไร หรือสภาพแวดล้อมทำงานอย่างไร

00:21.470 --> 00:25.520
สิ่งสุดท้ายที่เราต้องทำคือใช้การฝึกอบรมของเราเพื่อใช้การฝึกอบรมของเรา

00:25.520 --> 00:31.940
มันค่อนข้างตรงไปตรงมาในแง่ของสิ่งที่เราจำเป็นต้องรวมไว้ด้วยว่าเราจะดำเนินการอย่างไรเป็นอีกเรื่องหนึ่ง

00:32.180 --> 00:36.830
อย่างที่กล่าวไว้เช่นกัน ถ้าพวกคุณใช้วิธีอื่นหรือคุณต้องการปรับแต่งสิ่งนี้และทดลองกับมัน

00:36.830 --> 00:38.510
ขอแนะนำเป็นอย่างยิ่ง

00:38.510 --> 00:43.670
นอกจากนั้น หากคุณใช้แนวทางอื่นและต้องการหารือเกี่ยวกับเรื่องนี้ โปรดแชร์ในคำถามและคำตอบ

00:43.700 --> 00:45.470
มากกว่ายินดีที่จะพูดคุยกับคุณ

00:45.470 --> 00:50.510
เป็นความคิดที่ดีเพราะมีหลายวิธีในการแก้ปัญหานี้ และคุณอาจพบวิธีที่ดีกว่า

00:50.510 --> 00:52.220
ได้เปรียบกว่า

00:52.220 --> 00:55.670
เราสามารถดูข้อดีและข้อเสียได้อีกครั้ง มากกว่ายินดีที่จะหารือเกี่ยวกับเรื่องนี้

00:55.670 --> 00:56.090
ไม่เป็นไร.

00:56.090 --> 00:57.290
แล้วเราต้องทำอย่างไร?

00:57.320 --> 00:59.090
เราต้องเริ่มการฝึกอบรมของเรา

00:59.090 --> 01:00.050
สำหรับการอบรมของเรา

01:00.050 --> 01:01.520
เราต้องการใช้เอปไซลอน

01:01.520 --> 01:08.960
โดยพื้นฐานแล้วเปอร์เซ็นต์ที่เราจะทำสำหรับการดำเนินการที่ดีที่สุดแทนการกระทำแบบสุ่ม

01:08.960 --> 01:18.080
ลองตั้งค่าเอปซิลอนของเราแล้วตั้งค่าเป็น 0 กัน 9 และเรากำลังจะทำสิ่งที่คล้ายกับค่าของเราสำหรับปัจจัยส่วนลดและอัตราการเรียนรู้ของเรา

01:18.080 --> 01:23.300
ลองทำตัวประกอบส่วนลดเท่ากับ 0 9.

01:23.660 --> 01:29.780
ลองใช้อัตราการเรียนรู้ของเราและตั้งค่าให้เท่ากับ 0 9.

01:29.810 --> 01:33.860
นั่นจะเป็นอัตราที่ตัวแทนของเรากำลังจะไปหรือควรเรียนรู้

01:33.860 --> 01:39.320
และเราต้องการนำจำนวนตอนการฝึกด้วย เรียกว่า n ตอนการฝึก

01:39.320 --> 01:41.330
ดังนั้นเราจึงมีตอนการฝึกอบรมจำนวนหนึ่ง

01:41.330 --> 01:42.560
มาตั้งค่าเป็น 1000 กันเถอะ

01:42.560 --> 01:46.640
จะฝึกกี่ครั้งหรือจะฝึกกี่ตอน?

01:48.140 --> 01:48.800
สุดยอด.

01:49.010 --> 01:52.910
ตอนนี้ โดยพื้นฐานแล้ว สิ่งที่เราต้องการจะทำคือทำซ้ำในแต่ละตอน

01:52.910 --> 02:00.100
เราต้องการใช้ช่วงของจำนวนตอนการฝึกและกำหนดเอปไซลอนของเราโดยพื้นฐาน

02:00.110 --> 02:01.820
เราต้องการค้นหาความแตกต่างชั่วคราวของเรา

02:01.820 --> 02:04.640
เพื่อตั้งค่านั้น เราต้องดูค่า Q ก่อนหน้าบางค่า

02:04.640 --> 02:08.510
เราจำเป็นต้องคำนวณตำแหน่งเริ่มต้นของเราในดัชนีการดำเนินการของเรา

02:08.510 --> 02:10.790
มาเริ่มกันเลยดีกว่า

02:11.000 --> 02:12.500
มาลองกันใหญ่สำหรับลูป

02:12.500 --> 02:14.750
ดังนั้นเราจึงมีสี่ตอนของเรา

02:16.840 --> 02:20.080
ในช่วงจำนวนตอนการฝึกอบรมของเรา

02:22.120 --> 02:22.730
ไปเลย.

02:22.750 --> 02:33.970
ยกเว้นข้อผิดพลาดทางไวยากรณ์ในส่วนของฉันที่นั่น เราต้องการนำดัชนีแถวและดัชนีคอลัมน์สำหรับกริดของเราสำหรับดัชนีคอลัมน์ข้าวโพดของเรา

02:36.110 --> 02:39.950
และตั้งเป้าหมายตำแหน่งเริ่มต้น

02:39.950 --> 02:44.480
เราต้องการสถานที่เริ่มต้น ดังนั้นให้เทแต่ละตอน

02:45.040 --> 02:49.600
ตอนนี้เราสามารถตั้งค่าสถานะเทอร์มินัลได้ในขณะที่

02:51.210 --> 02:51.990
ไม่.

02:52.880 --> 02:56.330
เป็นสถานะเทอร์มินัล

02:56.360 --> 03:01.580
เราต้องการดูดัชนีแถวและดัชนีคอลัมน์

03:03.020 --> 03:07.340
ต่อไป มาตั้งค่าดัชนีการดำเนินการของเราสำหรับการดำเนินการถัดไป

03:07.340 --> 03:09.050
ดังนั้นเราจึงจำเป็นต้องดำเนินการต่อไป

03:09.050 --> 03:16.790
ในขณะที่เอเจนต์นี้วนซ้ำผ่านเขาวงกตสำหรับดัชนีการกระทำของเรา เราสามารถใช้ get next action ได้

03:17.740 --> 03:24.760
และเราสามารถใช้ดัชนีคอลัมน์ดัชนีแถวของเราแล้วเรียกเอปซิลอนของเรา

03:24.760 --> 03:29.860
เราอยากได้สิ่งนี้แทนการกระทำแบบสุ่ม ลองใช้ดัชนีคอลัมน์กัน

03:32.020 --> 03:33.880
และเราต้องการเอปซิลอน

03:34.300 --> 03:34.910
สุดยอด.

03:35.350 --> 03:37.510
ถ้าฉันสะกดถูกต้อง ที่นี่เรา

03:37.510 --> 03:39.220
คุณต้องการเอปซิลอน?

03:39.910 --> 03:42.330
เอาล่ะ ให้ฉันลบ OC นี้ทิ้งไป

03:42.370 --> 03:48.280
ให้ฉันหยิบโค้ดที่เหลือมา แล้วเราจะอธิบายให้ฟัง จะได้ไม่ต้องคอยดูฉันพิมพ์แต่ละบรรทัด

03:48.280 --> 03:55.120
แต่จำไว้ว่าเราต้องการเข้าถึงสิ่งนี้ในการตั้งค่าแถวเก่าอย่างไร เราจำเป็นต้องมีดัชนีแถวเก่า

03:55.120 --> 04:00.310
เราอยากได้รางวัลสำหรับคอลัมน์และแถวของเราด้วย

04:00.310 --> 04:05.890
เราจำเป็นต้องดูค่าคิวและค่าคิวเก่า และเราต้องคำนวณความแตกต่างชั่วคราวของเรา

04:06.220 --> 04:10.000
OC ดังนั้นคุณจะเห็นการเปลี่ยนแปลงในโค้ดหรือการอัปเดตโค้ด

04:10.000 --> 04:16.450
เราใช้ดัชนีแถวเก่าและดัชนีคอลัมน์เก่าเพื่อดูดัชนีแถวและดัชนีคอลัมน์

04:16.450 --> 04:22.300
ดัชนีคอลัมน์ดัชนีแถวของเรา เท่ากับตำแหน่งถัดไปของเรา และตำแหน่งถัดไปของเราจะต้องใช้ดัชนีแถว

04:22.300 --> 04:24.280
คอลัมน์ ดัชนี และการดำเนินการ

04:25.250 --> 04:27.410
สุดท้ายนี้ เรากำลังดูรางวัล

04:27.680 --> 04:34.640
ค่า Q เก่าของเราจะเป็นค่า Q ที่มีดัชนีแถวเก่า ดัชนีคอลัมน์เก่า และอีกครั้ง อ้างอิงดัชนีการดำเนินการของเราและการคำนวณความแตกต่างชั่วคราวของเรา

04:34.640 --> 04:40.700
ซึ่งเป็นรางวัลของเรา บวกกับปัจจัยส่วนลดคูณด้วยค่า Q กับแถว ดัชนีและดัชนีคอลัมน์ลบด้วยค่า

04:40.700 --> 04:48.440
Q เก่าจากค่า Q ก่อนหน้า

04:50.040 --> 04:56.040
เกือบเสร็จแล้วเมื่อเราต้องการค่า Q ใหม่ ซึ่งเป็นค่า Q เดิมของเรา บวกกับอัตราการเรียนรู้

04:56.040 --> 05:04.560
เวลา ความแตกต่างของเวลา และค่า Q ของเราที่มีดัชนีแถวเก่าในดัชนีคอลัมน์เก่าของเรา เท่ากับค่า Q ใหม่

05:05.770 --> 05:09.940
หากคุณต้องการพูดคุยเรื่องนี้เพิ่มเติมอีกครั้ง ขอแนะนำ Q&amp;A เป็นอย่างยิ่ง

05:09.940 --> 05:11.270
กรุณาอย่าลังเลที่จะพิมพ์

05:11.290 --> 05:13.660
ลองทดลองกับตัวแปรทั้งหมดที่ใช้ในที่นี่

05:13.660 --> 05:17.380
ถ้าคุณต้องการดูรูปร่าง ดูว่ามันสามารถใช้ได้อย่างไร อ้างอิงถึงอะไร

05:17.380 --> 05:20.620
ฉันขอแนะนำอย่างยิ่งและฉันยินดีที่จะหารือเพิ่มเติมเกี่ยวกับเรื่องนี้

05:21.040 --> 05:24.640
สิ่งสุดท้ายที่เราสามารถทำได้ เราจึงได้รับการแจ้งเตือนเล็กน้อย

05:24.640 --> 05:30.040
มาเพิ่มคำสั่งพิมพ์เพื่อให้เราทราบเมื่อการฝึกอบรมเสร็จสิ้นสำหรับ 1,000 แถวของเรา

05:30.040 --> 05:30.880
ไม่เป็นไร.

05:30.910 --> 05:34.660
หากไม่มีข้อผิดพลาดทางไวยากรณ์ในส่วนของฉัน เราควรจะไปได้ดี

05:34.690 --> 05:36.730
สมุดบันทึกการทำงานร่วมกันได้รับการเตรียมใช้งานแล้ว

05:36.730 --> 05:37.770
ฉันรันใหม่ทุกอย่าง

05:37.820 --> 05:38.710
ให้ฉันดำเนินการนี้

05:38.710 --> 05:41.560
มันควรจะเร็วมากเพราะเราใช้แค่ numpy

05:41.590 --> 05:44.050
เป็นโมเดลที่ปรับให้เหมาะสมที่สุดในแง่หนึ่ง

05:44.080 --> 05:47.080
ให้ฉันคลิกที่นี่แล้วเราจะมองหาเส้นทางที่สั้นที่สุด

05:48.400 --> 05:48.790
ไม่เป็นไร.

05:48.790 --> 05:50.320
เรามีการฝึกอบรมของเราเสร็จสมบูรณ์

05:50.530 --> 05:54.820
เรามาพิมพ์พาธที่สั้นที่สุดสำหรับตัวเลือกเริ่มต้นกันด้วย

05:54.820 --> 05:59.920
ดังนั้นเราจึงเริ่มต้นที่แถวที่สาม คอลัมน์ที่เก้า โดยมีตัวเลือกเส้นทางที่สั้นที่สุดและเส้นทางที่สั้นที่สุดของเรา

06:00.010 --> 06:06.940
เราต้องการดูแถวที่ห้าและศูนย์และเริ่มต้นที่แถวที่เก้าและคอลัมน์ที่ห้า

06:07.030 --> 06:08.320
มาพิมพ์สิ่งเหล่านี้กัน

06:08.920 --> 06:09.430
สุดยอด.

06:09.430 --> 06:12.430
เรามีเส้นทางที่สั้นที่สุด แต่ยังไม่จบ

06:12.430 --> 06:13.630
เราเกือบจะอยู่ที่นั่นแล้ว

06:13.870 --> 06:22.840
เราสามารถเห็นบุรุษไปรษณีย์ของเราได้เส้นทางที่สั้นที่สุดโดยอัตโนมัติจากกฎหมายที่เราสามารถพิจารณาที่ตั้งจากเมืองของเราไปยังพื้นที่บรรจุสินค้า

06:22.840 --> 06:25.540
แต่จะเกิดอะไรขึ้นกับสถานการณ์ย้อนกลับหรือสถานการณ์ตรงกันข้าม?

06:25.540 --> 06:31.300
โดยทั่วไปหมายถึงบุรุษไปรษณีย์ของเราสามารถส่งสินค้าจากที่ใดก็ได้ในเมืองไปยังพื้นที่บรรจุภัณฑ์หรือไม่?

06:31.300 --> 06:37.570
แต่หลังจากสินค้าแล้วก็ต้องไปจากบริเวณนั้น จากบริเวณบรรจุภัณฑ์ไปยังที่อื่นในเมือง

06:37.570 --> 06:40.470
เพราะจะต้องไปรับสินค้าชิ้นต่อไป

06:40.480 --> 06:43.840
แล้วเราจะทำอย่างไรเพื่อแก้ปัญหานี้?

06:43.840 --> 06:45.370
และมันค่อนข้างง่ายจริงๆ

06:45.370 --> 06:48.100
คุณสามารถแก้ไขลำดับของเส้นทางที่สั้นที่สุดได้

06:48.700 --> 06:52.270
ลองคิดดูสักครู่แล้วนี่จะเป็นทางออก

06:53.290 --> 06:55.150
เราสามารถใช้เส้นทางที่สั้นที่สุด

06:55.150 --> 07:00.580
ลองใช้แถวที่ห้าและคอลัมน์ที่สองกัน จากนั้นสิ่งที่คุณต้องทำคือใช้ตัวเลือกย้อนกลับ

07:00.580 --> 07:04.450
ด้วย Python เราใช้เส้นทางย้อนกลับและเราสามารถพิมพ์เส้นทางได้

07:04.450 --> 07:06.250
เรากำลังดูห้าและสอง

07:07.080 --> 07:07.860
และเราไปที่นั่น

07:07.860 --> 07:14.940
เรามีเส้นทางที่สั้นที่สุด และมีประโยชน์มากหากคุณต้องการจับภาพในเซลล์แล้วดึงลงมาเพื่อเปรียบเทียบและดูเส้นทางเหล่านั้น

07:14.940 --> 07:23.250
แต่คุณสามารถเห็นเส้นทางได้จริง หากคุณพิมพ์คำสั่ง ดูคอลัมน์ในลำดับ และดูว่าพนักงานขายเหล่านี้เดินทางอย่างไร

07:23.250 --> 07:25.770
คุณใช้ผลงานที่ยอดเยี่ยม

07:25.770 --> 07:26.820
คิวการเรียนรู้

07:26.820 --> 07:35.100
สิ่งที่เราเรียนรู้จากหลักสูตรนี้มีโบนัสและสถานการณ์สนุก ๆ และส่วนเพื่อแก้ปัญหาประเภทพนักงานขายที่ต้องเดินทาง

07:35.100 --> 07:41.880
เรากำลังดูบุรุษไปรษณีย์เพื่อส่งพัสดุและสิ่งของในเมืองเพื่อค้นหาตัวเลือกที่สั้นที่สุดและเส้นทางที่สั้นที่สุด

07:41.880 --> 07:47.460
ฉันขอแนะนำอย่างยิ่งให้คุณปรับแต่ง ทดสอบตัวเลือกอื่น ๆ เปลี่ยนไฮเปอร์พารามิเตอร์ และหากคุณพบอะไรที่ดีกว่านี้

07:47.460 --> 07:55.200
หากคุณพบว่ามีการปรับให้เหมาะสมหรือพารามิเตอร์ที่ดีที่สุดที่จะใช้ โปรดแบ่งปันใน Q&amp;A

07:55.680 --> 07:56.340
อัศจรรย์.

07:56.340 --> 07:58.260
ฉันหวังว่าพวกคุณจะสนุกกับสิ่งนี้จริงๆ

07:58.260 --> 08:01.470
โปรดปรับแต่ง ทดลอง และเรียนรู้ต่อไป

08:01.470 --> 08:02.820
มันสนุกมากที่ได้ทำงานด้วย

08:02.830 --> 08:03.030
ถาม

08:03.030 --> 08:04.980
เรียนรู้และสนุกกับฉัน
