Перейти к основному содержимому

Внешние меры качества

Изучим внешние меры оценки качества кластеризации. Они, в отличие от внутренних мер, основаны на сопоставлении разбивки объектов на кластера C={C1,…,CK}C = \{C_1, \dots, C_K\} с истинной разметкой (ground truth) на классы G={G1,…,GM}G = \{G_1, \dots, G_M\}. Чем лучше соответствие между разбивкой объектов на классы и кластера, тем кластеризация считается более успешной.

Сравнение с оценкой качества классификации

По сравнению с оценкой качества классификации, кластера могут нумероваться в произвольном порядке, поскольку это приводит к эквивалентным разбиениям. Поэтому внешние меры оценки качества кластеризации должны быть инвариантны к переупорядочиванию кластеров.

Будем использовать следующие обозначения:

  • NN - число объектов, а DD - число признаков;

  • KK - общее число кластеров; CC - общее количество классов;

  • CiC_i - индексы объектов ii-го кластера;

  • N1=∣C1∣,N2=∣C2∣,...NK=∣CK∣N_1=|C_1|,N_2=|C_2|,...N_K=|C_K| - количества объектов в каждом кластере;

  • μ1,...μK\boldsymbol{\mu}_1,...\boldsymbol{\mu}_K - центроиды кластеров, вычисляемые как средние по объектам соответствующих кластеров;

  • ρ(x,x′)\rho(\boldsymbol{x}, \boldsymbol{x}') - используемая функция расстояния

Далее будем считать, что сложность вычисления расстояния между объектами ρ(x,x′)\rho(\boldsymbol{x}, \boldsymbol{x}') пропорциональна числу признаков DD, что выполняется для всех стандартных функций расстояния.

Матрица сопряжённости​

Матрица сопряжённости (contingency matrix) - это таблица, используемая для детального сопоставления результатов кластеризации с истинной разметкой данных на классы. Пусть nijn_{ij} - количество объектов, принадлежащих классу ii и отнесённых алгоритмом к кластеру jj:

nij=∣{xn:class(xn)=i & cluster(xn)=j}∣n_{ij} = | \{ \boldsymbol{x}_n : \text{class}(\boldsymbol{x}_n) = i \: \& \: \text{cluster}(\boldsymbol{x}_n) = j \} |

Рассмотрим пример, когда 100 объектов двух классов были распределены по трём кластерам согласно следующей матрице сопряжённости:

Кластер 1Кластер 2Кластер 3
Класс 13443
Класс 22444

Полученная матрица сопряжённости позволяет сделать следующие выводы:

  • Кластер 1 является малочисленным и нерелевантным: в него попало всего 5 объектов из 100, и он не помогает в идентификации структуры классов.
  • Кластер 2 успешно захватил основную массу объектов первого класса.
  • А кластер 3 успешно выделил основную часть объектов второго класса.

Следовательно, идентификаторы кластеров 2 и 3 в качестве дополнительных признаков могут успешно использоваться для приближённой идентификации классов.

Точность кластеризации​

Для сведения матрицы сопряжённости к единому числу используется точность кластеризации (unsupervised clustering accuracy, UCA). Поскольку в обучении без учителя номера кластеров назначаются произвольно, мы не можем просто посчитать долю объектов, у которых номер кластера совпал с номером класса. Необходимо найти такое оптимальное сопоставление меток кластеров и классов, которое максимизирует итоговую точность.

Поэтому точность кластеризации (в отличие от точности классификации) определяется как максимальная доля верно соотнесённых кластеров классам среди всех возможных перестановок номеров кластеров pp:

UCA=max⁡p1N∑n=1NI{class(xn)=p(cluster(xn))}UCA = \max_{p} \frac{1}{N} \sum_{n=1}^{N} \mathbb{I} \{ \text{class}(\boldsymbol{x}_n) = p(\text{cluster}(\boldsymbol{x}_n)) \}

Для примера выше оптимальным соответствием будет:

  • Кластер 2 →\to Класс 1,

  • Кластер 3 →\to Класс 2.

  • Кластер 1 отбрасывается, поскольку в мере требуется, чтобы каждому классу соответствовал всего один кластер.

Тогда значение меры будет:

UCA=44+44100=0.88UCA = \frac{44 + 44}{100} = 0.88

Для ускорения расчётов вместо перебора по всевозможным перенумерациям кластеров используется специальный венгерский алгоритм [1], решающий задачу о назначениях за полиномиальное время O(min⁡(C,K)2⋅max⁡(C,K))O(\min(C, K)^2 \cdot \max(C, K)) по числу кластеров и классов.

Матрица парных совпадений​

В некоторых случаях при оценке качества кластеризации эффективнее анализировать не распределение отдельных объектов по группам, а то, как алгоритм сохранил связи между парами объектов.

Каждая пара объектов (xi,xj)(\boldsymbol{x}_i,\boldsymbol{x}_j) относится к одной из четырёх категорий:

  • TP (True Positive): объекты одного класса и отнесены к одному кластеру.
  • TN (True Negative): объекты разных классов и отнесены к разным кластерам.
  • FP (False Positive): объекты разных классов, но отнесены к одному кластеру (ошибка "слипания").
  • FN (False Negative): объекты одного класса, но отнесены к разным кластерам (ошибка "дробления").

Для этого используется матрица парных совпадений (pair confusion matrix).

Объекты в одном кластереОбъекты в разных кластерах
Объекты одного классаTPTPFNFN
Объекты разных классовFPFPTNTN

Сумма всех элементов таблицы равна общему количеству уникальных пар объектов N(N−1)/2N(N-1)/2.

Более высокое качество кластеризации соответствует случаям, когда сумма диагональных элементов максимальна, а сумма внедиагональных элементов мала.

При этом анализ внедиагональных элементов позволяет делать выводы об источниках проблем:

  • Высокое FPFP свидетельствует о слиянии разных классов (under-clustering). В этом случае нужно увеличить число кластеров KK или ужесточить критерии вхождения объекта в один кластер.

  • Высокое FNFN свидетельствует об избыточном дроблении классов (over-clustering), и в таком случае нужно уменьшить количество кластеров KK либо использовать более "мягкие" меры сходства.

Далее рассмотрим основные способы сведения элементов матрицы попарных совпадений в единую числовую меру качества.

Индекс Рэнда​

Индекс Рэнда (Rand Index, RI [2]) определяет долю пар объектов, по которым назначения кластеров и классов совпали:

RI=TP+TNTP+TN+FP+FNRI = \frac{TP + TN}{TP + TN + FP + FN}

Заметим, что даже если взять абсолютно случайный алгоритм кластеризации, то RIRI в общем случае не будет равен нулю! Это затрудняет его интерпретацию.

Скорректированный индекс Ранда​

Скорректированный индекс Ранда (Adjusted Rand Index, ARI [3]) вводит поправку на вероятность случайного совпадения пар, поскольку для более точного расчёта нам необходимо нормировать результат так, чтобы для случайного разбиения ожидаемое значение индекса было равно 0, а для идеального - 1.

Он считается по формуле

ARI=RI−E[RI]max⁡(RI)−E[RI],ARI = \frac{RI - E[RI]}{\max(RI) - E[RI]},

где E[RI]E[RI] - математическое ожидание индекса Рэнда для случайного случая, а max⁡(RI)\max(RI) - максимально возможное значение индекса Рэнда, которое всегда равно 1.

Индекс Фолкса-Мэллоуза​

Индекс Фолкса-Мэллоуза (Fowlkes-Mallows Index, FMI [4]) представляет собой среднее геометрическое точности и полноты, вычисленных на парах объектов:

FMI=Precision⋅Recall=TPTP+FP⋅TPTP+FNFMI = \sqrt{\text{Precision} \cdot \text{Recall}} = \sqrt{\frac{TP}{TP + FP} \cdot \frac{TP}{TP + FN}}

Мера полезна, когда нужно проигнорировать пары TN, количество которых будет очень высоким при большом числе классов и кластеров, искусственно завышая индекс Рэнда.

Обобщение меры

Для смещения баланса в сторону оценки точности либо полноты индекс Фолкса - Мэллоуза обобщается через взвешенное среднее геометрическое:

FMIα=Precisionα⋅Recall1−αFMI_{\alpha} = \text{Precision}^{\alpha} \cdot \text{Recall}^{1-\alpha}

Гиперпараметр α∈[0,1]\alpha \in [0, 1] определяет приоритет одной из составляющих, а при α=0.5\alpha = 0.5 формула возвращается к равномерному учёту точности и полноты.

Выбор веса зависит от того, какая ошибка критичнее для конкретной задачи:

  • Приоритет точности (α>0.5\alpha > 0.5): важнее чистота кластеров, когда нежелательно смешивать разные классы.

  • Приоритет полноты (α<0.5\alpha < 0.5): важнее целостное восстановление классов, когда нежелательно дробление класса на части по разным кластерам.

:::

Коэффициент Жаккара​

Коэффициент Жаккара (Jaccard Index [5]), как и индекс Фолкса-Мэллоуза фокусируется исключительно на положительных совпадениях в структуре, игнорируя пары TNTN. Он вычисляет меру похожести Жаккара между множествами пар объектов, которые отнесены к одному классу и к одному кластеру, и вычисляется по формуле:

J=TPTP+FP+FNJ = \frac{TP}{TP + FP + FN}
Задача

Какая мера всегда не ниже другой - коэффициент Жаккара или индекс Фолкса-Мэллоуза?

Коэффициент Жаккара принимает значения на отрезке [0,1][0,1], причём 1 соответствует наилучшей кластеризации, а 0 - наихудшей.

V-мера​

V-мера (V-measure [6]) - это взвешенное среднее гармоническое между двумя характеристиками: гомогенностью и полнотой, каждая из которых по-своему оценивает качество кластеризации:

Vβ=(1+β)⋅h⋅cβ⋅h+c=(1+β)β⋅1/c+1/hV_{\beta} = \frac{(1 + \beta) \cdot h \cdot c}{\beta \cdot h + c}=\frac{(1 + \beta) }{\beta \cdot 1/c + 1/h}

Здесь hh - мера гомогенности (homogeneity), а cc - мера полноты (completeness).

  • По умолчанию гиперпараметр β=1\beta = 1, при котором вычисляется обычное среднее гармоническое между cc и hh.

  • Если β>1\beta > 1, то больший вес придаётся полноте.

  • Если β∈(0,1)\beta \in (0,1) - гомогенности.

Гомогенность​

Гомогенность (homogeneity) определяет, насколько каждый кластер CkC_k состоит из объектов, принадлежащих одному классу. Пусть H(G)H(G) - энтропия распределения классов [7], а H(G∣C)H(G|C) - условная энтропия классов при условии распределения по кластерам [7]:

h=1−H(G∣C)H(G)h = 1 - \frac{H(G|C)}{H(G)}

Если каждый кластер содержит объекты только одного класса, то H(G∣C)=0H(G|C) = 0 и гомогенность максимальна и равна 1.

Тривиальное решение

Гомогенность легко сделать равной единице, если каждый объект поместить с индивидуальный кластер! Чтобы не находить подобных вырожденных решений дополнительно используется вторая мера полноты, описанная далее.

Полнота​

Полнота (completeness) измеряет, насколько все объекты, принадлежащие к одному классу, отнесены к одному и тому же кластеру. Результат считается идеально полным, если каждый класс содержится лишь в одном кластере. Пусть H(C)H(C) - энтропия распределения кластеров, а H(C∣G)H(C|G) - условная энтропия кластеров при условии истинных классов:

c=1−H(C∣G)H(C)c = 1 - \frac{H(C|G)}{H(C)}

Если все объекты каждого класса попали в свои уникальные кластеры, то H(C∣G)=0H(C|G) = 0 и полнота принимает максимальное значение 1.

Смещённость оценки

Если ориентироваться только на полноту, то тривиальным решением будет поместить все объекты в один кластер. H(K)H(K) в таком случае полагается равной 1, чтобы избежать деления на ноль, и мы получаем максимальное значение меры.

Поэтому полнота используется только в паре с гомогенностью, описанной выше.

Метрики на основе взаимной информации​

Если нам известна истинная разметка объектов по классам и результат работы алгоритма в виде разбиения на кластеры, мы можем использовать теоретико-информационный подход для оценки их соответствия.

Введём вероятностные обозначения для разбиения объектов на истинные классы G={G1,…,GM}G = \{G_1, \dots, G_M\} и предсказанные кластеры C={C1,…,CK}C = \{C_1, \dots, C_K\}:

  • P(Gi)=∣Gi∣NP(G_i) = \frac{|G_i|}{N} - вероятность того, что случайно выбранный объект принадлежит классу GiG_i;

  • P(Ck)=∣Ck∣NP(C_k) = \frac{|C_k|}{N} - вероятность того, что случайно выбранный объект принадлежит кластеру CkC_k;

  • P(Gi,Ck)=∣Gi∩Ck∣NP(G_i, C_k) = \frac{|G_i \cap C_k|}{N} - совместная вероятность того, что объект принадлежит классу GiG_i и кластеру CkC_k одновременно;

  • P(Gi∣Ck)=P(Gi,Ck)P(Ck)P(G_i | C_k) = \frac{P(G_i, C_k)}{P(C_k)} - условная вероятность принадлежности к классу GiG_i при условии, что объект попал в кластер CkC_k.

Взаимная информация (MI)​

Взаимная информация (Mutual Information, MI [8]) измеряет степень зависимости между распределением объектов по классам и их распределением по кластерам.

Мера показывает, какое количество информации об истинных классах содержится в кластерах и, наоборот, количество информации о кластерах, содержащейся в кластерах (мера симметрична). В терминах совместных вероятностей она записывается следующим образом:

MI(G,C)=∑i=1M∑k=1KP(Gi,Ck)log⁡P(Gi,Ck)P(Gi)P(Ck)MI(G, C) = \sum_{i=1}^{M} \sum_{k=1}^{K} P(G_i, C_k) \log \frac{P(G_i, C_k)}{P(G_i) P(C_k)}

Эту же величину можно выразить через разность безусловной и условной энтропии [7]:

MI(G,C)=H(G)−H(G∣C),MI(G, C) = H(G) - H(G|C),

где H(G)H(G) - неопределенность принадлежности случайного объекта к классам, а H(G∣C)H(G|C) - неопределенность классов после того, как стало известно разбиение по кластерам:

H(G∣C)=−∑k=1KP(Ck)∑i=1MP(Gi∣Ck)log⁡P(Gi∣Ck)H(G|C) = - \sum_{k=1}^{K} P(C_k) \sum_{i=1}^{M} P(G_i | C_k) \log P(G_i | C_k)
Диапазон значений

Мера принимает значения в диапазоне [0,min⁡(H(G),H(C))][0, \min(H(G), H(C))]. Значение 00 означает полную независимость разбиений.

Нормированная взаимная информация (NMI)​

Нормированная взаимная информация (Normalized Mutual Information, NMI) - это версия MI, приведенная к стандартному диапазону [0,1] за счёт нормализации:

NMI(G,C)=MI(G,C)F(H(G),H(C))NMI(G, C) = \frac{MI(G, C)}{F(H(G), H(C))}

Здесь FF - функция агрегации энтропий, для которой доступны следующие варианты:

  • минимальная: F=min⁡(H(G),H(C))F = \min(H(G), H(C))
  • максимальная: F=max⁡(H(G),H(C))F = \max(H(G), H(C))
  • геометрическая: F=H(G)⋅H(C)F = \sqrt{H(G) \cdot H(C)}
  • арифметическая: F=H(G)+H(C)2F = \frac{H(G) + H(C)}{2}

Для любого вида агрегации NMI будет принадлежать [0,1][0, 1], а значение 1 будет достижимо только при первом типе агрегации минимумом.

Скорректированная взаимная информация (AMI)​

Скорректированная взаимная информация (Adjusted Mutual Information, AMI [9]) вводит поправку на случайность, что делает её более надежной для задач с большим числом кластеров. Обычные меры MIMI и NMINMI имеют тенденцию увеличиваться при росте количества кластеров, даже если объекты распределены случайно.

Скорректированная взаимная информация вычисляется следующим образом:

AMI=MI(G,C)−E[MI(G,C)]F(H(G),H(C))−E[MI(G,C)],AMI = \frac{MI(G, C) - E[MI(G, C)]}{F(H(G), H(C)) - E[MI(G, C)]},

где E[MI(G,C)]E[MI(G, C)] - ожидаемое значение взаимной информации для случайных меток.

Верхняя граница меры равна 1. При этом значение может быть и отрицательным, если кластеризация окажется хуже случайной.

Литература​

  1. Wikipedia: Венгерский алгоритм.
  2. Rand W. M. Objective criteria for the evaluation of clustering methods //Journal of the American Statistical association. – 1971. – Т. 66. – №. 336. – С. 846-850.
  3. Wikipedia: Rand index.
  4. Wikipedia: Fowlkes–Mallows index.
  5. Wikipedia: Jaccard index.
  6. Rosenberg A., Hirschberg J. V-measure: A conditional entropy-based external cluster evaluation measure //Proceedings of the 2007 joint conference on empirical methods in natural language processing and computational natural language learning (EMNLP-CoNLL). – 2007. – С. 410-420.
  7. Wikipedia: Entropy (information theory).
  8. Wikipedia: Mutual information.
  9. Vinh N. X., Epps J., Bailey J. Information Theoretic Measures for Clusterings Comparison: Variants, Properties, Normalization and Correction for Chance // Journal of Machine Learning Research. - 2010. — Vol. 11. — P. 2837–2854.