یک روش پیشنهادی برای مقداردهی اولیه تصادفی برای مرکز های خوشه ای وجود دارد.
اگر داشته باشید $k < m$، یعنی اطمینان حاصل کنید که تعداد خوشه های شما از تعداد نمونه های آموزشی شما کمتر است.
به طور تصادفی نمونه های آموزشی $k$ را انتخاب کنید.(مطمعن شوید که نمونه ها منحصر به فرد باشند)
$\mu_1, …, \mu _k$ ها را برابر با نمونه های $k$ قرار بدهید.
الگوریتم k-means میتواند در مینیمم محلی گیر کند، برای کاهش احتمال وقوع این اتفاق میتوانید الگوریتم را در مقداردهی اولیه های تصادفی مختلف اجرا کنید.
در مواری که $k < 10$ است، به شدت توصیه میشود که یک حلقه از مقداردهی اولیه تصادفی اجرا کنید.
for i = 1 to 100:
randomly initialize k-means
run k-means to get 'c' and 'm'
compute the cost function (distortion) J(c,m)
pick the clustering that gave us the lowest cost