May262009

İş Zekasında Kullanılan Veri Madenciliği Modelleri - 6 (Kümeleme)

Bilgehan Gürünlü tarafindan 02:00 tarihinde Baslangic | Veri Madenciligi kategorisine eklenmistir.

Kümeleme Analizine Dayalı Modeller
Kümelemeye dayalı modellerin, Sınıflandırmaya dayalı modellerden farkı eldeki mevcut verilerin daha önceden belirli olan bir sınıflandırmaya göre değil de belirli olmayan bir sınıfa göre gruplandırmasıdır. Yani kümeleme analizine dayalı bir modelde daha önceden belirlememiş kıstaslara göre verilere gruplara ayrılıp kümelenmektedir. Kümeleme yabanncı kaynaklarda clustering yada segmentation olarak geçmektedir. Verilerin belirli gruplara dahil edilmesi için bazı hesaplamalara tabii tutulması gerekmektedir. Bunlar benzerlik ve mesafe ölçümleridir.
Benzerlik ve Mesafenin Ölçülmesi
Mesafenin ölçülmesi için euclid teoreminden yararlanılmaktadır. Euclid teoremine göre mesafe aşağıdaki formul yardımıyla hesaplanmaktadır.

 
Bir diğer hesaplanması gereken ise Benzerliktir. Benzerlik kavramı mesafenin tersi bir anlam içerir ve iki veri arasındaki yakınlığı gösterir. Benzerlik hesabı genel olarak aşağıdaki formul yardımıyla hesaplanabilmektedir.

ben(Xm,Xj)= 1 / (1 + d(x,y) )

Bu genel formul dışında çok kullanılan dört farklı beznerlik ölçütü mevcutdur. Bunlar sırasıyla DICE,  JACCARD, COSINE, OVERLAP dır. Bu 4 benzerlik hesaplanmasında kullanılan formullere toplu olarak aşağıdadır.


1)Hiyerarşik Modeller
Hiyerarşik modeller bir ağaç yapısı oluşturarak kümeleme işlemini gerçekleştirmektedir. Oluşturulan kümeleme ağaıcının bütün ağaç yapılarında olduğu gibi bir root düğümü ve çocuk düğümleri mevcutdur. Aşağıdan yukarıya, toplaşım kümeleme algoritmaları ve yukardan aşağıya kümeleme algoritmaları olarak iki grupta toplanabilir.

Toplaşım kümeleme algoritmaları, başlangıçta veritabanındaki herbir noktayı bir küme olarak görür. Bu kümeleri birleştire birleştire birbirinden ayrı kümeler oluşturur. Bölünür kümeleme algoritmaları ise başlangıçta veritabanındaki tüm noktaları tek bir kümeymiş gibi görür. Veritabanını taradıkça, birbirine benzemeyen noktaları kümeden dışarı atarak önceden verilmiş,k kadar kümeye dağıtır. (Silahtaroğlu,2008)

Hiyerarşik Modelleri kullanan başlıca algoritmalar ise şunlardır.

1.1) SLINK Algoritması
SLINK algoritması, Tek Bağlantı tekniği ile anılmaktadır. SLINK algoritması yukarda anlatılmış olan toplaşımlı metoda göre çalışmaktadır. SLINK algoritması temelde  2 küme grubunun en dışında olan ve birbirine yakın olan noktalar arasındaki mesafeye göre benzerlik teoremleri geliştirerek kümeleme işlemini gerçekleştirmektedir. Buradaki mesafenin ve benzerliği ölçümünde bilinen formullerden yararlanılmaktadır. Ayrıca burada en kısa yol algoritması (gezgin satıcı algoritması olarak da geçmektedir.) kullanıldığını da belirtmek gerekir.

1.2) CURE (Clustering Using Representatives ) Algoritması
Bu algoritma dağınık bir şekil gösteren küme yapılarında ki küme içine alınıp alınamayacağına karar verilemeyen nesnelerin değerlendirilmesine faydalı bir yaklaşım önermektedir. Bu algoritma temelde bütün nesneleri birer küme oluşturabileceği yaklaşımına göre çalışmakatadır. Özetle, CURE algoritması temsiciler kullanarak kümeleme işlemini gerçekleştirmektedir

1.3) CHAMELEON Algoritması
CHAMELEON algoritması iki küme arasındaki benzerliği dinamik bir şekilde belirler ve çoğu algoritmanın(SLINK,CURE vb.) hatalı kümelemeler yaptığı durumlarda düzgün bir şekilde kümeleme işlemini gerçekleştirmektedir. Temelde bu algoritma kümelerin kendi iç benzerlikleri ile alt kümeleri arasında ki benzerliklere göre işlemlerini gerçekleştirmektedir. Bazı durumlarda kümenin dışına yakın nesneler komşu bir kümenin merkezine mesafe olarak yakın olabilir, bu gibi durumlarda k-means algoritması gibi algoritmalar hatalı işlemler yapmasına rağmen CHAMELEON için böyle birşey sözkonusu değildir. Çünkü bu algoritmada dinamik olarak küme içerisinde ki bağlantılar ve benzerliklerde dikkate alınmaktadır.
Aşağıdaki şekilde algoritmanın çalışma mantığını görebilirsiniz.


1.4) BIRCH  Algoritması
BIRCH (Balanced Iterative Reducing and Clustering using Hierarcihes ) Algoritması çok büyük veritabanlarının kümelenmesi amacıyla oluşturulmuş, gürüntülü verilerin kontrolunü de sağlayan ilk hiyerarşik kümeleme algoritmasıdır. BIRCH algoritması kümeleme işlemini bir ağaç yapısı oluşturarak gerçekleştirir ve sadece sayısal veriler üzerinde çalışır. Burada belirtilen ağaç yapısına CF ağacı denmektedir.

CF = (n,LS,SS).

Olarak 3 tane bilgiyi barındırır. Burada ki “n” kümedeki nokta sayısı, “LS” kümedeki noktaların değerlerinin toplamı, “SS” kümedeki noktaların değerlerinin karelerinin toplamıdır.
CF ağacı yukarıdan aşağıya doğru artış gösterir.(yani toplaşım algoritması değil ,hiyerarşik ama bölünür bir kümeleme algoritmasıdır) CF ağacının dallarının artışı, daha önceden belirlenmi T (eşik değeri) ne kadar devam eder. T değerinin aşıldığı yerlerde bir aşağı düğüme geçilir. Aşağıdaki şekilde CF ağacının yapısı görülebilir.



 
2)Bölümlemeli Modeller
Bölümlemeli yöntemlerde n adet nokta önceden verilen k küme sayısına (k<n) göre kümelere ayrılır. Hiyerarşik yöntemlerin tersine kullanıcı tarafından verilen bazı kriterlere uygun kümeler yaratılırken, yaratılacak küme sayısı önceden belirlidir. Kullanıcı algoritmaya kümeler arasındaki minimum/maksimum mesafeyi ve kümelerin iç benzerlik kriterlerini de vermek zorundadır. Bölümlemeli algoritmalar genel olarak hiyerarşik algoritmalrdan daha hızlı çalışırlar; çünkü hiyerarşik algoritmalardaki gibi benzerlik/mesafe matrisi kullanmak zorunda değillerdir. Bundan dolayı da büyük veritabanlarının kümelenmesinde hiyerarşik yöntemlere göre daha uygundur. (Silahtaroğlu,2008)

2.1) K-Means (K-Ortalama) Algoritması
K-Means algoritması bölümlemeli algoritmaların en çok bililenidir(1967 yılında geliştirilmiştir). Bundan sonrasında geliştirilen bölümlemeli algoritmalar, k-means algoritmasına çok benzer çalışma mantığına sahiptir. K-Means algoritması sayısal veriler üzerinde çalışan bir algoritmadır. Bu algoritma aşırı uç veya gürültülü verilerden etkilenir. Algoritmada ilk olarak k adet küme oluşturulması hedefi ortaya konur ve sonrasında k tane ortalama değeri rastgele belirlenir. Verilen bu ortalam değerlerine göre de bütün sayılar hangi ortalamaya yakınsa o kümeye dahil edilir. Algoritma bütün sayıları kümeledikten sonra bir kez daha ortalam değerleri bulunur ve tekrar sayılar hangi ortalamaya yakınlarsa oraya dahil edilirler.Bu işlemler son 2 işlemde aynı kümeler çıkana kadar devam eder.

Örnek olarak veritabanımız D={4,7,14,23,27,32,36,38,42,5} olsun. Burada k=2 kabul edilsin.(yani bu veritabanı 2 kümeye ayrılacak olsun)
İlk olarak m1=4 ve m2=7 alınsın (ilk 2 değer )

k1={4,5}  
k2= {7,14,23,27,32,36,38,42}

Yeni ortalama değerleri m1=4.5 ve m2=27.3 alınsın

k1= {4,5,7,14,}
k2 ={23,27,32,36,38,42}

Yeni ortalama değerleri m1=7.5 ve m2=27 alınsın

k1= {4,5,7,14}
k2= {23,27,32,36,38,42}
bu ortalama değerlerine göre kümelerimizde bir değişiklik olmadığından dolayı algortima sonlanacaktır. Buradan da anlaşılacağı üzere, algoritmanın sonlanma kriteri aynı kümelerin bulunmasısır. K-Means algoritmasının kümeleme basamaklarının gösterilişine aşağıdaki şekilden ulaşılabilir.



2.2) PAM (Partioning Around Medoids ) Algoritması
PAM algoritması küçük veritabanlarında (deneysel olarak 100 nesneli ve 5 ayrı kümeli veritabanlarında iyi çalıştığı görülmüştür). Bu algoritma temsilci denen bir sayı etrafında k adet kümeyi oluşturmaya çalışır ve her defasından seçilen bu temsilcileri değiştirerek tekrardan işlemleri yineler. Temsilci olarak ifade edilen değerleri medoid olarak adlandırdığı için K-Medoid olarak da kaynaklarda geçebilir. Bu temsilciler belirlendikten sonra diğer noktalar bu temsilciler etrafında toplanır. Bu yineleme kümelerde değişiklik olmayana kadar devam eder.

2.3) CLARA (Clustering LARge Application) Algoriması
CLARA algoritması, PAM algoritmasından farklı olarak tüm veritabanından bir temsilci seçmek yerine rastegele bir örnek küme üzerinde PAM algoritmasını gerçekleştirir. Ayrıca CLARA algoritması çok büyük veritabanlarında çok hızlı kümeleme işlemlerini gerçekleştirebilir.

2.4) CLARANS (Clustering Large Application based on RANdomized Search) Algoritması
CLARANS algoritması dağınık bir şekil çizen (uzaysal) verilerin kümelenmesinde kullanılan bir algoritmadır. CLARANS algoritması verilen n adet nesnenin temsilciler aracılığıyla ve bir şebeke diyagramından yararlanırak k adet kümeye ayrılması şeklinde özetlenebilir. CLARANS algoritması da CLARA gibi tüm veritabanını taramaz; yani her düğümün tüm kümşularını taramaz. Ancak CLARA algoritmasından farklı olarak taramasını da belirli bir alt şebekeyle sınırlandırmaz. (Silahtaroğlu, 2008)



[KickIt] [Dzone] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Etiketler:

E-Posta | Permalink | Geri izlemeler | Yazi RSSRSS comment feed 0 Yorum

Yorumlar kapalı.