Теория

MiniBatch K-Means

Algo_MiniBatchKMeans
<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>