Оценка качества в задаче кластеризации — различия между версиями
м (→COP Index) |
м (rollbackEdits.php mass rollback) |
||
(не показано 15 промежуточных версий 7 участников) | |||
Строка 7: | Строка 7: | ||
Принято выделять две группы методов оценки качества кластеризации: | Принято выделять две группы методов оценки качества кластеризации: | ||
− | * '''Внешние''' (англ. '' | + | * '''Внешние''' (англ. ''External'') меры основаны на сравнении результата кластеризации с априори известным разделением на классы. |
− | * '''Внутренние''' (англ. '' | + | * '''Внутренние''' (англ. ''Internal'') меры отображают качество кластеризации только по информации в данных. |
== Внешние меры оценки качества == | == Внешние меры оценки качества == | ||
Строка 65: | Строка 65: | ||
Также рассмотрим пары <math>(x_i, x_j)</math> из элементов кластеризуемого множества <math>X</math>. Подсчитаем количество пар, в которых: | Также рассмотрим пары <math>(x_i, x_j)</math> из элементов кластеризуемого множества <math>X</math>. Подсчитаем количество пар, в которых: | ||
* Элементы принадлежат одному кластеру и одному классу {{---}} <math>TP</math> | * Элементы принадлежат одному кластеру и одному классу {{---}} <math>TP</math> | ||
− | * Элементы принадлежат одному кластеру, но разным классам {{---}} <math> | + | * Элементы принадлежат одному кластеру, но разным классам {{---}} <math>FP</math> |
− | * Элементы принадлежат разным кластерам, но одному классу {{---}} <math> | + | * Элементы принадлежат разным кластерам, но одному классу {{---}} <math>FN</math> |
− | * Элементы принадлежат разным кластерам и разным классам {{---}} <math> | + | * Элементы принадлежат разным кластерам и разным классам {{---}} <math>TN</math> |
=== Индекс Rand === | === Индекс Rand === | ||
Индекс Rand оценивает, насколько много из тех пар элементов, которые находились в одном классе, и тех пар элементов, которые находились в разных классах, сохранили это состояние после кластеризации алгоритмом. | Индекс Rand оценивает, насколько много из тех пар элементов, которые находились в одном классе, и тех пар элементов, которые находились в разных классах, сохранили это состояние после кластеризации алгоритмом. | ||
: <math> | : <math> | ||
− | Rand = \dfrac{TP+ | + | Rand = \dfrac{TP+TN}{TP+TN+FP+FN} |
</math> | </math> | ||
Имеет область определения от 0 до 1, где 1 {{---}} полное совпадение кластеров с заданными классами, а 0 {{---}} отсутствие совпадений. | Имеет область определения от 0 до 1, где 1 {{---}} полное совпадение кластеров с заданными классами, а 0 {{---}} отсутствие совпадений. | ||
Строка 83: | Строка 83: | ||
=== Индекс Жаккара (англ. Jaccard Index) === | === Индекс Жаккара (англ. Jaccard Index) === | ||
− | Индекс Жаккара похож на [[#Индекс_Rand|Индекс Rand]], только не учитывает пары элементов находящиеся в разные классах и разных кластерах (<math> | + | Индекс Жаккара похож на [[#Индекс_Rand|Индекс Rand]], только не учитывает пары элементов находящиеся в разные классах и разных кластерах (<math>TN</math>). |
: <math> | : <math> | ||
− | Jaccard = \dfrac{TP}{TP+ | + | Jaccard = \dfrac{TP}{TP+FN+FP} |
</math> | </math> | ||
Имеет область определения от 0 до 1, где 1 {{---}} полное совпадение кластеров с заданными классами, а 0 {{---}} отсутствие совпадений. | Имеет область определения от 0 до 1, где 1 {{---}} полное совпадение кластеров с заданными классами, а 0 {{---}} отсутствие совпадений. | ||
Строка 92: | Строка 92: | ||
Индекс Фоулкса – Мэллова используется для определения сходства между двумя кластерами. | Индекс Фоулкса – Мэллова используется для определения сходства между двумя кластерами. | ||
: <math> | : <math> | ||
− | FM = \sqrt{ \dfrac{TP}{TP+ | + | FM = \sqrt{ \dfrac{TP}{TP+FP} \cdot \dfrac{TP}{TP+FN} } |
</math> | </math> | ||
Более высокое значение индекса означает большее сходство между кластерами. Этот индекс также хорошо работает на зашумленных данных. | Более высокое значение индекса означает большее сходство между кластерами. Этот индекс также хорошо работает на зашумленных данных. | ||
Строка 114: | Строка 114: | ||
Классическая мера корреляции между двумя переменными: | Классическая мера корреляции между двумя переменными: | ||
: <math> | : <math> | ||
− | \Phi = \dfrac{ TP \times FN | + | \Phi = \dfrac{ TP \times TN - FN \times FP }{ (TP + FN)(TP + FP)(FN + TN)(FP + TN) } |
</math> | </math> | ||
=== Minkowski Score === | === Minkowski Score === | ||
: <math> | : <math> | ||
− | MS = \dfrac{ \sqrt{ \sum_i \binom{a_i}{2} + \sum_j \binom{ | + | MS = \dfrac{ \sqrt{ \sum_i \binom{a_i}{2} + \sum_j \binom{b_j}{2} - 2\sum_{ij} \binom{ n_{ij} }{ 2 } } }{ \sqrt{ \sum_j \binom{b_j}{2} } } |
</math> | </math> | ||
Строка 138: | Строка 138: | ||
Чистота ставит в соответствие кластеру самый многочисленный в этом кластере класс. | Чистота ставит в соответствие кластеру самый многочисленный в этом кластере класс. | ||
: <math> | : <math> | ||
− | P = \sum_i | + | P = \sum_i \max_j p_{ij} |
</math> | </math> | ||
Строка 287: | Строка 287: | ||
: <math> | : <math> | ||
− | SF(C) = 1 - \dfrac{ 1 }{ e^{e^{bcd(C) | + | SF(C) = 1 - \dfrac{ 1 }{ e^{e^{bcd(C) - wcd(C)}} } |
</math>, | </math>, | ||
где: | где: | ||
Строка 297: | Строка 297: | ||
</math> | </math> | ||
− | Чем больше данный индекс, тем выше качество. | + | Чтобы функция оценки была эффективной, она должна максимизировать bcd, минимизировать wcd и быть ограниченной. Чем больше данный индекс, тем выше качество. |
=== Индекс Gamma === | === Индекс Gamma === | ||
Строка 316: | Строка 316: | ||
</math>. | </math>. | ||
− | === CS | + | === Индекс CS === |
Был предложен в области сжатия изображений, но может быть успешно адаптирован для любого другого окружения. Он оценивает компактность по диаметру кластера, а отделимость — как дистанцию между ближайшими элементами двух кластеров. | Был предложен в области сжатия изображений, но может быть успешно адаптирован для любого другого окружения. Он оценивает компактность по диаметру кластера, а отделимость — как дистанцию между ближайшими элементами двух кластеров. | ||
Строка 325: | Строка 325: | ||
Чем меньше значение данного индекса, тем выше качество кластеризации. | Чем меньше значение данного индекса, тем выше качество кластеризации. | ||
− | === Sym | + | === Индекс Sym === |
: <math> | : <math> | ||
Sym(C) = \dfrac {\max_{c_k, c_l \in C} \{\|\overline{c_k} - \overline{c_l}\|\}}{K\sum_{c_k \in C}\sum_{x_i \in c_k} \overset{\ast}{d_{ps}}(x_i, c_k)} | Sym(C) = \dfrac {\max_{c_k, c_l \in C} \{\|\overline{c_k} - \overline{c_l}\|\}}{K\sum_{c_k \in C}\sum_{x_i \in c_k} \overset{\ast}{d_{ps}}(x_i, c_k)} | ||
Строка 334: | Строка 334: | ||
Чем выше данное значение, тем лучше. | Чем выше данное значение, тем лучше. | ||
− | === | + | === Индексы SymDB, SymD, Sym33 === |
Модифицируют оценку компактности для индексов Дэвиса-Боулдина, Данна и gD33 соответственно. | Модифицируют оценку компактности для индексов Дэвиса-Боулдина, Данна и gD33 соответственно. | ||
Строка 363: | Строка 363: | ||
Данная оценка должна уменьшаться пропорционально росту качества кластеризации. | Данная оценка должна уменьшаться пропорционально росту качества кластеризации. | ||
− | === SV | + | === Индекс SV === |
Одна из самых новых из рассматриваемых в данном разделе оценок. Измеряет разделимость по дистанции между ближайшими точка кластеров, а компактность — по расстоянию от пограничных точек кластера до его центроида. | Одна из самых новых из рассматриваемых в данном разделе оценок. Измеряет разделимость по дистанции между ближайшими точка кластеров, а компактность — по расстоянию от пограничных точек кластера до его центроида. | ||
Строка 371: | Строка 371: | ||
Данная оценка должна увеличиваться. | Данная оценка должна увеличиваться. | ||
− | === OS | + | |
+ | === Индекс OS === | ||
Отличается от предыдущей оценки усложненным способом вычисления оценки разделимости. | Отличается от предыдущей оценки усложненным способом вычисления оценки разделимости. | ||
Строка 406: | Строка 407: | ||
|+ Таблица 1 — Оценка сложности для 19 мер качества кластеризации. | |+ Таблица 1 — Оценка сложности для 19 мер качества кластеризации. | ||
|<math>Davies-Bouldin</math> | |<math>Davies-Bouldin</math> | ||
− | |<math>O( | + | |<math>O(n\log{n})</math> |
|<math>CS</math> | |<math>CS</math> | ||
− | |<math>O( | + | |<math>O(n\log{n})</math> |
|- | |- | ||
|<math>Dunn</math> | |<math>Dunn</math> | ||
|<math>O(n^2)</math> | |<math>O(n^2)</math> | ||
|<math>DB^*</math> | |<math>DB^*</math> | ||
− | |<math>O( | + | |<math>O(n\log{n})</math> |
|- | |- | ||
|<math>Calinski-Harabasz</math> | |<math>Calinski-Harabasz</math> | ||
− | |<math>O( | + | |<math>O(n\log{n})</math> |
|<math>SF</math> | |<math>SF</math> | ||
|<math>O(n)</math> | |<math>O(n)</math> | ||
Строка 433: | Строка 434: | ||
|<math>O(n^2)</math> | |<math>O(n^2)</math> | ||
|<math>SV</math> | |<math>SV</math> | ||
− | |<math>O( | + | |<math>O(n\log{n})</math> |
|- | |- | ||
|<math>gD51</math> | |<math>gD51</math> | ||
|<math>O(n^2)</math> | |<math>O(n^2)</math> | ||
|<math>OS</math> | |<math>OS</math> | ||
− | |<math>O(n^ | + | |<math>O(n^2\log{n})</math> |
|- | |- | ||
|<math>gD33</math> | |<math>gD33</math> | ||
|<math>O(n^2)</math> | |<math>O(n^2)</math> | ||
|<math>SDbw</math> | |<math>SDbw</math> | ||
− | |<math>O( | + | |<math>O(n\log{n})</math> |
|- | |- | ||
|<math>gD43</math> | |<math>gD43</math> | ||
|<math>O(n^2)</math> | |<math>O(n^2)</math> | ||
|<math>C-index</math> | |<math>C-index</math> | ||
− | |<math>O(n^ | + | |<math>O(n^2\log{n})</math> |
|- | |- | ||
|<math>gD53</math> | |<math>gD53</math> | ||
− | |<math>O( | + | |<math>O(n\log{n})</math> |
| | | | ||
| | | |
Текущая версия на 19:17, 4 сентября 2022
Проблема оценки качества в задаче кластеризации трудноразрешима, как минимум, по двум причинам:
- Теорема невозможности Клейнберга — не существует оптимального алгоритма кластеризации.
- Многие алгоритмы кластеризации не способны определить настоящее количество кластеров в данных. Чаще всего количество кластеров подается на вход алгоритма и подбирается несколькими запусками алгоритма.
Содержание
- 1 Методы оценки качества кластеризации
- 2 Внешние меры оценки качества
- 2.1 Обозначения
- 2.2 Индекс Rand
- 2.3 Индекс Adjusted Rand
- 2.4 Индекс Жаккара (англ. Jaccard Index)
- 2.5 Индекс Фоулкса – Мэллова (англ. Fowlkes-Mallows Index)
- 2.6 Hubert Г statistic
- 2.7 Индекс Phi
- 2.8 Minkowski Score
- 2.9 Индекс Гудмэна-Крускала (англ. Goodman-Kruskal Index)
- 2.10 Entropy
- 2.11 Purity
- 2.12 F-мера
- 2.13 Variation of Information
- 3 Внутренние меры оценки качества
- 3.1 Компактность кластеров (англ. Cluster Cohesion)
- 3.2 Отделимость кластеров (англ. Cluster Separation)
- 3.3 Индекс Данна (англ. Dunn Index)
- 3.4 Обобщенный Индекс Данна (gD31, gD41, gD51, gD33, gD43, gD53)
- 3.5 Индекс S_Dbw
- 3.6 Силуэт (англ. Silhouette)
- 3.7 Индекс Calinski–Harabasz
- 3.8 Индекс C
- 3.9 Индекс Дэвиcа-Болдуина (англ. Davies–Bouldin Index)
- 3.10 Score function
- 3.11 Индекс Gamma
- 3.12 Индекс COP
- 3.13 Индекс CS
- 3.14 Индекс Sym
- 3.15 Индексы SymDB, SymD, Sym33
- 3.16 Negentropy increment
- 3.17 Индекс SV
- 3.18 Индекс OS
- 4 Сравнение
- 5 См. также
- 6 Источники информации
- 7 Примечания
Методы оценки качества кластеризации
Метод оценки качества кластеризации — инструментарий для количественной оценки результатов кластеризации.
Принято выделять две группы методов оценки качества кластеризации:
- Внешние (англ. External) меры основаны на сравнении результата кластеризации с априори известным разделением на классы.
- Внутренние (англ. Internal) меры отображают качество кластеризации только по информации в данных.
Внешние меры оценки качества
Данные меры используют дополнительные знания о кластеризуемом множестве: распределение по кластерам, количество кластеров и т.д.
Обозначения
Дано множество
из элементов, разделение на классы , и полученное разделение на кластеры , совпадения между и могут быть отражены в таблице сопряженности , где каждое обозначает число объектов, входящих как в , так и в : .Пусть
.Также рассмотрим пары
из элементов кластеризуемого множества . Подсчитаем количество пар, в которых:- Элементы принадлежат одному кластеру и одному классу —
- Элементы принадлежат одному кластеру, но разным классам —
- Элементы принадлежат разным кластерам, но одному классу —
- Элементы принадлежат разным кластерам и разным классам —
Индекс Rand
Индекс Rand оценивает, насколько много из тех пар элементов, которые находились в одном классе, и тех пар элементов, которые находились в разных классах, сохранили это состояние после кластеризации алгоритмом.
Имеет область определения от 0 до 1, где 1 — полное совпадение кластеров с заданными классами, а 0 — отсутствие совпадений.
Индекс Adjusted Rand
где
— значения из таблицы сопряженности.В отличие от обычного индекса Rand, индекс Adjusted Rand может принимать отрицательные значения, если .
Индекс Жаккара (англ. Jaccard Index)
Индекс Жаккара похож на Индекс Rand, только не учитывает пары элементов находящиеся в разные классах и разных кластерах ( ).
Имеет область определения от 0 до 1, где 1 — полное совпадение кластеров с заданными классами, а 0 — отсутствие совпадений.
Индекс Фоулкса – Мэллова (англ. Fowlkes-Mallows Index)
Индекс Фоулкса – Мэллова используется для определения сходства между двумя кластерами.
Более высокое значение индекса означает большее сходство между кластерами. Этот индекс также хорошо работает на зашумленных данных.
Hubert Г statistic
Данная мера отражает среднее расстояние между объектами разных кластеров:
где
, — матрица близости, аМожно заметить, что два объекта влияют на
, только если они находятся в разных кластерах.Чем больше значение меры — тем лучше.
Индекс Phi
Классическая мера корреляции между двумя переменными:
Minkowski Score
Индекс Гудмэна-Крускала (англ. Goodman-Kruskal Index)
Entropy
Энтропия измеряет "чистоту" меток классов:
Стоит отметить, что если все кластера состоят из объектов одного класса, то энтропия равна 0.
Purity
Чистота ставит в соответствие кластеру самый многочисленный в этом кластере класс.
Чистота находится в интервале [0, 1], причём значение = 1 отвечает оптимальной кластеризации.
F-мера
F-мера представляет собой гармоническое среднее между точностью (precision) и полнотой (recall).
Variation of Information
Данная мера измеряет количество информации, потерянной и полученной при переходе из одного кластера в другой.
Внутренние меры оценки качества
Данные меры оценивают качество структуры кластеров опираясь только непосредственно на нее, не используя внешней информации.
Компактность кластеров (англ. Cluster Cohesion)
Идея данного метода в том, что чем ближе друг к другу находятся объекты внутри кластеров, тем лучше разделение.
Таким образом, необходимо минимизировать внутриклассовое расстояние, например, сумму квадратов отклонений:
- , где — количество кластеров.
Отделимость кластеров (англ. Cluster Separation)
В данном случае идея противоположная — чем дальше друг от друга находятся объекты разных кластеров, тем лучше.
Поэтому здесь стоит задача максимизации суммы квадратов отклонений:
- , где — количество кластеров.
Индекс Данна (англ. Dunn Index)
Индекс Данна имеет множество вариаций, оригинальная версия выглядит следующим образом:
- ,
где:
- — межкластерное расстояние (оценка разделения), ,
- — диаметр кластера (оценка сплоченности), .
Обобщенный Индекс Данна (gD31, gD41, gD51, gD33, gD43, gD53)
Все эти вариации являются комбинациями 3 вариантов вычисления оценки разделения
и оценки компактностиОценки разделения:
- ,
- ,
- .
Оценки компактности:
- ,
- .
Обобщенный индекс Данна, как и обычный, должен возрастать вместе с улучшением качества кластеризации.
Индекс S_Dbw
Основан на вычислении Евклидовой нормы
и стандартных отклонений
- ,
- .
Сам индекс определяется формулой:
- .
Здесь
- ,
- ,
- , если и в ином случае.
Должен снижаться с улучшением кластеризации.
Силуэт (англ. Silhouette)
Значение силуэта показывает, насколько объект похож на свой кластер по сравнению с другими кластерами.
Оценка для всей кластерной структуры:
- ,
где:
- — среднее расстояние от до других объектов из кластера (компактность),
- — среднее расстояние от до объектов из другого кластера (отделимость).
Можно заметить, что
- .
Чем ближе данная оценка к 1, тем лучше.
Есть также упрощенная вариация силуэта:
и вычисляются через центры кластеров.Индекс Calinski–Harabasz
Компактность основана на расстоянии от точек кластера до их центроидов, а разделимость - на расстоянии от центроид кластеров до глобального центроида. Должен возрастать.
Индекс C
Индекс C представляет собой нормализованную оценку компактности:
- ,
где:
- ,
- - сумма минимальных (максимальных) расстояний между парами всех объектов во всем датасете.
Индекс Дэвиcа-Болдуина (англ. Davies–Bouldin Index)
Это, возможно, одна из самых используемых мер оценки качества кластеризации.
Она вычисляет компактность как расстояние от объектов кластера до их центроидов, а отделимость - как расстояние между центроидами.
- ,
где:
Существует еще одна вариация данной меры, которая была предложена автором вместе с основной версией:
C-индекс и индекс Дэвиcа-Болдуина должны минимизироваться для роста кластеризации.
Score function
Индекс, основанный на суммировании. Здесь оценка компактности выражается в дистанции от точек кластера до его центроида, а оценка разделимости — в дистанции от центроидов кластеров до глобального центроида.
- ,
где:
- ,
Чтобы функция оценки была эффективной, она должна максимизировать bcd, минимизировать wcd и быть ограниченной. Чем больше данный индекс, тем выше качество.
Индекс Gamma
где:
- — число пар таких, что (1) и принадлежат разным кластерам, и (2) ,
- .
Индекс COP
В данной мере компактность вычисляется как расстояние от точек кластера до его центроиды, а разделимость основана на расстоянии до самого отдаленного соседа.
- .
Индекс CS
Был предложен в области сжатия изображений, но может быть успешно адаптирован для любого другого окружения. Он оценивает компактность по диаметру кластера, а отделимость — как дистанцию между ближайшими элементами двух кластеров.
- .
Чем меньше значение данного индекса, тем выше качество кластеризации.
Индекс Sym
- .
Здесь
— дистанция симметрии для точки из кластера .Чем выше данное значение, тем лучше.
Индексы SymDB, SymD, Sym33
Модифицируют оценку компактности для индексов Дэвиса-Боулдина, Данна и gD33 соответственно.
SymDB вычисляется аналогично DB с изменением вычисления
на:- .
Данная оценка должна уменьшаться для улучшения качества кластеризации.
В SymD переопределена функция
:- .
в Sym33 аналогично SymD переопределена
:- .
Последние две оценки должны расти для улучшения качества кластеризации.
Negentropy increment
В отличие от подавляющего большинства других оценок, не основывается на сравнении компактности и разделимости. Определяется следующим образом:
- .
Здесь
, - определитель ковариационной матрицы кластера , - определитель ковариационной матрицы всего датасета.Данная оценка должна уменьшаться пропорционально росту качества кластеризации.
Индекс SV
Одна из самых новых из рассматриваемых в данном разделе оценок. Измеряет разделимость по дистанции между ближайшими точка кластеров, а компактность — по расстоянию от пограничных точек кластера до его центроида.
- .
Данная оценка должна увеличиваться.
Индекс OS
Отличается от предыдущей оценки усложненным способом вычисления оценки разделимости.
- .
Где
- .
при
, и в ином случае.Функции
и определены следующим образом:- .
- .
Данная оценка, как и предыдущая, должна возрастать.
Сравнение
Не существует лучшего метода оценки качества кластеризации. Однако, в рамках исследования[1] была предпринята попытка сравнить существующие меры на различных данных. Полученные результаты показали, что на искусственных датасетах наилучшим образом себя проявили индексы , и . На реальных датасетах лучше всех показал себя .
В Таблице 1 приведены оценки сложности мер качества кластеризации (
— число объектов в рассматриваемом наборе данных):Из всех рассмотренных мер, меры [2].
, , и наиболее полно соответствуют когнитивному представлению асессоров о качестве кластеризацииСм. также
- Кластеризация
- Оценка качества в задачах классификации и регрессии[на 28.01.19 не создан]
Источники информации
- Wikipedia — Category:Clustering criteria
- Сивоголовко Е. В. Методы оценки качества четкой кластеризации
- Cluster Validation
- Halkidi, M., Batistakis, Y., Vazirgiannis, M., 2001. On clustering validation techniques. Journal of intelligent information systems, 17(2-3), pp.107-145.
- Pal, N.R., Biswas, J., 1997. Cluster validation using graph theoretic concepts. Pattern Recognition, 30(6), pp.847-857.