Теория
MiniBatch K-Means
<h2>Зачем нужен MiniBatch</h2>
<p>Обычный K-Means на каждой итерации просматривает всю выборку. Если объектов очень много, это становится вычислительно дорогим шагом. MiniBatch K-Means ускоряет обучение: на каждом шаге он берет не все данные, а небольшую случайную порцию объектов — мини-батч.</p>
<h2>Как меняется пересчет центра</h2>
<p>Вместо полного пересчета центроида по всем точкам кластера алгоритм постепенно сдвигает центр в сторону среднего мини-батча:</p>
<p>$$\mu_k^{new} = \mu_k^{old} + \eta(\bar{x}_k - \mu_k^{old}).$$</p>
<p>Здесь \(\bar{x}_k\) — среднее точек мини-батча, назначенных кластеру \(k\), а \(\eta\) — скорость обновления.</p>
<h2>Компромисс</h2>
<p>MiniBatch обычно работает быстрее и лучше подходит для больших наборов данных, но результат может быть немного менее стабильным, чем у полного K-Means. Размер батча влияет на баланс: маленький батч быстрее, но шумнее; большой батч надежнее, но дороже.</p>