ve Algoritmalar ve Algoritmalar Kümeleme Analizi: Temel Kavramlar
ve Algoritmalarve Algoritmalar
Kümeleme Analizi: Temel Kavramlar
Kümeleme Analizi Nedir?
� Her biri bir dizi öznitelik ile, veri noktalarının bir kümesi venoktalar arasındaki benzerliği ölçen bir benzerlik ölçümüverilmiş olsun, kümelemenin amacı; aşağıdaki özelliklerisağlayan kümeleri bulmaktır.
Kümeler arası
uzaklıklar
maksimize edilir
Küme içi
uzaklıklar maksimize ediliruzaklıklar
minimize edilir
Kümeleme Analizi Ne Değildir?
� Denetimli sınıflandırma– Sınıf etiketi bilgisine sahip
� Basit bölümleme – Soyadına göre farklı kayıt gruplarının alfabetik olarak
bölünmesibölünmesi
� Bir sorgunun sonuçları– Bir şarta göre gruplamaların elde edilmesi
Kümeleme tipleri
� Bölümlemeli Kümeleme� Bölümlemeli Kümeleme– Veri nesnelerinin, birbirini kapsamayan alt kümelere
ayrılmasıdır. Her bir veri nesnesi altkümelerden sadece birindeyer alır.
� Hiyerarşik Kümeleme– Bir hiyerarşik ağaç gibi iç içe kümelerin dizisidir.
Bölümlemeli Kümeleme
Orijinal noktalar Bir bölümlemeli kümeleme
Hiyerarşik Kümeleme
p4
p1 p3
p2
p4p1 p2 p3
Geleneksel Hiyerarşik Kümeleme Geleneksel Dendrogram
p4
p1p3
p2
p4p1 p2 p3
Geleneksel Hiyerarşik Kümeleme
Geleneksel olmayan Hiyerarşik Kümeleme
Geleneksel olmayan Dendrogram
Geleneksel Dendrogram
Kümelerin Tipleri
� İyi dağıtılmış kümeler (Well-separated clusters)
� Merkez tabanlı kümeler(Center-based clusters)
� Bitişik Kümeler (Contiguous clusters)
� Yoğunluk tabanlı kümeler (Density-based clusters)
� İyi dağıtılmış kümeler: – Her bir nokta; kendi kümesindeki diğer noktalara daha yakın,
başka kümeden noktalara ise daha uzaktır. Böylesi kümeler iyidağıtılmış kümelerdir.
3 iyi dağıtılmış küme
İyi dağıtılmış kümeler
� Merkez tabanlı– Küme içindeki bir nokta, kendi küme merkezine diğer küme
merkezlerine oranla daha yakın (veya daha benzer) ise buküme merkez tabanlı bir kümedir.
– Bir kümenin merkezi sıklıkla, ya kümedeki bütün noktaların birortalaması olan centroid ile yada kümeyi sunmak için en uygunnokta olan medoid ile sunulur.nokta olan medoid ile sunulur.
4 center-based clusters
Merkez tabanlı
� Yoğunluk tabanlı– Daha düşük yoğunluklu bölgelerden ayrılan daha yüksek
yoğunluklu noktaların bir kümesidir.
– Kümeler; düzensiz, birbirine karışmış veya gürültülü olduğunda kullanılır.
6 density-based clusters
Yoğunluk tabanlı
Kümeleme Algoritmaları
� K-means ve onun çeşitleri
� Hiyerarşik kümeleme
� Yoğunluk tabanlı kümeleme � Yoğunluk tabanlı kümeleme
K-means Kümeleme
� Bölümlemeli kümeleme yaklaşımıdır
� Her bir küme bir centroid ile uyumludur (merkez nokta)
� Her bir nokta kendisine en yakın centroid ile uyumlu kümeye atanır
� Kümelerin sayısı, K, belirlenmelidir
� Temel algoritma çok basittir � Temel algoritma çok basittir
K-means Kümeleme – Detaylar
� Başlangıç merkez noktaları sıklıkla rastgele seçilir.– Kümeler bir çalıştırmadan diğerine değişebilir.
� Centroid tipik olarak kümedeki noktaların bir ortalamasıdır.
� ‘Yakınlık’ Euclidean uzaklığı, cosine benzerliği, correlation, v.s. ile hesaplanabilir.
� K-means yukarıdaki benzerlik ölçümlerini bir noktada bir araya getirecektir.araya getirecektir.
� Hesaplamalar centroid sabit kalana kadar devam eder.
Alttaki veri setini k=2 şeklinde iki ayrı guruba ayırmaya çalıştığımızı varsayalım.
ÖRNEK
Adım 1- İki farklı guruba ayırmak istediğimiz için. C1 ve C2 adında rastgele iki sınıf merkezi belirleriz.Adım 2- Her bir kaydın(noktanın) bu noktalara uzunluğunu hesaplayarak C1’nolu merkeze yakın ise “1”, C2 nolu merkeze yakın ise altta görüldüğü gibi “2” şeklinde etiketleriz.
Adım 3- Daha sonra • mavi noktaların ağırlık merkezi bulunur ve bu nokta yeni merkez olur. • Kırmızı noktaların ağırlık merkezi bulunur ve bu nokta yeni merkez kabul
edilir.bu işlemler yeniden yapılır ve üyeler bu yeni merkezlere göre yeniden kümelere ayrılır. Bu merkez güncelleme işlemi alttaki gibi resmedilebilir.
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 1
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 2
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 3
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 4
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 5
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 6
K-means Örnek
K-means algoritmasının avantajları-dezavantajları
Gerçeklemesi kolay
Karmaşıklığı diğer kümeleme yöntemlerine göre az
K-Means algoritması bazı durumlarda iyi sonuç vermeyebilir Veri grupları farklı boyutlarda ise
Veri gruplarının yoğunlukları farklı ise
Veri gruplarının şekli küresel değilse
Veri içinde aykırılıklar varsa
Original Points K-means (3 Clusters)
Sınırlılıklar - 1
Original Points K-means (2 Clusters)
Sınırlılıklar - 2
Hiyerarşik Kümeleme
Hiyerarşik ağaç şeklinde organize edilmiş iç içe
kümeler üretir.
Dendrogram olarak görselleştirilebilir.
– Birleşme veya ayrılma sıralarını kaydeden ağaç
benzeri diyagrama denir.
1 3 2 5 4 60
0.05
0.1
0.15
0.2
1
2
3
4
5
6
1
23 4
5
Hiyerarşik Kümelemenin Güçlü Yanları
Küme sayısının belirlenmesine gerek yoktur
– Uygun bir seviyeden dendrogramı keserek istenilen sayıda küme bulunabilir
Anlamlı taksonomilere karşılık gelebilir
– Biyolojik bilimlerdekiler örnek verilebilir (örnek, hayvanlar alemi, filogeni rekonstrüksiyon, …)
Hiyerarşik Kümeleme
Hiyerarşik kümelemenin iki ana çeşidi vardır
– Aglomeratif (Agglomerative):
Herbir nokta küme kabul edilerek başlanır
Herbir adımda, en sonda tek küme (veya k küme) kalacak şekilde en
yakın küme çiflerini birleştir
– Bölücü (Divisive):
Tek küme ile başla
Herbir adımda, herbir kümede tek nokta kalana kadar (veya k küme
kalana kadar) kümeyi böl.
Geleneksel hiyerarşik algoritmalar benzerlik veya uzaklık
matrisi kullanırlar.
– Her adımda bir küme birleştir veya böl
Aglomeratif Kümeleme Algoritması
En pobüler hiyerarşik kümeleme tekniğidir.
Temel algoritma basittir
1. Yakınlık matrisini hesapla
2. Herbir noktayı bir küme olarak alcluster
3. Tekrar
4. En yakın iki kümeyi birleştir
5. Yakınlık matrisini güncelle
6. tek küme kalana kadar
İki kümenin yakınlığını hesaplamak önemli işlemdir.
– Kümeler arasındaki mesafeyi tanımlamada kullanılan farklı yaklaşımlar algoritmaları birbirlerinden ayırır
Başlangıç Durumu
Herbir noktanın kendi kümesi ile ve yakınlık
matrisi ile başla
p1
p3
p5
p4
p2
p1 p2 p3 p4 p5 . . .
.
.
. Yakınlık Matrisi
...p1 p2 p3 p4 p9 p10 p11 p12
Ara Durum
Birkaç birleştirme adımından sonra, bazı kümeler oluşur
C1
C4
C2 C5
C3
C2C1
C1
C3
C5
C4
C2
C3 C4 C5
Yakınlık Matrisi
...p1 p2 p3 p4 p9 p10 p11 p12
Ara Durum
İki en yakın kümeyi (C2 ve C5) birleştirmek ve yakınlık
matrisini güncellemek istiyoruz.
C1
C4
C2 C5
C3
C2C1
C1
C3
C5
C4
C2
C3 C4 C5
Yakınlık Matrisi
...p1 p2 p3 p4 p9 p10 p11 p12
Birleştirmeden Sonra
Soru “Yakınlık matrisinin nasıl güncelleneceğidir?”
C1
C4
C2 U C5
C3
? ? ? ?
?
?
?
C2
U
C5C1
C1
C3
C4
C2 U C5
C3 C4
Yakınlık Matrisi
...p1 p2 p3 p4 p9 p10 p11 p12
Küme-arası Mesafe Nasıl Tanımlanır
p1
p3
p5
p4
p2
p1 p2 p3 p4 p5 . . .
.
.
.
Benzerlik?
MİN
MAX
Grup Ortalama
Ağırlık Merkezleri Arasındaki Mesafe
Yakınlık Matrisi
Küme-arası Benzerlik Nasıl Tanımlanır
p1
p3
p5
p4
p2
p1 p2 p3 p4 p5 . . .
.
.
.Yakınlık Matrisi
MİN
MAX
Grup Ortalama
Ağırlık Merkezleri Arasındaki Mesafe
Küme-arası Benzerlik Nasıl Tanımlanır
p1
p3
p5
p4
p2
p1 p2 p3 p4 p5 . . .
.
.
.Yakınlık Matrisi
MİN
MAX
Grup Ortalama
Ağırlık Merkezleri Arasındaki Mesafe
Küme-arası Benzerlik Nasıl Tanımlanır
p1
p3
p5
p4
p2
p1 p2 p3 p4 p5 . . .
.
.
.Yakınlık Matrisi
MİN
MAX
Grup Ortalama
Ağırlık Merkezleri Arasındaki Mesafe
Küme-arası Benzerlik Nasıl Tanımlanır
p1
p3
p5
p4
p2
p1 p2 p3 p4 p5 . . .
.
.
.Yakınlık Matrisi
MIN
MAX
Grup Ortalama
Ağırlık Merkezleri Arasındaki Mesafe
Hiyerarşik Kümeleme: MİN
İçiçe kümeler Dendrogram
1
2
3
4
5
6
1
2
3
4
5
3 6 2 5 4 10
0.05
0.1
0.15
0.2
Hiyerarşik Kümeleme: MAX
İçiçe Kümeler Dendrogram
3 6 4 1 2 50
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
1
2
3
4
5
6
1
2 5
3
4
Hiyerarşik Kümeleme: Grup Ortalaması
İçiçe Kümeler Dendrogram
3 6 4 1 2 50
0.05
0.1
0.15
0.2
0.25
1
2
3
4
5
6
1
2
5
3
4
Hiyerarşık Kümeleme: Problemler ve Eksiklikler
İki kümenin birleştirilmesine karar verildikten
sonra geri al yapılamaz.
Aşağıdakilerin biri veya birkaçı için farklı
durumlarda problem oluşabilir:
– Gürültü ve aykırılıklara duyarlıdır.
– Büyük kümeleri bölebilir
DBSCAN
DBSCAN yoğunluk-tabanlı algoritmadır.– Yoğunluk = Verilen bir yarıçap (Eps) içerisinde olan nokta
sayısıdır
– Eğer bir noktanın Eps yarıçapında verilen minimum nokta sayısından (MinPts) daha fazla nokta varsa o noktaya merkez nokta denir.
Bu noktalar kümenin iç bölgelerinde bulunan noktalardır.
– Eğer bir noktanın Eps yarıçapında verilen minimum nokta sayısından (MinPts) daha az nokta varsa ve o nokta bir merkez noktanın komşuluğunda ise noktaya sınır nokta denir.
– Ne merkez nokta ne de sınır nokta olan noktaya gürültü nokta denir.
DBSCAN
merkez
sınır
gürültü
Eps = 1cm
MinPts = 5
DBSCAN: Merkez, Sınır ve Gürültü Noktaları
Orjinal Noktalar Nokta tipleri: merkez,
sınır ve gürültü
Eps = 10, MinPts = 4
DBSCAN iyi çalıştığı zaman
Orjinal Noktalar Kümeler
•Gürültüye dirençlü
• Farklı şekil ve boyutlardaki kümeleri bulabilir.