كيفية إنشاء مجموعة اختبار لتقدير مؤشرات الأعمال دون اتصال؟ (مع رمز ورابط)

المؤلف: أرشاي جاين

ترجمة: تشانغ رونان

التدقيق: Zhang Ling

هذا المقال عن 6500 كلمة ، اقترح القراءة 10+ دقائق

ستقدم هذه المقالة كيفية استخدام بيانات السجل لإجراء فحص وتقييم أولي للنموذج الجديد قبل الانتقال عبر الإنترنت للاختبار ، بدءًا من المبادئ والتطبيقات.

العلامات: التعلم الآلي

المقدمة

لا تغطي معظم مسابقات التعلم الآلي من نوع Kaggle نقطة مهمة في سير العمل الفعلي للتعلم الآلي: أنشئ بيئة تقييم غير متصلة بالإنترنت عند إنشاء منتجات تعلُم الآلة .

مقارنة بالتدريب الفعلي لنماذج تعلُّم الآلة ، يحتاج الأشخاص عادةً إلى بذل المزيد من الجهد لتقسيم مجموعة التدريب / مجموعة الاختبار بشكل واضح ، والتحسين المستمر لمؤشر معين لتعلم الآلة. بعد أن عملت كمهندس في تعلُم الآلة واستثمرت الكثير من الوقت في نماذج التدريب على مجموعة البيانات الخاضعة للإشراف ، أدركت ذلك بعمق.

في منشور المدونة هذا ، أريد أن أعرض مكونًا رئيسيًا لتصميم بيئة تقييم غير متصلة بالإنترنت: إنشاء مجموعة اختبار يمكن استخدامها ليس فقط للمؤشرات الأساسية التي تعلمتها أجهزة الكمبيوتر ، مثل الدقة والدقة معدل الاسترداد (استدعاء) ؛ يمكنك أيضًا تقدير مؤشرات المنتج ، مثل معدل النقر والعائد وما إلى ذلك.

سنستخدم طريقة الاستدلال السببي بناءً على التقييم المعكوس ، وسنستخدم الحالات البديهية في الصناعة لتفسيرها ؛ ثم سندرس بعمق تنفيذ كود Python ونقوم في النهاية بمحاكاة مشهد حقيقي!

جدول المحتويات

1. مقارنة تقييم نموذج التعلم الآلي عبر الإنترنت وبلا اتصال بالإنترنت

2. دراسة حالة صناعة الإعلان

3. تصميم وبناء مخطط السببية

4. التدخل النموذجي

خامساً ، استخدم Python لمحاكاة التحليل المضاد للواقع (التحليل المضاد للواقع)

1. مقارنة تقييم نموذج التعلم الآلي عبر الإنترنت وبلا اتصال بالإنترنت

عادةً ما يبدأ تطوير نماذج التعلم الآلي ونشرها في بيئة الإنتاج بتحديد نموذج أساسي أو حتى نموذج إرشادي ، أي استخدام حركة المرور في الوقت الفعلي لاتخاذ القرارات. هذا لا يساعد فقط على جمع البيانات لتدريب النماذج الأكثر تعقيدًا ، بل يمكن استخدامه أيضًا كمعيار للأداء الجيد.

الخطوة التالية هي إنشاء مجموعات بيانات التدريب / التحقق من الصحة / الاختبار وتدريب النموذج دون اتصال. في هذه المرحلة ، لا يتخذ النموذج أي قرارات تؤثر على المستخدمين النهائيين. بعد إنشاء النموذج ، من الشائع نشره عبر الإنترنت وإجراء اختبارات أ / ب لمقارنته بالنموذج الإرشادي. عند تكرار نماذج تعلُّم الآلة الحالية في الإنتاج ، نتبع بشكل عام عملية مشابهة كما هو موضح أعلاه.

"في هذه العملية ، يتمثل أحد أكبر التحديات في كيفية التحقق من فعالية النموذج غير المتصل وتحديد النموذج الذي يجب الاتصال به عبر الإنترنت للاختبار."

  • إذا كانت مؤشرات التعلم الآلي غير المتصلة بالإنترنت (مثل AUC) للنماذج غير المتصلة بالإنترنت أفضل من النماذج عبر الإنترنت ، فهل يعني ذلك أن النماذج غير المتصلة بالإنترنت تكون أكثر فائدة للأعمال؟
  • هل يعني مؤشر تعلُّم الآلة العالي غير المتصل بالإنترنت تحسنًا في مؤشرات الأعمال؟
  • ما مدى الحاجة إلى تحسين مؤشرات النماذج غير المتصلة بالإنترنت قبل أن تستحق نشرها في نموذج جديد أو إجراء اختبار أ / ب؟

هذه بعض المشاكل الشائعة التي تصيب ممارسي التعلم الآلي في عملهم اليومي ، خاصة عند إنشاء منتجات التعلم الآلي الموجهة للمستخدم. تأتي هذه المشاكل من السيناريوهات الثلاثة الشائعة التالية:

  • تحاول تطبيقات تعلُّم الآلة تحفيز المنتجات التي يتم قياسها بواسطة مؤشرات الأعمال (مثل نسبة النقر إلى الظهور ، والأرباح ، ومشاركة المستخدم ، وما إلى ذلك) ، والاعتماد على ملاحظات / تفاعل المستخدم عبر الإنترنت ، وهو أمر يصعب تقييمه في وضع عدم الاتصال
  • عادةً ما يتم نشر نماذج التعلم الآلي جنبًا إلى جنب مع بعض استراتيجيات الأعمال ، مما سيؤثر على كيفية تحويل مخرجات النموذج إلى إجراءات المنتج ، مثل عند التوصية بالمحتوى ، مع مراعاة تنوع المحتوى والتفضيلات الخاصة بالمستخدم ؛
  • ستقوم العديد من التطبيقات بعمل تنبؤات بعد تلقي تنبؤات من نماذج متعددة. على سبيل المثال ، قد يعتمد اختيار الإعلان المراد عرضه على نسبة النقر إلى الظهور والتنبؤ بالطلب لنموذج التعلم الآلي ، مع مراعاة بعض قيود العمل ، مثل جرد المساحات الإعلانية ومطابقة المستخدم.

في هذه الحالات ، عادة ما تكون المؤشرات الشائعة لنموذج واحد (مثل الدقة ، AUC-ROC ، استدعاء الدقة ، وما إلى ذلك) غير كافية للحكم على ما إذا كان النموذج غير المتصل هو تحسن كبير على النموذج المستخدم. يمكن استخدام اختبارات A / B عادةً لمثل هذه التقييمات ، ولكن تشغيلها مكلف من حيث المال والوقت.

مستوحى من أدبيات الاستدلال السببي ، يوفر التقييم المعاكس طريقة لاستخدام سجلات الإنتاج لتقدير المقاييس عبر الإنترنت (مثل نسبة النقر إلى الظهور والإيرادات وما إلى ذلك). هذه خطوة وسيطة جيدة ، مما يساعد على فحص النماذج غير المتصلة واختيار كائن الاختبار المناسب لاختبار A / B ، حتى نتمكن من استكشاف المزيد من النماذج في البيئة غير المتصلة.

 2. دراسة حالة صناعة الإعلان

 لنأخذ صناعة الإعلان كمثال لفهم ذلك بشكل أفضل. خذ بعين الاعتبار كلا الطرفين في الحالات التالية:

  • جانب المستخدم: يزور المستخدم الموقع ويتلقى الإعلان ؛ إذا كان المستخدم يحب الإعلان ، ينقر ، وإلا فلن ينقر ؛
  • حزب العمل: يتلقى نظام تعلُم الآلة طلبًا لتحديد إعلان. يحتوي هذا الطلب على معلومات سياق المستخدم الحالي ، ثم يحدد الإعلان المطابق لعرضه.

يمكن استخدام المتغيرات التالية لتحديد النظام:

  • نية المستخدم (ش): يزور المستخدم الموقع لبعض الأغراض (على سبيل المثال ، يزور المستخدم amazon.com لشراء الأحذية) ؛
  • سياق المستخدم (س): يبدأ المستخدمون في التصفح على موقع الويب ، ويتم تجميع سلوك التصفح الخاص بهم كمتجه محتوى سياقي ؛
  • مخزون الإعلانات (ت): جرد الشرائح الإعلانية المتاحة للعرض ؛
  • العطاء (ب): نظام لعرض التسعير لكل نقرة على شريحة إعلانية ؛
  • الإعلان المحدد (أ): اختيار الإعلانات النهائية بناءً على تقديرات عروض الأسعار والنقرات ؛
  • عملية المستخدم (ص): الثنائية. 1 إذا نقر المستخدم على الإعلان المعروض ، وإلا 0 ؛
  • الإيرادات (ص): يتم إنشاء شكل معين من الدخل ($$) بعد تفاعل المستخدم.

ملحوظة: الأمثلة المستخدمة هنا والصيغ الرياضية التالية هي إصدارات مبسطة قليلاً من الأمثلة المستخدمة في (انظر الرابط في أسفل هذه المقالة). هذه ليست الدراسة الأصلية ، ولكنها محاولة لتلخيص فكرة الدراسة من خلال أمثلة بديهية وتطبيقها على البيانات المحاكاة.

3. تصميم وبناء مخطط السببية

أولاً ، ما هو مخطط السببية؟ هنا التعريف من ويكيبيديا:

"تعد المخططات السببية (المعروفة أيضًا باسم مخططات المسار ، أو شبكات بايزي السببية أو DAGs) نوعًا من نموذج الرسم البياني الاحتمالي المستخدم لترميز الافتراضات حول عملية توليد البيانات.

يمكن للنظام أعلاه مع المتغيرات أعلاه رسم مخطط السببية على النحو التالي:

من هذه الصورة ، يمكننا أن نرى التبعية أو الارتباط بين المتغيرات المختلفة:

  • u ، v هي متغيرات مستقلة ، تسمى أيضًا "المتغيرات الخارجية"
  • س = و (ش)
  • ب = و (س ، ت)
  • أ = و (س ، ب)
  • y = f (a، u)
  • ص = و (ص ، ب)

بناءً على هذا الفهم ، يمكننا بناء الاحتمال المشترك للنظام بأكمله كنموذج لتوليد الاحتمالات:

حيث w هي مجموعة جميع المتغيرات.

بشكل حدسي ، نبدأ مع المتغيرات المستقلة ، وربط المزيد من المتغيرات معًا وفقًا لمخطط السببية ، ونستخدم باستمرار المتغيرات التي تم الحصول عليها حديثًا كمتغيرات الحالة التالية. يرجى ملاحظة أن هذا هو رسم بياني غير دوري ، أي أنه يمكن أن يؤدي إلى b ، ولا توجد علاقة عكسية من b إلى a.

افتراض العزلة لمخطط السببية:

قبل المتابعة ، دعنا نفهم أحد الافتراضات الأساسية لهذا النموذج. مثل أي مخطط سببي ، يفترض هذا الرسم التخطيطي أن المتغيرات الخارجية لا تدخل أي مسار خلفي لشبكة العلاقة ، أي أنه لا يوجد متغير تأثير مشترك بين المتغير الخارجي (u ، v) والمتغيرات الأخرى في شبكة العلاقة. على سبيل المثال ، افترض أن هناك عاملًا خارجيًا (e) ، يعدل مخطط السببية إلى:

في هذه الحالة ، يكون المسار السببي المشار إليه باللون الأحمر هو المسار الخلفي ، الذي يبطل مجموعة الصيغة المحددة مسبقًا. طريقة أخرى للتعبير عن هذا الافتراض هي: نفترض أن ملاحظات جميع المتغيرات الخارجية يتم أخذ عينات منها بشكل مستقل من توزيع مشترك غير معروف ولكن ثابت. هذا هو افتراض العزلة.

تعتمد معظم المخططات السببية هذا الافتراض. نظرًا لأنه لا يمكن تقييم / تصميم جميع العوامل المؤثرة المتوقعة ، يجب أن نحاول تقييم الأحداث الأكثر تأثيرًا. من المهم أن تضع هذا الافتراض في الاعتبار عند تحليل النتائج.

4. التدخل النموذجي

تسمح لنا المخططات السببية وأنظمة المعادلات بتغيير العناصر الفردية في الرسم التخطيطي وتقدير تأثير ذلك على المؤشرات المحددة بواسطة أحداث المصب.

" افترض أن نسبة النقر إلى الظهور هي مؤشر الأعمال الذي نحاول تعظيمه. تُعرّف نسبة النقر إلى الظهور بأنها نسبة الإعلانات التي ينقر عليها المستخدمون طوال جلسة المستخدم. لنفترض أننا ندير نظامًا عبر الإنترنت ، والآن طورنا نموذجًا جديدًا لاختيار الإعلانات ، أي لدينا طريقة جديدة للحصول على المتغير أ. نريد تقدير نسبة النقر إلى الظهور لهذا النموذج الجديد كمقارنة بين النماذج الحالية عبر الإنترنت. "

يسمح لنا نظام المعادلات هذا بمعالجة تدخل النموذج كحساب جبري ، أي يمكننا تغيير بعض التوزيعات الوسيطة حتى نتمكن من إخراج نتائج مختلفة لمدخل معين.

  التحليل المعاكس - تقييم نشر نموذج افتراضي:

الآن ، دعونا نفهم مبدأ التحليل المعاكس في العمق ونحاول حل المشكلات المذكورة أعلاه.

  • ما هو التحليل المعاكس؟

ماذا يحدث إذا استبدلنا النموذج الحالي M بنموذج جديد M '؟ - هذا السؤال مخالف للواقع لأننا لم نجري تغييرات بالفعل ولن نؤثر على تجربة المستخدم. لنفترض أننا نريد نشر النموذج M ، نحاول فقط تقدير مؤشرات الأعمال في هذا السيناريو.

  • القياس على التعلم الآلي التقليدي

دعونا نحاول مقارنة هذا السيناريو مع التعلم تحت الإشراف التقليدي.

عند تدريب نموذج في بيئة تعليمية خاضعة للإشراف ، نستخدم بعض المتغيرات المستقلة x والقيم الفعلية y ، ثم نحاول تقدير y كـ y '= f (x). y 'هو تقدير افتراضي ، أي ماذا سيحدث إذا تم استخدام النموذج f (x) بدلاً من النظام لإنشاء البيانات. ثم نحدد دالة الخسارة ونحسن النموذج. يعمل كل ذلك لأن f (x) محدد تمامًا ، وهذا ليس هو الحال في مشكلتنا (لا توجد طريقة لمعرفة كيفية تفاعل المستخدمين إذا تم عرض إعلانات مختلفة). لذلك ، نحتاج إلى بعض الحلول حتى نتمكن من تقدير المؤشرات دون تحديد كل مكون من مكونات النظام بشكل كامل.

  • أعمال استبدال عامل ماركوف على تحليل الحقائق

بعد ذلك ، دعونا نحاول إجراء العمليات الجبرية في نظام المعادلات. لنفترض أن لدينا نموذج M جديد لتحديد الإعلانات التي تم تحديد أسعارها. لن يؤثر هذا إلا على مكون واحد من المعادلة:

يصبح التوزيع المشترك الجديد:

يرجى ملاحظة أنه تم تغيير توزيع واحد فقط هنا. يمكن تعريف نسبة النقر إلى الظهور في هذا النظام على أنها القيمة المتوقعة لكل نقرة لمرة ظهور الإعلان:

بشكل بديهي ، يمكن فهم ذلك على أنه متوسط عدد النقرات التي تحدث في سيناريوهات الإجراءات السياقية المختلفة ، والتي يُشار إليها بـ w (ملاحظة المترجم: يرغب المؤلف في التعبير عن r هنا) ، مرجحًا بالتوزيع الاحتمالي لـ w ، كما هو موضح أعلاه إن ما ورد في هذه المقالة هو دالة لسلوك المستخدم والنموذج عبر الإنترنت M.

بالنسبة للطراز الجديد M ، ستكون نسبة النقر إلى الظهور:

لتحليل معدل النقرات للنموذج الجديد M '، يمكننا أن نفترض أن إدخال سلوك المستخدم لم يتغير ، واستخدم ببساطة النموذج الجديد M' لضبط التوزيع الاحتمالي. يمكن إعادة كتابته على النحو التالي:

يفترض هنا أن حد المقام في التكامل أكبر من الصفر في نطاق القيمة w. وفقًا لقانون الأعداد الكبيرة ، يمكننا تقريب r مثل:

يرجى ملاحظة كيف أزلنا معظم مكونات النظام في التقدير النهائي. هذا أمر قوي للغاية ، لأننا الآن لا نحتاج إلى إنشاء هذا التوزيع المشترك P '(w) تمامًا للنموذج الجديد M ، ولكننا بحاجة فقط إلى تحديد الأجزاء التي تم تغييرها والتأثير عليها. ولأن تدخل النموذج يتم التحكم فيه ، فمن السهل تحديد المحتوى أعلاه.

يمكن تعميم هذه الفكرة على أي مؤشر معين l (w) ، بناءً على التوزيع الاحتمالي P '(w) ، باستخدام النموذج غير المتصل M' للحصول على تقديرات معاكسة. يمكن حساب هذا التعميم باستخدام بيانات السجل مع التوزيع الاحتمالي P (w) على النحو التالي:

  • إلهام استبدال عامل ماركو

دعونا نحاول فهم هذا المفهوم من خلال مثال صغير. افترض أن هناك 5 نقاط بيانات:

هنا:

  • يمثل كل سطر من البيانات سياق محتوى تصفح لعرض الإعلانات ؛
  • P (M) هو احتمال عرض الإعلانات في السجل باستخدام النموذج عبر الإنترنت M ؛
  • P (M) هو احتمال عرض نفس الإعلان باستخدام نموذج M دون اتصال بالإنترنت ؛
  • y هي عملية مستخدم ، 1 إذا تم النقر عليها ، وإلا 0.

يمكننا أن نرى أن النموذج عبر الإنترنت لديه بشكل عام احتمالية أعلى لعرض الإعلانات عندما ينقر المستخدم ، لذلك فهو نموذج أفضل ، ويمكن استنتاج مماثل باستخدام تقديراتنا أعلاه. لذلك ، يمكننا استخدام تقديرات معاكسة لترتيب النماذج بشكل حدسي.

  • القيود والاعتبارات العملية

إذا نظرنا عن كثب إلى المعادلة النهائية ، فإنها تفرض قيودًا على النموذج المراد تقييمه. يجب أن يكون هذا النموذج الجديد نموذجًا احتماليًا في الأساس. يمكننا حساب احتمالية أنه سينتج نفس القرار مثل النموذج في السجل. قد لا يكون هذا دائمًا احتمالًا صغيرًا.

لنفترض أن لدينا القرار النهائي لاختيار الإعلان فقط "الذي تم الحصول عليه بواسطة النموذج الجديد بعد إدخال بيانات السجل. يمكننا استلهام من الطريقة بناءً على مطابقة نقاط الميل وإعادة كتابة هذه المعادلة على النحو التالي:

بشكل حدسي ، يمكنك التفكير في الأمر على أنه يعتبر النموذج الجديد نموذجًا احتماليًا.عندما يتخذ النموذج الجديد قرارًا مختلفًا بشأن سطر من بيانات السجل يختلف عن نموذج السجل ، فإن توزيع الاحتمال P '(w) = 0 .

في الواقع ، إذا كان نموذجنا الجديد يحتوي على عدد قليل من القرارات ونتوقع مطابقة العديد من القرارات من بيانات السجل ، فإن طريقة المطابقة المذكورة أعلاه ممكنة. ومع ذلك ، في كثير من الحالات (مثل خوارزميات التوصية ، أو استرداد المعلومات ، أو مشكلات آلة الفتحة متعددة الأذرع) ، قد لا تتوفر لدينا بيانات كافية للحصول على تطابقات كافية لإجراء تقديرات موثوقة ، مما يؤدي إلى تباين كبير في التقديرات.

من أجل البساطة ، لن نناقش كيفية النظر في التباين في هذه المقالة ، ولكن يمكن للقراء دائمًا قراءة المزيد في المراجع المقدمة في أسفل هذه المقالة.

خامساً ، استخدم Python لمحاكاة التحليل المعكوس

عند هذه النقطة ، لديك بعض الفهم البديهي والرياضي للتحليل المعاكس. دعنا نستخدم مثالًا محاكاة ، على غرار المثال الذي نعمل عليه ، للمضي قدمًا. افتراض:

  • هناك 3 إعلانات في قائمتنا ، وهي فعالة لجميع المستخدمين ؛
  • قمنا بمحاكاة سياقات تصفح N للمستخدم ، أي N سيناريوهات مختلفة للمستخدم. لكل سيناريو مستخدم احتمال نقر مستقل لكل إعلان ؛
  • نجمع بعض البيانات عبر الإنترنت من خلال عرض الإعلانات بشكل عشوائي للمستخدمين في المواقف المختلفة ومراقبة سلوك النقرات. يعد الوضع العشوائي طريقة جيدة لجمع بيانات عادلة عبر الإنترنت لتقييم النماذج عبر الإنترنت ، ويجب استخدام هذه الطريقة كلما أمكن ذلك.

1. إعداد البيانات

دعونا محاكاة بعض البيانات المسجلة ، والتي تشبه البيانات الموجودة في نظام الإنتاج. دعونا نستورد أولا الحزم اللازمة.

استيراد numpy مثل npimport pandas مثل pdimport matplotlib.pylab كما pltfrom uuid استيراد uuid4 matplotlib مضمنة
  • محتوى قراءة المستخدم

نحدد أولاً معرفات 10000 مستخدم يشاهدون المحتوى (x) ، ثم نحدد التوزيع الاحتمالي لحدوثها ، أي أن بعض المحتوى من المرجح أن يتكرر أكثر من غيره.

# set user السياقات num_context = 10000user_context = np.asarray () # تعيين التحديد قبل هذه السياقات def random_normal_sample_sum_to_1 (الحجم): sample = np.random.normal (0، 1، size) sample_adjusted.sum () user_context_selection_prior = random_normal_sample_sum_to_1 (num_context) plt.hist (user_context_selection_prior، bins = 100) تأكيد user_context_selection_prior.sum (). round (2) =
  • انقر فوق احتمال تحت محتوى مختلف

دعنا نحدد 3 إعلانات في المخزون. للتبسيط ، افترض أن نسبة النقر إلى الظهور للإعلان في محتوى معين يمكن أن تكون واحدة مما يلي:

  • منخفض: 10
  • متوسط: 40
  • مرتفع: 60

بعد ذلك ، يمكننا بشكل عشوائي تعيين الإعلان الذي ينتمي إلى تردد منخفض / متوسط / مرتفع في هذه الحالة. الفكرة هي أن النموذج الجيد سيختار عرض الإعلانات التي من المرجح أن تؤدي إلى تفاعلات ، بدلاً من الإعلانات منخفضة التفاعل ، في سياق محتوى المشاهدة المحدد.

2. مجموعة بيانات عشوائية

الآن ، لنقم بمحاكاة 100000 تكرار ، ونأخذ عشوائيًا واحدة من 10000 معلومات تصفح للمستخدم كمدخل للنموذج ونضع إعلانًا عشوائيًا. ثم ننشئ بشكل عشوائي سلوكيات النقر أو عدم النقر بناءً على الاحتمال المسبق للإعلان في عرض المعلومات.

الفكرة هنا هي إنشاء بيانات مماثلة لأي سجل إنتاج نموذج ، والفرق هو أننا نقوم بمحاكاة السلوك من جانب المستخدم.

ستحتوي البيانات المحاكاة على أربعة أعمدة:

  • log_id: يمثل كل سطر من المحضر ؛
  • السياق: يمثل معرف محتوى مستخرج من 10000 قائمة محتوى ؛
  • العدد المحدد: الإعلانات المعروضة بواسطة نماذج عبر الإنترنت ؛
  • تفاعل المستخدم: ثنائي ، 1 إذا تفاعل المستخدم ؛ 0 خلاف ذلك.
num_iterations = 100000 # إنشاء df فارغ لتخزين logsdf_random_serving = pd.DataFrame (الأعمدة =) # إنشاء معرف فريد لكل إدخال pdfdfandom_serving = # تعيين معرف سياق لكل إدخال pdfdfandom_serving = np.random.choice (user_context، size = num_iterations، استبدال = True ، p = user_context_selection_prior) # عينة عشوائية لإعلان ليتم عرضه في هذا السياق pdf_random_serving = np.random.choice (ads، size = num_iterations، replace = True) # لكل إدخال سجل ، أو عينة إجراء أو نقرة أو لا تستخدم النقرة الاحتمالية المعينة لزوج سياق الإعلان في الخطوة 1def_fact_for_ad (context_id ، ad_id): before = user_context_priors.get (context_id) إرجاع np.random.binomial (1، before) df_random_serving = df_random_serving.apply (lambda x: sample_action_for_ad (lambda x: sample_action_for_ad (x x) ، المحور = 1) # لقطة من datadf_random_serving.sample (10)

تذكر أن كل سطر في بيانات السجل المحاكية يمثل مثيلًا ، حيث:

  • قام المستخدم بزيارة موقع الويب لغرض معين ، وأنشأ محتوى تصفح المستخدم (x) ممثلة بـ context_id ؛
  • اختار النموذج عبر الإنترنت (في هذه الحالة ، نموذجًا تم اختياره عشوائيًا) الإعلان لعرضه على المستخدم ؛
  • راقب وسجل سلوك المستخدم.

3. تقييم النموذج الجديد

  • تحديد نموذج جديد

بعد ذلك ، دعنا نحدد بعض النماذج. نحتاج إلى أن نكون قادرين على معرفة ترتيب نسب النقر إلى الظهور لهذه النماذج بشكل حدسي. سيسمح لنا هذا بمحاكاة تنبؤات النماذج غير المتصلة بالإنترنت ، واستخدام التقديرات المعكوسة للحصول على المؤشرات ، ومقارنتها بالنتائج المتوقعة.

تتمثل إحدى الطرق في استخدام المتجهات لتمثيل الاحتمالات السابقة المختلفة المنخفضة / المتوسطة / العالية لمحتوى تصفح معين. يمكننا أن نقول بديهية أنه بالنسبة لهذا السيناريو ، من الأفضل تفضيل نموذج يحتوي على إعلانات تفاعلية أعلى. يرجى ملاحظة أن هذه ليست الطريقة التي يعمل بها النموذج الفعلي ، لأن النماذج لا تعرف نسبة النقر إلى الظهور مقدمًا ؛ يمكن اعتبارها نماذج موجودة بمعدلات دقة تقديرية مختلفة لهذه الاحتمالات السابقة.

فيما يلي 10 نماذج تزداد آثارها المتوقعة تدريجيًا:

new_model_priors = np.atleast_2d (>)

للتوضيح ، سنقوم بتحويله إلى DataFrame:

new_model_names = np.asarray () pd.DataFrame (data = np.hstack () ، الأعمدة =)

تتمثل إحدى مزايا تحديد النماذج بهذه الطريقة في أنه يمكننا بالفعل حساب نسبة النقر إلى الظهور المتوقعة لكل نموذج. نظرًا لأن جوهر النموذج عبارة عن مجموعة من الاحتمالات تُستخدم لتحديد الإعلانات ذات التردد المنخفض / المتوسط / العالي ، وقد قمنا بالفعل بتحديد معدل النقرات للإعلانات ذات التردد المنخفض / المتوسط / العالي ، يمكننا تقدير كل نموذج مباشرةً حسب المنتج النقطي نسبة النقر إلى الظهور تحت:

# معدل التفاعل المتوقع: يتوقع_interaction_rates = np.dot (new_model_priors ، np.atleast_2d (ad_interaction_priors) .T) متوقع_interaction_rates.ravel () # الإخراج: array ()

يمكننا أن نرى أن نسبة النقر إلى الظهور المتوقعة هي الترتيب الذي نتوقعه. الآن ، سنحاول استخدام كل سياسة لأخذ عينات من تحديدات الإعلانات ، وسنستخدم التقنيات المضادة للوقائع المكتسبة أعلاه لمعرفة ما إذا كان يمكننا فقط استخدام البيانات المسجلة ونتائج أخذ العينات لكل نموذج لتقدير نسب النقر إلى الظهور هذه.

  • نسبة النقر إلى الظهور المقدرة: مطابقة درجة الميل

أولاً ، لنستخدم تقديرات مطابقة الميل:

بينهم:

  • يي: سلوك المستخدم ؛
  • أ ': القرارات الصادرة عن النموذج الجديد ؛
  • أ: القرارات الصادرة عن النماذج الإلكترونية ؛
  • P (أ | س ، ب): احتمالية اختيار النموذج عبر الإنترنت لعرض إعلان في السجل (لاحظ أنه يتم تحديد النموذج عبر الإنترنت عشوائيًا).
# استخدام نفس معرفات السياق مثل البيانات المسجلة: df_new_models_matching = df_random_serving.copy () def sample_ad_for_context_n_model (context_id، model_priors): # get المسبقة لتفاعل الإعلان لسياق معين معين = user_context_priors.get (context_id # # نموذج قائم على التفاعلات المسبقة select_priors = model_priors # حدد إعلانًا باستخدام التصميمات الأولية وسجل احتمالية الاختيار selected_ad = np.random.choice (إعلانات ، لا شيء ، استبدال = خطأ ، p = select_priors) # selected_ad_prior = select_adriors عودة selected_adfor policy_name ، model_prior in zip (new_model_names، new_model_priors): df_new_models_matching.loc = df_new_models_matching.apply (lambda x: sample_ad_for_context_n_model (x، model_prior)) df_new_models_matching.sample (عينة)

يمكننا أن نرى أنه لكل إدخال سجل ، نحسب اختيار الإعلان من جميع النماذج الجديدة.

# match and Estimation: Estim_matching = for i in range (len (new_model_names)): model = "model _ {}". format (i) match_mask = (df_new_models_matching == df_new_models_matching.values). نوع (int) # سياسة التسجيل عشوائي حتى نعرف P (w) = 1/3 تقدير = (df_new_models_matching * match_mask / 0.333) .sum () / df_new_models_matching.shape التقديرات_matching.append (تقدير) plt.figure (figsize = (10،5)) plt.plot (متوقع_interaction_rates، label = "المتوقعة السعر") plt.xticks (النطاق (10) ، labels = new_model_names ، الدوران = 30) plt.plot (تقديرات_المطابقة ، label = "المعدل الفعلي") plt.legend () plt.legow ()

  • نسبة النقر إلى الظهور المقدرة: ترجيح درجة الميل

أولاً ، لنستخدم تقديرات مطابقة الميل:

بينهم:

  • يي: سلوك المستخدم ؛
  • P (أ | س ، ب): تقييم احتمالية اختيار النماذج غير المتصلة بالإنترنت ؛
  • P (أ | س ، ب): احتمالية تسجيل نموذج الإنتاج (التنسيب العشوائي).
# استخدام نفس معرفات السياق مثل البيانات المسجلة: df_new_models_weighting = df_random_serving.copy () def sample_prior_for_context_n_model (context_id، model_priors، selected_ad): # الحصول على ميزات تفاعلية للإعلان لتفاعل السياق المحدد_المسبقين_المحددات المسبقة (#) النموذج المعتمد على أساس التفاعلات المسبقة select_priors = model_priors # get قبل الإعلان المحدد selected_ad_prior = select_priors return selected_ad_priorfor model_name، model_prior in zip (new_model_names، new_model_priors): df_new_models_weightingbl x عينة (df_new_models_weightingbx_dod_) س) ، المحور = 1) df_new_models_weighting.sample (5)

يمكننا أن نرى أنه لكل إدخال سجل ، قمنا بحساب احتمالية أن يأخذ النموذج نفس انطباع الإعلان عن النموذج عبر الإنترنت لجميع النماذج الجديدة.

# التطابق والتقدير: تقديرات_وزن = = i في النطاق (len (new_model_names)): model = "model _ {}". التنسيق (i) # كانت سياسة التسجيل عشوائية حتى نعرف P (w) = 1/3 تقدير = ( df_new_models_weighting * df_new_models_weighting / 0.333) .sum () / df_new_models_weighting.shape تقديرات_weighting.append (تقدير) plt.figure (figsize = (10،5)) plt.plot (متوقع_interaction_rates ، تسمية = "المعدل المتوقع") plt.otot (10) ، labels = new_model_names ، الدوران = 30) plt.plot (تقديرات_وزن ، تسمية = "المعدل الفعلي") plt.legend () plt.show ()

الملخص

يمكننا أن نرى أنه في كل من المُقدِّرين ، يمكننا تقدير نسبة النقر إلى الظهور الصحيحة لكل نموذج. بعبارة أخرى ، إذا لم نتمكن من معرفة ما سيكون عليه الأداء الفعلي لكل نموذج مقدمًا عند تشغيله عبر الإنترنت ، فإن هذه التقنية ستساعدنا في اختيار نموذج أكثر ملاءمة فقط من نتائج التنبؤ لكل نموذج لبيانات السجل.

تجدر الإشارة إلى أنه في حالة المحاكاة هذه ، يمكننا الحصول على نسب نقر إلى ظهور دقيقة. ولكن في الواقع ، قد تكون هناك عوامل مختلفة تسبب التداخل ، مما يمنعنا من الحصول على الأرقام الدقيقة. ومع ذلك ، عند التفكير في طرق التقييم في وضع عدم الاتصال ، يمكننا دائمًا اتباع ثلاث قواعد ، مرتبة حسب الأهمية:

1. الاتجاهية: إذا كان المؤشر عبر الإنترنت للنموذج أ > النموذج B ، المؤشر المعاكس للنموذج A > النموذج B.

2. معدل التغيير: إذا كان المؤشر عبر الإنترنت للنموذج أ أكثر بنسبة 10 من النموذج ب ، فيجب أيضًا أن يكون المؤشر المعاكس أعلى بمقدار مماثل.

3. القيمة الدقيقة: كما يوضح مثالنا ، فإن القيم المطلقة للمؤشرات عبر الإنترنت والمؤشرات المضادة للحقائق قريبة جدًا (هذا هو الوضع المثالي).

هل تجد هذا مفيدا؟ هل يمكنك التفكير في المواقف التي قد تكون فيها هذه التقنية مفيدة في العمل اليومي؟ هل ترى أن المقالة لا تأخذ بعين الاعتبار بعض قيود هذه الطريقة؟ يرجى ترك تعليق مع ملاحظات / نقد / سؤال ، وآمل أن يكون هناك مزيد من المناقشة.

قائمة المراجع / القراءة الممتدة

هذه المقالة مستوحاة من و. إذا كنت مهتمًا بمزيد من البحث ، فهي قراءة مثيرة للاهتمام ، مع المزيد من التطبيقات المشابهة للسياق:

أنظمة الاستدلال والتعلم العكسية

https://arxiv.org/abs/1209.2355

التقدير المعاكس وتحسين مقاييس النقر لمحركات البحث

https://arxiv.org/abs/1403.1891

مقدر تطبيع ذاتي للتعلم المضاد

https://papers.nips.cc/paper/5748-the-self-normalized-estimator-for-counterfactual-learning

تقييم غير متحيز دون اتصال لخوارزميات توصية مادة الأخبار القائمة على قطاع الطرق

https://arxiv.org/abs/1003.5956

تقييم خارج السياسة لتوصيات القائمة

https://arxiv.org/abs/1605.04812

العنوان الأصلي:

كيفية إنشاء مجموعة اختبار لتقريب مقاييس الأعمال دون اتصال

الرابط الأصلي:

https://www.analyticsvidhya.com/blog/2020/02/how-to-create-test-set-approximate-business-metrics-offline/

المحرر: هوانغ جيان

التدقيق اللغوي: لين Yilin

مقدمة المترجم

تشانغ رونان تخرج من إحصائيات UIUC ، عالم بيانات في صناعة الإعلام بجنوب كاليفورنيا. مارس في البنوك التجارية المحلية والأجنبية والإنترنت وصناعة التجزئة وشركات المواد الغذائية ، ويحب أن يكون عرضة لتحليل البيانات وحالات التطبيق في مختلف المجالات.

-إنهاء-

اتبع منصة WeChat العامة التابعة لمعهد Tsinghua-Qingdao Data Science Research الرسمي "  فطيرة بيانات AI  "ورقم الأخت" فطيرة البيانات  "احصل على المزيد من فوائد المحاضرات وجودة المحتوى.

تسجيل وفقا للفصل الذاتي مابري الابهام الشمس

سوف CBA استضافة الحجر الصحي البريطاني بأنه "السجن"، وفريق شنغهاي: وقف التعاون!

أنت تقول شيئا وتفعل شيئا آخر! الساسة البريطانيين والأمريكيين هذه قبيحة، ألمانيا، إيطاليا، وحتى لا يمكن أن تصمد

بقدر سكرتير رئيس بلدية لأخذ زمام المبادرة من الأقنعة، ويمر إشارة قوية!

بكين نزهة خطيرا الأسبوع المقبل، وزيادة حركة المرور، حيث الصباح الضغط المروري ساعة الذروة

فتحت Tiantangzhai حديقة ذات المناظر الخلابة منظمة Tianranyangba في انتظاركم ل"غسل الرئة"

يوم لبيع خمسة عشر ألف السلاسل، وجينان الشواء ج قليلا إلى الوراء، انتعاش سريع في الفئات العمرية الأصغر سنا الطعام الرئيسي

بسعر يبدأ من 6500000 المتأخرات 38830000، محكمة جينان تسجيل الطائرات مضرب لا أحد

مكتب الأرض | انشاء! بايدن ترامب الحرب العالمية الثانية، ولكن في الانتخابات المقبلة أكثر ضبابية

كيفية كتابة جيدة مبتدئين نقطة الأكاديمية الدولية للنظر؟

تسينغهوا "خارطة متر"، منظر مفتوح "تيانيوان" لها الثقيل المصدر المفتوح!

AutoFlip: ذكية لقطة فيديو من إطار مفتوح المصدر (الرابط المرفق)