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

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

Изучим внешние меры оценки качества кластеризации. Они, в отличие от внутренних мер, основаны на сопоставлении разбивки объектов на кластера 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=CKN_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=maxp1Nn=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)2max(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(N1)/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=RIE[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=PrecisionRecall=TPTP+FPTPTP+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+β)hcβ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(GC)H(G|C) — условная энтропия классов при условии распределения по кластерам [7]:

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

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

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

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

Полнота

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

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

Если все объекты каждого класса попали в свои уникальные кластеры, то H(CG)=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)=GiNP(G_i) = \frac{|G_i|}{N} — вероятность того, что случайно выбранный объект принадлежит классу GiG_i;

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

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

  • P(GiCk)=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=1Mk=1KP(Gi,Ck)logP(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(GC),MI(G, C) = H(G) - H(G|C),

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

H(GC)=k=1KP(Ck)i=1MP(GiCk)logP(GiCk)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.