Gaussian Mixture Models, step by step


Dataset
Components (k)
Shape
Run

الخطوتان نفساهما كما في k-means — لكن بصيغة soft. يسأل k-means “أيّ centroid هو الأقرب؟” وعلى كلّ نقطة أن تختار واحدًا. أمّا الـ mixture model فيسأل “ما احتمال أن تكون هذه النقطة قد جاءت من الـ component رقم j؟” والجواب مجموعة كسور مجموعها 1، تُسمّى responsibilities. تُعيد الـ E-step حساب تلك الكسور لكلّ نقطة؛ وتُعيد الـ M-step ملاءمة كلّ component — وزنه ومتوسّطه وcovariance الخاصّ به — مستخدِمةً كلّ النقاط، موزونةً بمقدار ما يملكه ذلك الـ component منها. هذه هي الخوارزمية بأكملها. الخطوتان: Expectation و Maximization.

أمور تستحقّ التجربة:
1. Overlapping، k = 2. شغّلها، ثمّ انظر إلى الشريط الواقع بين الكتلتين: تبقى تلك النقاط ملتبسة إلى الأبد، لأنّها غامضة فعلًا والنموذج يقول ذلك صراحةً. 64% فقط من النقاط تتجاوز في أيّ وقت التزامًا بنسبة 90% تجاه جهة واحدة — وفي Three blobs تبلغ تلك النسبة 100%. ولا يملك k-means أيّ وسيلة للتعبير عن هذا الفرق: عليه أن يسلّم كلّ نقطة إلى جهة ما. وهذا هو سبب استعمال الـ mixture model برمّته: عدم اليقين جزء من الجواب.

2. Elongated، k = 2. مع Full يميل القطعان الناقصان ويمتدّان بمحاذاة السيجارين، وتقع كلّ نقطة في الموضع الصحيح. اضغط الآن Circular وأعِد التشغيل: إذ تُجبَر الـ components على الاستدارة، فتكفّ عن الفصل بين السيجارين وتبدأ بقطعهما عرضيًّا — فلا ينتهي في المجموعة الصحيحة سوى 65% من النقاط تقريبًا، ويهبط الـ log-likelihood من −1962 إلى −2102. وتلك هي الخلاصة: k-means هو mixture model بمكوّنات دائرية متساوية الحجم وبإسناد صارم. وكلّ ما يضيفه GMM على k-means يكمن في تلك الكلمة الواحدة — covariance.