تقنية

خوارزمية EM: ماذا يتغير بين المسؤوليات وتحديث المعلمات؟

جدول مسؤوليات مفترض يقود إلى وزن فعال ثم وزن خليط ومركزين
هذه مراجعة لجزء من خطوة التعظيم، وليست تجربة تدريب.

تتناوب EM في الخليط الغاوسي بين تقدير انتماءات العينات وفق المعلمات الحالية، وتحديث المعلمات اعتمادًا على تلك الانتماءات. [1]

الخلاصة السريعة

تحفظ خطوة التوقع المعلمات أثناء حساب المسؤوليات، ثم تحفظ خطوة التعظيم المسؤوليات أثناء تحديث المعلمات. مثالنا يعزل تحديث الأوزان والمراكز فقط.

  • المسؤوليات احتمالات انتماء محسوبة تحت المعلمات الحالية؛ تستخدمها الخطوة التالية أوزانًا لمساهمات العينات. [1] [2]
  • للقيم 0 و 2 و 4 والمسؤوليات المفترضة أ: 0.8 و 0.6 و 0.1، وب: 0.2 و 0.4 و 0.9، يجمع كل مكون وزنًا 1.5 من ثلاث عينات.
  • عند تجاهل الإزاحة العددية الصغيرة في الكود، يصبح الوزنان 0.5 و 0.5 والمركزان 16/15 و 44/15؛ هذه خطوة جزئية وليست ملاءمة كاملة.
  • لا يثبت تحديث واحد تقارب EM أو صحة المكونات؛ يلزم أيضًا تحديث التغايرات وإعادة حساب المسؤوليات في دورة كاملة. [1]

ما الذي نثبته في كل خطوة؟

يصف دليل المكتبة تناوب تقدير احتمالات الانتماء وتحديث معلمات الخليط. [1] نفصل الخطوتين حتى لا نستخدم مسؤوليات جديدة مع مراكز قديمة دون قصد.

نفترض ثلاث قيم: صفر واثنان وأربعة. سنعطي مسؤوليات مسبقة للمكونين أ وب. لم نحسب خطوة التوقع من كثافات أو معلمات سابقة، ولذلك لا ندعي أن الجدول نتج من تشغيل EM.

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

كيف نحسب الوزن الفعال؟

مسؤوليات أ للقيم المرتبة هي 0.8 و 0.6 و 0.1. مسؤوليات ب هي 0.2 و 0.4 و 0.9. مجموع كل صف عبر المكونين واحد، ومجموع كل عمود 1.5.

إجمالي الأوزان الفعالة للمكونين يساوي ثلاثة، وهو عدد العينات. لكن 1.5 لا يعني وجود عينة ونصف في الملف؛ إنه مجموع مشاركات احتمالية لثلاث عينات كاملة.

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

من المسؤوليات إلى المراكز

يحسب الكود مركز المكون من مجموع القيم الموزونة مقسومًا على وزنها الفعال، مع إزاحة عددية صغيرة في المقام. سنهمل تلك الإزاحة في الحساب اليدوي. [2]

للمكون أ: (0×0.8+2×0.6+4×0.1)/1.5=16/15، أي نحو 1.067. وللمكون ب: (0×0.2+2×0.4+4×0.9)/1.5=44/15، أي نحو 2.933.

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

ماذا نحتاج قبل دورة أخرى؟

في دورة كاملة تحدث معلمات الخليط ومنها التغايرات، ثم تعاد احتمالات الانتماء وفق المعلمات المحدثة. [1] ليس من الصحيح الاحتفاظ بجدول المسؤوليات إلى الأبد وإعلان تكرار المتوسط تدريبًا جديدًا.

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

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

المصادر ومتابعة القراءة

  1. scikit-learn: Gaussian mixture EM (يفتح في نافذة جديدة)scikit-learn.org
  2. scikit-learn source: Gaussian parameter estimates (يفتح في نافذة جديدة)raw.githubusercontent.com

أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.