Силует (кластеризація)
Силует у кластерному аналізі відноситься до методу інтерпретації та перевірки узгодженості елементів кластерів даних. Цей метод забезпечує стисле графічне представлення того, наскільки добре класифіковано кожен об'єкт.[1] Цей підхід запропонував бельгійський статистик Пітер Руссеу[en] в 1987 році.
Величина силуету є мірою того, наскільки об'єкт схожий на власний кластер (згуртованість) порівняно з іншими кластерами (відокремлення). Значення силуету коливається від −1 до +1, де високе значення вказує на те, що об'єкт добре збігається з власним кластером і погано збігається з сусідніми кластерами. Якщо більшість об'єктів мають високе значення, то конфігурація кластеризації відповідає природі даних. Якщо багато точок мають низьке або від'ємне значення, тоді конфігурація кластеризації може мати забагато або замало кластерів.
Силует можна розрахувати за допомогою будь-якої метрики відстані, наприклад евклідової відстані або манхеттенської відстані.
Припустімо, що дані були згруповані за допомогою будь-якого методу, наприклад k-медоїдів[en] або k-середніх, у k кластерів.
Для точки даних (точка даних i в кластері ), обчислимо
яке є середньою відстанню між i та всіма іншими точками даних у тому самому кластері, де — це кількість точок, що належать кластеру i, а d(i,j) — це відстань між точками даних i та j у кластері (ділимо на оскільки ми не включаємо відстань d(i,i) у суму). Ми можемо інтерпретувати a(i) як міру того, наскільки добре i припасовоно до кластеру (чим менше значення, тим краще припасування).
Потім ми визначаємо середню несхожість точки i на деякий кластер , який міг би бути найкращим кластером для точки i, як середнє значення відстані від i до всіх точок (де ).
Для кожної точки даних , тепер визначимо
найменший (тому, оператор у формулі), бо маємо порівнювати з найближчим кластером, означає відстань i до всіх точок у будь-якому іншому кластері (тобто в будь-якому кластері, членом якого i не є). Кластер із цією найменшою середньою різницею називають «сусіднім кластером» i, оскільки він є наступним найкращим кластером для точки i.
Тепер ми визначаємо силует (значення) однієї точки даних i
- , якщо
і
- , якщо
Що також можна записати так:
З наведеного визначення зрозуміло, що
Зауважте, що a(i) не є чітко визначеним для кластерів із розміром в одну точку, у цьому випадку ми встановлюємо . Цей вибір довільний, але нейтральний у тому сенсі, що він знаходиться в середині меж: -1 і 1.[1]
Щоб s(i) було близьке до 1, нам потрібно . Оскільки a(i) є мірою того, наскільки i відрізняється від власного кластера, мале значення означає, що воно добре припасоване. Крім того, велике b(i) означає, що i погано узгоджується з сусіднім кластером. Таким чином, s(i), близьке до 1, означає, що дані належним чином згруповані. Якщо s(i) близьке до -1, то за тією ж логікою ми бачимо, що i було б більш відповідним, якби воно було кластеризоване в сусідньому кластері. Значення s(i) біля нуля означає, що елемент знаходиться на межі двох природних кластерів.
Середнє s(i) для всіх точок кластера є мірою того, наскільки тісно згруповані всі точки в кластері. Таким чином, середнє значення s(i) для всіх даних усього набору даних є мірою того, наскільки правильно дані були згруповані. Якщо кластерів занадто багато або занадто мало, як це може статися, коли в алгоритмі кластеризації використовується невдалий вибір k (наприклад, у методі k-середніх), то, одним з наслідків, може бути суттєва відмінність у кількість точок різних кластерів. На графіку це виглядає так, що деякі з кластерів зазвичай відображатимуть набагато вужчі силуети, ніж решта (див. малюнок вище). Таким чином, діаграми з силуетами та середніми значеннями можна використовувати для визначення натуральної кількості кластерів у наборі даних. Можна також збільшити ймовірність максимізації силуету при правильній кількості кластерів шляхом повторного масштабування даних за допомогою вагових коефіцієнтів, які залежать від кластерів.[2]
Кауфман та ін. ввели термін силуетний коефіцієнт для максимального значення середнього s(i) для всіх даних набору даних,[3] тобто,
де представляє середнє s(i) по всім даним усього набору при заданій кількості кластерів k.
Для обчислення коефіцієнта силуету потрібно обчислювати всі O(N2) попарних відстаней, що робить це оцінювання набагато дорожчим, ніж кластеризація з k-середніми. Для кластеризації з центрами для кожного кластера , ми можемо використовувати наступний спрощений силует для кожної точки замість цього, який можна обчислити, використовуючи лише O(Nk) відстаней:
- і ,
який має додаткову перевагу в тому, що a'(i) завжди визначено, тоді відповідно можна визначити спрощений силует і коефіцієнт спрощеного силуету[4]
- .
Якщо центри кластерів є медоїдами (як при кластеризації k-медоїдами), а не середніми арифметичними (як при кластеризації k-середніми), це також називається силуетом на основі медоїда[5] або медоїд-силуетом.[6]
Якщо кожен об'єкт присвоєно найближчому медоїду (як при кластеризації k-медоїдами), ми знаємо, що , і отже .[6]
Замість використання середнього силуету для оцінки кластеризації, отриманої, наприклад, з k-медоїдів або k-середніх, ми можемо спробувати безпосередньо знайти рішення, яке максимізує значення силуету. Ми не маємо готового рішення, яке дозволяло б максимізувати силует, але зазвичай найкраще призначати точки найближчому кластеру, як це робиться за допомогою цих методів. Ван дер Лаан та ін.[5] запропонував адаптувати стандартний алгоритм для k-медоїдів, PAM[en], для цієї мети та назвати цей алгоритм PAMSIL:
- Виберіть початкові медоїди за допомогою PAM
- Обчисліть середній силует цього початкового рішення
- Для кожної пари медоїда m і не медоїда x
- поміняти місцями m і x
- обчислити середній силует отриманого рішення
- запам'ятати найкращу заміну
- Виконати найкращу заміну та повернутися до п. 3, інакше, якщо покращення не знайдено, закінчити.
Цикл на кроці 3 виконується для O(Nk) пар і включає обчислення силуету для O(N2) пар точок, отже, цей алгоритм потребує O(N3ki) часу, де i — кількість ітерацій.
Оскільки це досить дорога операція, автори пропонують також використовувати силует, заснований на медоїді, і назвати отриманий алгоритм PAMMEDSIL.[5] Для цього потрібно O(N2k2i) часу.
Батул та ін. запропонували подібний алгоритм під назвою OSil і запропонували подібну до CLARA стратегію вибірки для більших наборів даних, яка вирішує проблему лише для підвибірки.[7]
Застосувавши останні вдосконалення алгоритму PAM, FastMSC скорочує час роботи за допомогою силуету медоїда лише до O(N2i).[6]
- ↑ а б Peter J. Rousseeuw (1987). Silhouettes: a Graphical Aid to the Interpretation and Validation of Cluster Analysis. Computational and Applied Mathematics. 20: 53—65. doi:10.1016/0377-0427(87)90125-7.
- ↑ R.C. de Amorim, C. Hennig (2015). Recovering the number of clusters in data sets with noise features using feature rescaling factors. Information Sciences. 324: 126—145. arXiv:1602.06989. doi:10.1016/j.ins.2015.06.039. S2CID 315803.
- ↑ Leonard Kaufman; Peter J. Rousseeuw (1990). Finding groups in data : An introduction to cluster analysis. Hoboken, NJ: Wiley-Interscience. с. 87. doi:10.1002/9780470316801. ISBN 9780471878766.
- ↑ Hruschka, E.R.; de Castro, L.N.; Campello, R.J.G.B. (2004). Evolutionary Algorithms for Clustering Gene-Expression Data. Fourth IEEE International Conference on Data Mining (ICDM'04). IEEE. с. 403—406. doi:10.1109/ICDM.2004.10073.
- ↑ а б в Van der Laan, Mark; Pollard, Katherine; Bryan, Jennifer (2003). A new partitioning around medoids algorithm. Journal of Statistical Computation and Simulation (англ.). 73 (8): 575—584. doi:10.1080/0094965031000136012. ISSN 0094-9655.
- ↑ а б в Lenssen, Lars; Schubert, Erich (2022). Clustering by Direct Optimization of the Medoid Silhouette. International Conference on Similarity Search and Applications (англ.). с. 190—204. doi:10.1007/978-3-031-17849-8_15. Процитовано 20 жовтня 2022.
- ↑ Batool, Fatima; Hennig, Christian (2021). Clustering with the Average Silhouette Width. Computational Statistics & Data Analysis (англ.). 158: 107190. doi:10.1016/j.csda.2021.107190.
- Вибір кількості кластерів за допомогою аналізу силуетів у кластеризації KMeans. scikit-learn (англ.). Процитовано 28 жовтня 2022.