Теория
Критерии качества кластеризации
<h2>Как понять, что разбиение хорошее</h2>
<p>В кластеризации нет универсального критерия, который всегда говорит правду. Но есть базовая идея: внутри кластеров объекты должны быть ближе друг к другу, чем к объектам из других кластеров.</p>
<p>Пусть \(a_i=a(x_i)\) — кластер объекта \(x_i\), а \(\rho(x_i,x_j)\) — расстояние между двумя объектами.</p>
<h2>Среднее внутрикластерное расстояние</h2>
<p>Можно усреднить расстояния между парами объектов, которые попали в один и тот же кластер:</p>
<p>$$F_0 = \frac{\sum_{i \lt j} [a_i=a_j]\rho(x_i,x_j)}{\sum_{i \lt j} [a_i=a_j]} \rightarrow \min.$$</p>
<p>Чем меньше \(F_0\), тем компактнее кластеры. Здесь \([a_i=a_j]\) означает, что пара учитывается только тогда, когда оба объекта лежат в одном кластере.</p>
<h2>Среднее межкластерное расстояние</h2>
<p>Также можно усреднить расстояния между объектами из разных кластеров:</p>
<p>$$F_1 = \frac{\sum_{i \lt j} [a_i\ne a_j]\rho(x_i,x_j)}{\sum_{i \lt j} [a_i\ne a_j]} \rightarrow \max.$$</p>
<p>Чем больше \(F_1\), тем лучше кластеры отделены друг от друга.</p>
<h2>Компромисс</h2>
<p>На практике часто хочется одновременно уменьшать внутрикластерные расстояния и увеличивать межкластерные. Поэтому полезно смотреть на отношение:</p>
<p>$$\frac{F_0}{F_1} \rightarrow \min.$$</p>
<p>Малое значение означает, что внутри групп объекты близки, а между группами расстояния относительно велики.</p>
<h2>Ограничение критерия</h2>
<p>Формальный критерий не заменяет смысловую проверку. Разбиение может иметь хорошие числа, но быть бесполезным для задачи, если кластеры нельзя объяснить через признаки или использовать в решении.</p>