الأوزان والاحتمالات في NumPy choice ليستا مدخلين متطابقين لمجرد أن الأرقام تحدد تفضيل الخيارات. قد نكتب 2 و 5 و 3 كأوزان نسبية، ثم نعاملها خطأ كاحتمالات مباشرة. نؤلف قائمة من ثلاثة خيارات، ونحول أوزانها إلى احتمالات مع حفظ ترتيب الربط قبل التفكير في أي سحب عشوائي.
الخلاصة السريعة
لا؛ p في Generator.choice متجه احتمالات مرتبط بترتيب الخيارات، وليس قائمة أوزان خام غير مطبعة. نحول الأوزان المناسبة إلى حصص مجموعها 1 قبل وصف المدخل.
- توثق NumPy أن p يحمل احتمال كل عنصر، ويجب أن يجمع 1 عند التحويل إلىfloat64. [1] نستخدم قائمة أحادية البعد وسحبا مع الإرجاع في نطاق شرحنا.
- نختار أوزانا غير سالبة 2 و 5 و 3 ومجموعها 10. القسمة على 10 تعطي احتمالات 0.2 و 0.5 و 0.3 للخيارات أ وب وج بالترتيب.
- إذا بدلنا ترتيب الخيارات إلى ب وأ وج دون تبديل الاحتمالات معها، صار 0.2 لب و 0.5 لأ؛ حفظ مجموع 1 لا يحفظ ربط الاحتمال بالخيار.
- هذه احتمالات معلنة، ولا تضمن أن عشر سحوبات تنتج الأعداد 2 و 5 و 3. لم ننفذ choice أو سحبا فعليا؛ احفظ قائمة الخيارات وربطها وفروض السحب، ولا تستنتج تمثيل البيانات من التطبيع وحده.
ماذا يمثل p في عقد الواجهة؟
تعرّف NumPy p باحتمالات مرتبطة بكل عنصر، وتذكر أنه يجب أن يجمع 1 عند تحويله إلىfloat64. [1]
نقصر الشرح على قائمة أحادية البعد من أ وب وج، وعلى اختيار مع الإرجاع. لا نبحث هنا في اختيار صفوف مصفوفة أو في تحديث فرص السحب دون إرجاع؛ لكل منهما معلومات أخرى ينبغي مراجعتها.
الأوزان الخام تعبر في تمريننا عن نسب تفضيل اخترناها. ليست 2 و 5 و 3 احتمالات مباشرة، لأن مجموعها 10 ، ولأننا نحتاج وصفها كحصص من مجموع قبل تمريرها في المعنى الذي تشرحه الواجهة.
كيف نحول الأوزان إلى احتمالات؟
نختار الأوزان 2 و 5 و 3 للخيارات أ وب وج. كلها غير سالبة ومجموعها موجب يساوي 10. نقسم كل وزن على هذا المجموع:2/10 و 5/10 و 3/10 ، أي 0.2 و 0.5 و 0.3.
مجموع الحصص 1 ، وتظل حصة ب أكبر من أ وج في هذا المثال. لا نعطي الخيار احتمالا جديدا بمعرفة بيانات واقعية؛ إنما نحول وصف الأوزان الذي أعلنّاه إلى متجه احتمالات مكافئ له في نسب التفضيل.
لو كان مجموع الأوزان صفرا، فلن تنجح هذه القسمة حسابيا، ولن نختلق احتمالات منها. مثالنا ذو مجموع موجب، ولا يمثل وصفة قبول أي قائمة أرقام وصلت من مصدر مجهول.
| الخيار المؤلف | الوزن المعلن | الاحتمال بعد القسمة على 10 |
|---|---|---|
| أ | 2 | 0.2 |
| ب | 5 | 0.5 |
| ج | 3 | 0.3 |
| المجموع | 10 | 1 |
لماذا يجب أن يبقى ترتيب الربط واضحا؟
في الربط الأول، الاحتمال الأول 0.2 للخيار أ، والثاني 0.5 لب، والثالث 0.3 لج. نرتب قائمة الخيارات وحدها إلى ب ثم أ ثم ج، ونترك الاحتمالات كما هي؛ عندئذ تغير المعنى رغم بقاء الأرقام ومجموعها.
الاحتمال 0.2 صار مرتبطا بب، و 0.5 بأ. لا يصح أن نقول إننا غيرنا العرض فقط إذا كان العقد يربط عناصر قائمتين بحسب موضعها. نحتاج نقل الربط نفسه أو إعادة ترتيب الاحتمالات مع خياراتها.
هذه مراجعة لمدخل مؤلف، وليست مخرجات choice جربناها. يمكن كتابة جدول معرف الخيار واحتماله لتوضيح ما نريد قبل بناء القائمتين المطلوبتين في أي تنفيذ لاحق.
هل يعني التطبيع ظهور كل خيار بعدد محدد؟
0.2 و 0.5 و 0.3 احتمالات في اختيارنا المفترض، وليست قائمة أعداد ملزمة لعشر سحوبات. لا نعرض 2 و 5 و 3 كأنها حصيلة سحب نفذناه؛ لم نستدع مولدا عشوائيا في المقال.
كما لا يجعل التطبيع قائمة الخيارات ممثلة لمجتمع لم نراجعه. اختيار الأوزان ومصدر الحالات ومعنى الوحدة مسائل أخرى؛ هنا تحققنا من تحويل الأرقام وربطها فقط.
نقترح حفظ الأوزان الأصلية والمجموع والاحتمالات وترتيب الخيارات وإعداد الإرجاع. إذا ظهر اختلاف لاحقا، يساعد ذلك في التمييز بين تغير الربط وتغير عشوائي في نتائج فعلية، دون إعلان نتيجة لم نقسها.
المصادر ومتابعة القراءة
أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.
