أهلا ومرحبا بكم مرة أخرى.
في المحاضرة الأخيرة ، انتهينا من إنهاء التعريف الفعلي لبيئتنا أو الانتهاء
منه ، وتمثيل قيمنا ، وعقابنا ومكافآتنا ، وأفعالنا في البيئة.
في هذه المحاضرة ، ما أريد القيام به هو تقديم التدريب ، والفكرة الكامنة وراء كيفية تدريب
النموذج ومساعدتك على البدء.
ثم في المحاضرة التالية قدم الحل والمزيد من التفاصيل للخطوات المتضمنة.
لذلك نحن بحاجة إلى تدريب النموذج على ما هو مطلوب للتدريب.
هذا نهج يمكننا استخدامه للخطوات التالية لتدريب النموذج.
نريد اختيار حالة عشوائية غير نهائية ، والتي ستكون المربع الأبيض لوكيلنا ، وهكذا
نريد أن نبدأ في حلقة التدريب لدينا.
ثم نريد بالطبع اختيار إجراء للوضع الحالي.
نحتاج إلى أن يكون وكيلنا قادرًا على التحرك في جميع أنحاء البيئة.
لذلك سيتم اختيار الإجراءات التي يجب اتخاذها بالنسبة لنا ولوكيلنا في هذا التحدي باستخدام Epsilon Greedy.
ستختار هذه الخوارزمية عادةً الإجراء الأكثر وعدًا للوكيل ، ولكن في بعض الأحيان تختار
خيارًا غير واعد.
من أجل تشجيع الوكيل على استكشاف البيئة ، نريد حقًا العثور على السياسة المثلى.
ثم نريد تنفيذ الإجراء المختار والانتقال إلى الحالة التالية.
انتقل إلى الموقع التالي.
ولماذا أقول هذا هو أنني أريدكم يا رفاق أن تفكروا في كيفية تقسيم هذا إلى
وظائف لحل هذه المشكلة.
بعد ذلك ، نحتاج إلى الحصول على مكافأة للذهاب إلى حالة جديدة ثم حساب الاختلاف الزمني.
يتعين علينا تحديث قيمة Q للحالة السابقة في زوج العمل وإذا كانت الحالة الجديدة أو الحالية
حالة طرفية ، فسننتقل بعد ذلك إلى واحدة.
وإلا فسننتقل إلى الخطوة الثانية.
إذن العملية برمتها ، سنهدف إلى تشغيل 1000 حلقة للتدريب.
هذا سيمنحنا فرصة كافية أو وكيلنا فرصة كافية لحساب أقصر مسار بين منطقة تغليف
العناصر والمواقع الأخرى في مثالنا في المدينة.
رائع.
لذا يرجى التفكير في الطريقة التي ستتعامل بها مع هذا وأريد مساعدتك في إعطائك فكرة لمحاولة حل هذا الأمر.
لذلك سننظر في حلنا ، سنستخدم الوظائف التالية.
يمكنني بالفعل التعليق على هذا لأنه خلية رمز.
اعتذاري.
لا نريد علامة الدولار.
نريد التعليق عليها وسأساعدك على البدء في أول واحد.
بشكل عام ، سيكون لدينا هذه الوظائف التي تحدد خطواتنا لتدريب النموذج.
وللمساعدة في البدء ، دعنا نلقي نظرة على كيفية تعاملنا مع الحالة النهائية
في إنشاء دالة داخل بايثون لهذه الأشياء الأولى أولاً ، نريد بالطبع تحديد وظيفتنا
كما هي.
الحالة النهائية.
وهذه هي أسماء الوظائف التي ستراها لتعطيك فكرة قد تساعدك في تقسيمها.
ما نريد القيام به هو أخذ فهرس الصف الحالي وفهرس العمود الحالي.
سيساعدنا هذا في منحنا منصب وكيلنا ، ويمكننا أن نضيف هنا لمكافآتنا صوابًا أو خطأً.
لذلك نحن في حاجة إليها إذا البيان.
لذلك دعونا نحدد مكافآتنا إذا.
من تيارنا.
فهرس الصف.
ويساوي فهرس العمود الحالي سالب واحد إذا كانا في تلك الحالة.
سوف نعود كاذبة أو غير ذلك أو غير ذلك.
سوف نعود.
حقيقي.
بسيط جدا بما فيه الكفاية.
وهذه هي الطريقة التي سنحصل بها على فكرتنا عن الحالة النهائية بعد أن يكون لدينا إذا كانت موجودة في الحالة النهائية
، فنحن نريد بعد ذلك الحصول على موقع البداية.
كتلميح ، يمكنك إلقاء نظرة على استخدام فهرس الصف الحالي وفهرس العمود الحالي وإعداد
numpy مع عشوائي.
نريد تهيئة ذلك بشكل عشوائي لأعمدة بيئة صفوف البيئة.
لكن في المحاضرة التالية سترى تفصيلاً.
سترى باقي الوظائف مع بعض الملاحظات للمساعدة في إعطائك فكرة.
آمل حقًا أن تغتنموا الفرصة لتجربة هذا لأنه مجرد طريقة رائعة للتعلم والمساعدة
في إعطائك فكرة.
وهذا لتبدأ.
لذلك لا تقلق ، ستحصل على الحل في المحاضرة التالية.
وبعد ذلك سننهي الأمور عن طريق تعيين عامل خصم إبسيلون ، ومعدل التعلم ، وتلك الأنواع من
الأشياء للتدريب ، وإدارة التدريب وعرض النتائج.
رائع.
دعنا نتوقف هنا مرة أخرى.
حاول حل هذا.
ولكن إذا لم يكن الأمر كذلك ، إذا كنت ترغب في التقدم فقط ، فانتقل إلى المحاضرة التالية
وستحصل على حل للتدريب لتحديد هذه الوظائف.
حسنًا ، سأراكم في المحاضرة القادمة.