Yazan : Şadi Evren ŞEKER

Kümeleme (clustering) kullanılan algoritmalardan birisidir. Amaç özellik çıkarımı (Feature extraction) yapılmış bir grup verinin birden fazla küme özelliğine göre hangi kümeye ait olduğunun bulunmasıdır.

Kullanılan matematiksel yöntem her sınıf için merkez belirlenen noktaya uzaklığa (aynı zamanda bu hata miktarıdır) göre yeni kümelerin yerleştirilmesidir.

Algoritma temel olarak 4 aşamadan oluşur:

  1. Küme merkezlerinin belirlenmesi
  2. Merkez dışındaki örneklerin mesafelerine göre sınıflandırılması
  3. Yapılan sınıflandırmaya göre yeni merkezlerin belirlenmesi (veya eski merkezlerin yeni merkeze kaydırılması)
  4. Kararlı hale (stable state) gelinene kadar 2. ve 3. adımların tekrarlanması

Çalışmayı daha net anlamak için aşağıdaki örnek uzaya dağılmış olan örnekleri inceleyelim:

Yukarıda verilen ve uzayda koordinatları kodlanmış olan örnekler için iki adet hedef küme tanımlıyoruz. (iki sınıf ve bu sınıfların karakterlerini tanımlıyoruz)

Bu sınıf tanımlarına uzaklıklarına göre (örneğin öklit mesafesi (euclid distance) ) bütün örneklerimizi sınıflandırıyoruz. (hangi renge daha yakınsa)

Oluşan sınıfları ayıran bir hat aşağıdaki şekilde çizilebilir:

Daha önceden sınıflandırdığımız örneklerin merkezlerini buluyoruz. (yuvarlak ile gösterilen ve sınıf karakteristiğini temsil eden ilk örneklerin yerini değiştirmek olarak da düşünülebilir)

Merkezleri hareket ettirdikten sonra örneklerden bazıları yeni merkezlere daha yakın olabilir. Buna göre örnek kümelerimizin sınıflandırılmasını güncelliyoruz.

Yukarıda son hali gösterilen k-means algoritmasında yeni merkezler ve her örneğin hangi sınıfa girdiği bulunmuştur.

Yorumlar

  1. Şadi Evren ŞEKER

    Hayır her zaman değildir. Çok basitçe kümeleme, birbirine belli özelliklere göre yakın olan örneklerin gruplanması, öbeklenmesi, kümelenmesi, yakınlıklarının bulunması olarak düşünülebilir. Sınıflandırma ise daha çok, eldeki örneklerin önceden verilmiş sınıflara uygun olunup olunmamasının kontrolüdür.

    Örneğin öğrencilerin sınav puanlarına göre hangi bölümde okuduğunu bulmak bir sınıflandırma problemidir. Elimizde bölümler vardır ve öğrencilerin bu bölümlerden hangisine ait olduğunu sorgularız.

    Buna karşılık yine sınav puanlarına göre öğrencilerin öbeklenmesi, uzayda birbirine yakın gruplar oluşturması bir kümeleme problemidir.

    Bazı durumlarda iki yaklaşım da birbiri yerine kullanılabilir. Örneğin yukarıdaki sınıflandırma problemindeki bölüm sayısı, uzaydaki öbek sayısı ile eşitse sınıflandırma ve kümeleme algoritmaları birbirinin yerine kullanılabilir.

    http://bilgisayarkavramlari.sadievrenseker.com/2013/03/31/siniflandirma-classification/

  2. bahaeddin

    K-Means Algoritması Sınıflandırmadan (classification ) daha ziyade Kümelemede (clustering) kullanılan bir algoritma değil mi?

    1. Şadi Evren ŞEKER

      Evet kategorik olarak kümeleme problemi için geliştirilmiş bir çözüm algoritmasıdır. Sınıflandırma için olan haline knn ismi verilir. Yazıda yanlış algıya sebep olabilecek ifadeleri düzelttim. İlginiz için teşekkürler.

  3. Nermin

    Merhaba hocam,
    size bir soru sormak istiyorum. Elimde koordinatların bulunduğu bir veri kümesi var ve bunları merkez bir nokta üzerinde kümelemek istiyorum. Koordinatlar olduğu için SPSS te bunu bulamadım.
    acaba hangi programı kullanmamı önerirsiniz?
    Teşekkürler

  4. ERDİM ATAKAN

    merhaba size bir konuda yardım isteyeceğim. K dist yapısı kümelemede nasıl bir mnatık içermektedir. Bu konuda yardımcı olur musunuz?

  5. merve

    Şadi hocam sevgiler saygılar öncelikle..
    Şu sıralar bir konu ile ilgili çıldırma boyutuna gelmiş bulunmaktayım. Hardisk üzerindeki bad sektörlerin yogun olduğu bölgeyi hesaplayıp ayıran ve diski buna göre partition yapan bir algoritma geliştirmem lazım. Bana bu konuda fikir verebilir misiniz acaba?

    Algoritmanın temelleri neler olmalı?
    Sizin engin bilginize ihtiyacım var.
    Şimdiden teşekkür ediyorum.
    Saygılarımla

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir