Veri Madenciliği Kümeleme Analizi: Temel Tanımlar ve Algoritmalar Bölüm 8 için Ders Notları Introduction to Data Mining Tan, Steinbach, Kumar Çeviren Yrd. Doç. Dr. Mete Çelik 10/30/2007 Introduction to Data Mining 1
Kümeleme Analizi Nedir? Bir grup içerindeki nesneler birbirlerine benzer ve diğer gruplardaki nesnelerden farklı olacak şekilde nesnelerin gruplarının bulunmasıdır. Küme-arası mesafeler maksimize edilecek Küme-içi mesafeler minimize edilecek
Kümeleme Analizinin Uygulamaları Anlama Tarama için ilişkili belgelerin gruplandırılması Benzer işlevi olak genlerin ve proteinlerin gruplandırılması Benzer fiyat dalgalanmalarına sahip hisselerin gruplandırılması Özetleme Büyük veri kümelerinin boyutlarıın azaltılması Avustralyadaki yağışın kümelenmesi
Kümeleme Analizi Ne Değildir? Basit Parçalama (Segmentasyon) Öğrencileri soyisimlerine göre alfabetik olarak farklı gruplara gölme Bir sorgu sonucu Gruplama dışarıdan tanımlamalara göre yapılır. Kümeleme veriye bağlı olarak nesnelerin gruplara ayrılmasıdır. Danışmanlı Sınıflandırma Sınıf etiket bilgisinin olması durumu Birliktelik Analizi Yerel – küresel bağlantılar
Küme Kavramı Belirsiz Olabilir Kaç küme var? Altı Küme İki Küme Dört Küme
Kümeleme Tipleri Kümeleme kümelerin bir kümesidir Hiyerarşik ve bölümlemeli kümeler arasındaki önemli fark Bölümlemeli Kümeleme Herbir veri nesnesinin sadece bir altkümede yer almasını sağlayacak şekilde üstüste gelmeyen altkümeler halinde verinin bölünmesidir. Hiyerarşik Kümeleme Bir hiyerarşık ağaç olarak organize edilen iç içe olan küme yapılarıdır
Bölümlemeli Kümeleme Bölümlemeli Kümeleme Orjinal Noktalar
Hiyerarşik Kümeleme Geleneksel Hiyerarşik Kümeleme Geleneksel Dendrogram Geleneksel olmayan Hüherarşik Kümeleme Geleneksel olmayan Dendrogram
Küme Takımları Arasındaki Diğer Farklar Mühnasır - münhasır olmama (Exclusive versus non- exclusive) Münhasır olmayan kümelemede, noktalar birden fazla kümeye ait olabilir. Birden fazla kümeyi veya “sınır” noktasını gösterebilir Bulanık – Bulanık olmayan (Fuzzy versus non-fuzzy) Bulanık kümelemede, bir nokta, 0 ve 1 arasındaki ağırlık değerleri ile her sınıfa ait olur. Ağırlıklar toplamı 1 olmalıdır Olasılıklı kümelemede de benzer karakteristik vardır. Kısmı – tam (Partial versus complete) Bazı durumlarda, sadece verinin bir kısmını kümelemek isteriz Heterojen – Homojen (Heterogeneous versus homogeneous) Çok faklı boyutlarda, şekillerde ve yoğunluklarda olan kümeler
Küme Tipleri İyi-ayrılmış kümeler Merkez-tabanlı kümeler Sürekli kümeler Yoğunluk-tabanlı kümeler Özellik veya Kavramsal Amaç fonksiyonu ile tanımlanmış
Küme Tipleri: İyi-Ayrılmış İyi-Ayrılmış Kümeler: Bir küme noktalar kümesidir (grubudur), öyleki, bir kümedeki herhangi bir nokta kümede bulunan diğer noktalara, kümede olmayan noktalardan, daha yakındır (daha benzerdir). 3 iyi-ayrılmış küme
Küme Tipleri: Merkez-Tabanlı Bir küme nesneler kümesidir (grubudur), öyleki, bir kümedeki bir nesne bulunduğu kümenin merkezine, diğer kümelerin merkezlerinden, daha yakındır (daha benzerdir). Bir kümenin merkezi genellikle ağırlık merkezi (centroid), kümedeki tüm noktalarının ortalaması, ya da bir kümenin en "temsilcisi" noktasıdır olan bir medoid olabilir. 4 merkez-tabanlı küme
Küme Tipleri: Süreklilik-Tabanlı Sürekli Kümeler (En Yakın Komşu veya Geşişli) Bir küme noktalar kümesidir (grubudur), öyleki, bir kümedeki bir nokta bulunduğu kümedeki bir veya birden fazla noktaya bulunduğu küme içinde olmayan diğer noktalardan daha yakındır (daha benzerdir). 8 contiguous clusters
Küme Tipleri: Yoğunluk-tabanlı Bir küme, yüksek yoğunluğa sahip diğer bölgelerden düşük yoğunluklu bölgeler ile ayrılan, noktaların oluşturduğu yoğun bir bölgesidir Kümeler düzensiz veya sarılmış olduğu durumlarda veya gürüldü ve anomalinin olduğu durumlarda kullanılır. 6 yoğunluk-tabanlı küme
Küme Tipleri: Kavramsal Kümeler Paylaşımlı Özellik veya Kavramsal Kümeler Aynı özellikleri paylaşan kümeleri veya belirli bir kavramı temsil eden kümeleri bul.. 2 üstüste kesişen küme
Küme Tipleri: Amaç Fonksiyonu Kümeler bir Amaç Fonksiyonu ile Tanımlanır Bir amaç fonksiyonu minimize veya maksimize eden kümeleri bul. Noktaları kümelere ayıran bütün muhtamal yolları ortaya koy ve verilen amaç fonksiyonunu kullanarak herbir potansiyel küme grubunun “iyiliğini” değerlendir (NP Zor – NP Hard) Küresel ve yerel amaçlar olabilir. Hiyerarşık kümeleme algoritmaları tipik olarak yerel amaçlara sahiptir. Bölümlemeli algoritmalar tipik olarak küresel amaçlara sahiptir. Küresel amaç fonksiyonu yaklaşımının bir varyasyonu, veriyi parametreli bir modele uygulanmasıdır. Model için parametreler veriden belirlenebilir. Karışık (mixture) modeller, verinin birkaç istatistiksel modelin karışımından oluştuğunu varsayarlar
Kümeleme Probleminin Faklı Bir Probleme Benzetilmesi Kümeleme problemini farklı bir alana uyarla ve bu alandaki ilgili problemi çöz Yakınlık matrisi, düğümlerin noktalar olduğu ve noktalar arasındaki uzaklıkların da ağırlıklandırılmış kenarlar olduğu bir ağırlıklandırılmış graf tanımlar. Kümeleme, grafı, herbiri bir küme olan bağlantılı bileşenlerine bölme işlemine eşittir. Kümeler arasındaki kenar ağırlıklarının minimize edilmesi ve kümeler içindeki kenar ağırlıklarının maksimize edilmesi amaçlanmaktadır.
Giriş Verisinin Karakteristiği Önemlidir Yakınlığın veya yoğunluk ölçütünün tipi Kümeleme merkez Seyreklik Benzerlik tipini belirler Verime (etkililiğe ) katkılar Özellik tipi Veri tipi Diğer karakteristikler, otokorelasyon gibi Boyutluluk Gürültü ve anomali Dağılım tipi
Kümeleme Algoritmaları K-ortalamalar ve Türevleri Hiyerarşik Kümeleme Yoğunluk-tabanlı Kümeleme
K-ortalamalar Kümeleme Bölümlemeli kümeleme yaklaşımı Küme sayısı K, verilmelidir Herbir küme bir ağırlık merkezine bağlıdır (centroid – merkez nokta) Herbir nokta en yakın ağırlık merkezine atanır Temel algoritma oldukça basittir.
K-ortalamalar Kümeleme Örneği
K-ortalamalar Kümeleme Örneği
K-Ortalamalar Kümeleme - Detaylar İlk ağırlık merkezleri genellikle random olarak atanır. Her çalışmada üretilen kümeler değişir. Ağırlık merkezi genellikle kümedeki noktaların ortalamalarından oluşur. “Yakınlık” öklit mesafesi, kosinüs benzerliği, korelasyon gibi ölçütlerle ölçülür. K-ortalamalar yukarıda bahsedilen yaygın benzerlik ölçütleri için yakınsayacaktır. Yakınsama genellikle ilk birkaç iterasyondan sonra biter. Durdurma kriteri genellikle “ Göreceli olarak kümeler değişmeyene kadar” şeklindedir. Karmaşıklık O( n * K * I * d ) n = nokta sayısı, K = küme sayısı, I = iterasyon sayısı, d = özellik sayısı
K-Ortalamalar Kümelerin Değerlendirilmesi En yaygın ölçüt Hataların Karelerinin Toplamıdır (Sum of Squared Error (SSE)) Heribr nokta için, hata en yakın kümeye olan uzaklıktır. SSE’yi hesaplamak için bu hataların kareleri toplanır. x, Ci kümesi içerisindeki veri noktası ve mi , Ci kümesi için temsili noktadır. mi küme merkezine ortalamasına) denk gelir Verilen iki küme için, en küçük hatası olan tercih edilir. SSE’yi azaltmanın en kolay yollarından birisi, K’yı, küme sayısını, arttırmaktır.
İki Farklı K-ortalamalar Kümeleme Orjinal Noktalar İdeal Kümeleme Vasat Kümeleme
K-ortalamaların Eksiklikleri K-ortalamaların kümelerin aşağıdaki farklılıklarından dolayı bazı problemleri vardır. Boyut Yoğunluk Küresel (yuvarlak)- olmayan şekiller Veri anormal veri içerirse K-ortalamalar algoritmasında problem oluşur.
K-ortalamaların Eksiklikleri: Farklı Boyutlar Orjinal Noktalar K-ortalamalar (3 Küme)
K-ortalamaların Eksiklikleri: Farklı Yoğunluk Orjinal Noktalar K-ortalamalar (3 Küme)
K-ortalamaların Eksiklikleri: Küresel-olmayan Şekiller Orjinal Noktalar K-ortalamalar (2 Küme)
K-ortalamaların Eksikliklerinin Giderimi Orjinal Noktalar K-ortalamalar Kümeleri Çok fazla sayıda küme kullanmak çözümlerden birisidir. Kümelerin parçaları bulunur, fakat bir araya konulmaları gerekir.
K-ortalamaların Eksikliklerinin Giderimi Orjinal Noktalar K-ortalamalar Kümeleri
K-ortalamaların Eksikliklerinin Giderimi Orjinal Noktalar K-ortalamalar Kümeleri
İlk Ağırlık Merkezlerinin Seçiminin Önemi
İlk Ağırlık Merkezlerinin Seçiminin Önemi
İlk Ağırlık Merkezlerinin Seçiminin Önemi…
İlk Ağırlık Merkezlerinin Seçiminin Önemi…
İlk Ağırlık Merkezlerinin)Seçimi ile İlgili Sorunlar Eğer ‘K’ adet gerçek küme varsa her kümeden birinin ağırlık merkezini seçme şansı azdır. K büyük olduğu zaman şans göreceli olarak küçüktür. Eğer kümeler aynı boyutta, n, ise Örnek olarak, Eğer K = 10, ise, ihtimal= 10!/1010 = 0.00036 Bazen, ilk ağırlık merkezleri kendi kendilerini doğru yönde ayarlayacaktır ve bazen ise ayarlayamayacaktır. Beş çift kümeyi örnek olarak alırsak
10 Küme Örneği Her çift küme için iki tane ilk ağırlık merkezinin atanması ile başlandığında
10 Küme Örneği Her çift küme için iki tane ilk ağırlık merkezinin atanması ile başlandığında
10 Küme Örneği Bazı çift kümeler için üç tane ve diğerleri için bir tane ilk ağırlık merkezinin atanması ile başlandığında
10 Küme Örneği Bazı çift kümeler için üç tane ve diğerleri için bir tane ilk ağırlık merkezinin atanması ile başlandığında
İlk Ağırlık Merkezi Problemi için Çözümler Birden fazla çalıştırma (koşma) Yardımcı olur, fakat muhtemelen pek istenmez Örnekle ve ilk ağırlık merkezlerini belirlemek için hiyerarşik kümeleme kullan K‘dan fazla ilk ağırlık merkezi seç ve bunların arasından ilk ağırlık merkezlerini seç En yaygın olarak ayrılmışlar seçilebilir. Son-işleme İkiye Bölmeli (Bisecting) K-ortalamalar İlklendirme konularında çok duyarlı değil
Boş Kümeler K-ortalamalar ile boş kümeler oluşturabilir. Boş Küme
Boş Kümeleri Gidermek Temel K-ortalamalar algoritması boş kümeler oluşturabilir. Stratejilerden bazıları SSE’ye en çok katkı veren noktayı seç En yüksek SSE’si olan kümeden bir nokta seç Eğer birkaç tane boş küme varsa yukarıdakiler birkaç kez tekrarlanabilir.
Merkezleri Artırımlı olarak Güncelleme Temel K-ortalamalar algoritmasında, bütün noktalar merkezlere atandıkdan sonra merkezler güncellenir. Diğer bir yol ise herbir atamadan sonra merkezi güncellemektir (artırımlı yaklaşım) Herbir atama sıfır veya iki merkezi günceller Daha maliyetli Sıraya bağımlıdır Boş küme asla oluşturmaz Etkiyi değiştirmek için ‘ağırlıklar’ kullanabilir
Ön-işleme ve Son-işleme Veriyi normalize et Gürültü/Aykırılıkları temizle So-işleme Aykırılıkları/anormallikleri gösterebilecek küçük kümeleri ele Gevşek kümeleri ayır. Gevşek kümelere örnek olarak yüksek SSE’si olan kümeler verilebilir. Yakın kümeleri ve düşük SSE’si olan kümeleri birleştir Bu adımlar kümeleme işlemi sırasında kullanılabilir. ISODATA
İkiye Bölmeli (Bisecting) K-ortalamalar İkiye Bölmeli K-ortalamalar algoritması Bir bölümlemeli veya hiyerarşik kümeleme üretebilecek bir K-ortalamalar algoritması türevidir.
İkiye Bölmeli (Bisecting) K-ortalamalar Örneği
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.
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 Yakınlık matrisini hesapla Herbir noktayı bir küme olarak alcluster Repeat En yakın iki kümeyi birleştir Yakınlık matrisini güncelle Until 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 . . . . Yakınlık Matrisi
Ara Durum Birkaç birleştirme adımından sonra, bazı kümeler oluşur C2 C1 C3 C5 C4 C3 C4 Yakınlık Matrisi C1 C5 C2
Ara Durum İki en yakın kümeyi (C2 ve C5) birleştirmek ve yakınlık matrisini güncellemek istiyoruz. C2 C1 C3 C5 C4 C3 C4 Yakınlık Matrisi C1 C5 C2
Birleştirmeden Sonra Soru “Yakınlık matrisinin nasıl güncelleneceğidir?” C2 U C5 C1 C3 C4 C1 ? ? ? ? ? C2 U C5 C3 C3 ? C4 ? C4 Yakınlık Matrisi C1 C2 U C5
Küme-arası Mesafe Nasıl Tanımlanır p1 p3 p5 p4 p2 . . . . Benzerlik? MİN MAX Grup Ortalama Ağırlık Merkezleri Arasındaki Mesafe Bir amaç fonksiyonu oluşturulan yöntemler Ward’s Metodu karesi alınmış hatayı kullanır Yakınlık Matrisi
Küme-arası Benzerlik Nasıl Tanımlanır p1 p3 p5 p4 p2 . . . . MİN MAX Grup Ortalama Ağırlık Merkezleri Arasındaki Mesafe Bir amaç fonksiyonu oluşturulan yöntemler Ward’s Metodu karesi alınmış hatayı kullanır Yakınlık Matrisi
Küme-arası Benzerlik Nasıl Tanımlanır p1 p3 p5 p4 p2 . . . . MİN MAX Grup Ortalama Ağırlık Merkezleri Arasındaki Mesafe Bir amaç fonksiyonu oluşturulan yöntemler Ward’s Metodu karesi alınmış hatayı kullanır Yakınlık Matrisi
Küme-arası Benzerlik Nasıl Tanımlanır p1 p3 p5 p4 p2 . . . . MİN MAX Group Average Ağırlık Merkezleri Arasındaki Mesafe Bir amaç fonksiyonu oluşturulan yöntemler Ward’s Metodu karesi alınmış hatayı kullanır Yakınlık Matrisi
Küme-arası Benzerlik Nasıl Tanımlanır p1 p3 p5 p4 p2 . . . . MIN MAX Grup Ortalama Ağırlık Merkezleri Arasındaki Mesafe Bir amaç fonksiyonu oluşturulan yöntemler Ward’s Metodu karesi alınmış hatayı kullanır Yakınlık Matrisi
MİN veya Tek Bağlantı İki kümenin yakınlığı farklı kümelerdeki iki en yakın noktaya bağlıdır. Bir çift nokta ile belirlenir, örnek olarak, yakınlık grafındaki bir bağlantı ile belirlenir Örnek: Yakınlık Matrisi
Hiyerarşik Kümeleme: MİN 5 1 2 3 4 5 6 4 3 2 1 İçiçe kümeler Dendrogram
MİN’in Güçlü Yanları Orjinal Noktalar Altı Küme Dairesel-olmayan kümeleri tespit edebilir
MİN’in Eksiklikleri İki Küme Orjinal Noktalar Gürültü ve aykırılara çok duyarlı Üç Küme
İki kümenin yakınlığı farklı kümelerdeki iki en uzak noktaya bağlıdır. MAX veya Tam Bağlantı İki kümenin yakınlığı farklı kümelerdeki iki en uzak noktaya bağlıdır. İki kümedeki bütün nokta çiftleri tarafından belirlenir Distance Matrix:
Hiyerarşik Kümeleme: MAX 5 4 1 2 3 4 5 6 2 3 1 İçiçe Kümeler Dendrogram
MAX’ın Güçlü Yanları Orjinal Noktalar İki Küme Gürültü ve aykırılara karşı daha az duyarlı
MAX’ın Eksiklikleri Orjinal Noktalar İki Küme Büyük kümeleri bölmeye meyleder Dairesel kümeler bulur
Grup Ortalama İki kümenin yakınlığı iki kümedeki noktaların ikili yakınlıklarının ortalamasıdır Ölçeklenebilirlik için ortalama bağlılık kullanması gerekir çünkü toplam yakınlık büyük kümelere meyleder. large clusters Yakınlık Matrisi
Hiyerarşik Kümeleme: Grup Ortalaması 5 4 1 2 3 4 5 6 2 3 1 İçiçe Kümeler Dendrogram
Hiyerarşik Kümeleme: Grup Ortalama Tek ve Tam Bağlantının arasında bir algoritmadır. İyi yaklaşımın eksikliklerini karşılar. Güçlü Yönleri Gürültü ve aykırılara karşı daha az duyarlı Eksiklikler Dairesel kümeler bulmaya çalışır
Küme Benzerliği : Ward Metodur İki kümenin benzerliği iki küme birleştirildiği zaman karesi alınmış hatadaki artışa bağlıdır Noktalar arasındaki mesave mesafelerin karesi olsaydı grup ortalamaya benzerdir. Gürültü ve aykırılara karşı daha az duyarlı Dairesel kümeler bulmaya çalışır K-ortalamaların hiyerarşik analogue K-ortalamaları ilklendirmek için kullanılabilir
Hiyerarşik Kümeleme: Karşılaştırma 5 5 1 2 3 4 5 6 4 4 1 2 3 4 5 6 3 2 2 1 MİN MAX 3 1 5 5 1 2 3 4 5 6 1 2 3 4 5 6 4 4 2 2 Ward Metodu 3 3 1 Grup Ortalama 1
Hiyerarşik Kümeleme: Zaman ve Alan İhtiyacı O(N2) alan gerekir çünkü yakınlık matrisi kullanılmaktadır. N nokta sayısını gösterir. O(N3) zaman gerekir çoğu durumda N tane adım vardır ve herbir adımda boyutu, N2, olan yakınlık matrisi güncellenmeli ve sorgulanmalıdır. Karmaşıklık zeki yaklaşımlarla O(N2 log(N) ) zamana indirgenebilir.
Hiyerarşık Kümeleme: Problemler ve Eksiklikler İki kümenin birleştirilmesine karar verildikten sonra geri al yapılamaz. Herhangi bir amaç fonksiyonu doğrudan minimize edilmez. Aşağıdakilerin biri veya birkaçı için farklı durumlarda problem oluşabilir: Gürültü ve aykırılıklara duyarlıdır. Farklı boyutlardaki kümelerde ve konveks şekilli kümelerda zorluk yaşar. Büyük kümeleri bölebilir
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 (Core), Sınır (Border) ve Gürültü (Noise) Noktalar
DBSCAN Algoritması Gürültü noktaları elimine et. Kalan noktalar üzerinde kümelemeyi çalıştır.
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 Kümeler Orjinal Noktalar Gürültüye dirençlü Farklı şekil ve boyutlardaki kümeleri bulabilir.
DBSCAN iyi çalışmadığı zaman (MinPts=4, Eps=9.75). Orjinal Noktalar Değişen yoğunluklar Yüksek-boyutlu veri (MinPts=4, Eps=9.92)
DBSCAN: EPS ve MinPts’yi Belirleme Fikir odur ki bür küme içerisindeki noktaların kıncı en yakın komşusu kabaca aynı mesafededir. Gürültü noktaları daha uzak yerlerde kıncı en yakın komşu noktaya sahiptir. Bu nedenle, herbir nokta için kıncı en yakın komşularını sıralanmış bir şekilde çizdir.