Clustering — label berilmagan sample’larni o‘xshashlik asosida guruhlarga ajratadigan unsupervised-learning vazifasi. Har bir guruh cluster deb ataladi. Clustering customer segment, document mavzusi, image grouping, anomaly tahlili va data explorationda ishlatiladi.
Clustering natijasi datadagi “haqiqiy” yagona guruhlash bo‘lishi shart emas. Algorithm, feature, distance va cluster soniga qarab boshqa strukturani topishi mumkin.
Feature space
Har sample feature vector bilan ifodalanadi.
Cluster algorithm samplelar orasidagi yaqinlikni shu space’da hisoblaydi.
Feature scale va representation natijaga kuchli ta’sir qiladi.
Keraksiz dimensionlar meaningful structure’ni yashirishi mumkin.
Distance
Keng metriclar:
- Euclidean;
- Manhattan;
- cosine;
- Jaccard;
- Hamming;
- domain-specific distance.
Text embedding uchun cosine, numeric spatial data uchun Euclidean mos bo‘lishi mumkin.
Metric task ma’nosini ifodalashi kerak.
K-means
K-means oldindan berilgan k ta cluster markazini topadi.
Jarayon:
- centroidlar initializatsiya qilinadi;
- har sample eng yaqin centroidga biriktiriladi;
- centroid cluster o‘rtachasiga yangilanadi;
- convergencegacha takrorlanadi.
U compact va taxminan spherical clusterlarda yaxshi ishlaydi.
Centroid
Cluster samplelarining o‘rtacha vectori.
Centroid real sample bo‘lishi shart emas.
K-means prediction yangi sample’ni eng yaqin centroidga biriktiradi.
Outlier centroidni siljitishi mumkin.
K tanlash
Cluster soni oldindan ma’lum bo‘lmasligi mumkin.
Usullar:
- elbow method;
- silhouette score;
- gap statistic;
- stability;
- domain interpretation.
Metricdagi optimal k business jihatdan foydali bo‘lishi kafolatlanmaydi.
Initialization
K-means random centroiddan boshlansa local optimumga tushishi mumkin.
K-means++ uzoq nuqtalarni ehtimolli tanlab yaxshi boshlanish beradi.
Bir nechta random run bajarilib eng yaxshi objective tanlanadi.
Hierarchical clustering
Samplelar bosqichma-bosqich birlashtiriladi yoki bo‘linadi.
Agglomerative usul har sample’dan boshlaydi va yaqin clusterlarni birlashtiradi.
Natija dendrogram orqali ko‘rsatiladi.
Kerakli balandlikda kesib clusterlar olinadi.
Linkage
Clusterlar orasidagi masofa:
- single;
- complete;
- average;
- Ward;
- boshqa linkage
bilan hisoblanadi.
Single linkage uzun zanjir yaratishi mumkin.
Ward compact clusterga intiladi va Euclidean featurega mos.
DBSCAN
Density-based algorithm zich hududlarni cluster qiladi va siyrak nuqtalarni noise deb belgilaydi.
Asosiy parameterlar:
- epsilon radius;
- minimal qo‘shni soni.
Arbitrary shape clusterlarni topadi va cluster sonini oldindan talab qilmaydi.
Turli densitylarda parameter tanlash qiyin.
HDBSCAN
DBSCANning hierarchical va varying densityga mos variantlaridan biri.
Cluster stability asosida guruhlarni tanlaydi.
Noise pointlarni ajratadi.
Implementation va parameter ma’nosi libraryga bog‘liq.
Gaussian Mixture Model
Data bir nechta Gaussian distribution aralashmasi deb qaraladi.
Har sample clusterlarga probability bilan tegishli.
Bu soft clustering.
Expectation-Maximization parameterlarni o‘rganadi.
Gaussian assumption har data uchun mos emas.
Hard va soft clustering
Hard clustering har sample’ni bitta clusterga beradi.
Soft clustering bir nechta cluster uchun probability yoki membership beradi.
Customer bir nechta segment xususiyatiga ega bo‘lsa soft natija foydali.
Scaling
K-means va Euclidean distance feature diapazoniga sezgir.
Daromad million, yosh o‘nlik diapazonda bo‘lsa daromad distance’ni egallaydi.
Standardization yoki robust scaling ishlatiladi.
Categorical feature uchun boshqa distance kerak.
Dimensionality reduction
Yuqori dimensionda distance’lar ma’nosini yo‘qotishi mumkin.
PCA clusteringdan oldin noise va dimensionni kamaytiradi.
t-SNE yoki UMAP visualization uchun ishlatiladi, lekin ularning 2D cluster ko‘rinishi original space’dagi aniq cluster isboti emas.
Silhouette score
Sample o‘z clusteriga qanchalik yaqin va boshqa clusterlardan qanchalik uzoq ekanini baholaydi.
Qiymat yuqori bo‘lsa separation yaxshiroq.
Non-convex yoki density clusterlarda score noto‘g‘ri xulosa berishi mumkin.
Cluster interpretation
Algorithm cluster 0, cluster 1 beradi.
Inson feature distribution va samplelarni ko‘rib ma’noli nom beradi:
- yangi user;
- faol customer;
- yuqori risk;
- texnik mavzu.
Cluster raqami tartib yoki sifat darajasi emas.
Stability
Dataset yoki seed ozgina o‘zgarganda clusterlar butunlay almashsa natija ishonchsiz.
Bootstrap va repeated run bilan stability tekshiriladi.
Cluster label IDlari runlar orasida permutation bo‘lishi mumkin.
Anomaly
Kichik cluster yoki hech bir clusterga yaqin bo‘lmagan sample anomaly candidate bo‘lishi mumkin.
Har kichik cluster zararli emas.
Rare, ammo qonuniy segment ham bo‘lishi mumkin.
Domain review talab qilinadi.
Cluster profiling
Har cluster uchun feature distributioni, representative sample va hajm hisoblanadi. Faqat centroidga qarab nom berish yetarli emas. Category, vaqt va business outcome bo‘yicha farqlar ko‘riladi. Profiling clusterning amaliy ma’nosini tushunishga yordam beradi.
Cluster drift
Yangi data kelganda cluster markazi, hajmi yoki tarkibi o‘zgarishi mumkin. Model davriy qayta fit qilinsa cluster IDlari oldingi run bilan mos kelmasligi ehtimoli bor. Matching centroid yoki overlap orqali bajariladi.
Constraint clustering
Ba’zi domainlarda ayrim samplelar bir clusterda bo‘lishi yoki bo‘lmasligi haqida qoidalar mavjud. Must-link va cannot-link constraintlar algorithmga qo‘shiladi. Bu oz miqdordagi ekspert bilimini unlabeled jarayonga kiritadi.
Sampling
Millionlab sample uchun clustering avval representative sample’da o‘rganilib, qolgan data centroid yoki trained modelga biriktirilishi mumkin. Sampling rare segmentlarni butunlay yo‘qotmasligi kerak.
Bog‘liq tushunchalar
Clustering, Unsupervised learning, K-means, Centroid, Hierarchical clustering, DBSCAN, Gaussian Mixture Model, Distance metric, Silhouette score, Customer segmentation