الخطوتان نفساهما كما في 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.