K-Ortalama Algoritması (K-Means Algorithm)
Yazan : Şadi Evren ŞEKER
Sınıflandırmada (clustering) kullanılan algoritmalardan birisidir. Amaç özellik çıkarımı (Feature extraction) yapılmış bir grup verinin birden fazla sınıfa göre doğru sınıflandırılması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 sınıfların yerleştirilmesidir.
Algoritma temel olarak 4 aşamadan oluşur:
- Sınıf merkezlerinin belirlenmesi
- Merkez dışındaki örneklerin mesafelerine göre sınıflandırılması
- Yapılan sınıflandırmaya göre yeni merkezlerin belirlenmesi (veya eski merkezlerin yeni merkeze kaydırılması)
- 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.
« YACC | Self Organizing Maps (Özdüzenleyici Haritalar) »
Yorumlar
Bilgisayar Kavramları üzerinde şu anda okumakta olduğunuz 'K-Ortalama Algoritması (K-Means Algorithm)' isimli yazı 15 Dec 2008 tarihinde, saat: 03:07 'de Şadi Evren ŞEKER tarafından gönderilmiş, toplam 1432 defa okunmuştur.
Benzer yazıları Bilgisayar Kavramları, Bilgisayar Matematiği, Yapay Sinir Ağları (Artificial Neural Networks) kategorilerinden okuyabilirsiniz. Yazar ile irtibat kurmak için email gönderebilirsiniz. Yazıya yorum yapabilir ya da yapılan yorumları RSS 2.0 ile takibe alabilirsiniz.
Yazarın Kitabı
Bu yazının yazarı Şadi Evren ŞEKER'in son çıkan kitabı "Programlama ve Veri Yapılarına giriş (C, C++ ve JAVA ile)" hakkında bilgi almak için Buraya tıklayabilirsiniz.
Eklenen Son Yazılar
- Visual Basic ile Gösterici (Pointer) Kullanımı
- Hasse Çizgeleri (Hasse Diagrams)
- Zeki Vekiller (Akıllı Ajanlar, Intelligent Agents, Zeki Etmenler )
- Integral Kriptoanalizi ( Toplam Tecessüsü , Integral Cryptoanalysis)
- Diferansiyel Kriptoanalizi ( Fark Tecessüsü , Differential Cryptoanalysis)
- Sierpinski Üçgeni (Sierpinski Triangle)
- C ile programlamaya giriş final sınavı çözümleri
- Çok Seviyeli Sıralar (Multi Level Queues)
- Çift Özetleme (Double Hashing)
- İkinci Dereceden Sondalama (Quadratic Probing)
Yapılan Son Yorumlar
- Şadi Evren ŞEKER: Sıralama işleminiz poligonu...
- Şadi Evren ŞEKER: bahsettiğiniz sıralama algoritması...
- Abdurrahman ulusoy: merhaba hocam. gelişigüzel...
- Oguz Okutan: Merhaba hocam.. Fonksiyonlarda degere göre...
- Şadi Evren ŞEKER: Null, NULL, nil veya null olarak...
- Fatih Kabakci: hocam merhabalar,...
- kara: Çok güzel anlatılmış gerçekten teşekkürler...
- Şadi Evren ŞEKER: Bahsettiğiniz şekil dönüşümü...
- Caner: Kullanıcıdan açı girdisi almıyorsanız...
- Furkan Yediyildiz: Algoritmanin mantigi cok güzel...
- havva: çok sağolun çok güzel açıklamalar var tşk...
- Şadi Evren ŞEKER: typedef komutu, bir yapıdan yeni bir...
- fatih kabakci: hocam ben structures ile ilgili bir sorum...
- Şadi Evren ŞEKER: evet, yukarıda açıklanan, herhangi...
- Abdurrahman ulusoy: fi açısından teta kadar döndürme...
- Şadi Evren ŞEKER: Hayır yok, bir noktanın, herhangi...
- Abdurrahman ulusoy: Bu durumda yukarıdaki formüllerin...
- Abdurrahman ulusoy: Merhaba hocam Üstteki mesajımda...
- mustafa ekmekcioğlu: merhaba şadi bey ben hacettepe...
- Şadi Evren ŞEKER: Talebiniz üzerine...
Yakın Yazılar
K-Ortalama Algoritması (K-Means Algorithm)
Self Organizing Maps (Özdüzenleyici Haritalar)
Arama Algoritmaları (Search Algorithms)
Çokgenlerin Doldurulması (Filling Polygons)
Genişletilmiş Ufak Şifreleme Algoritması (Extended Tiny Encryption Algorithm (XTEA))
Brent Algoritması (Brent's Algorithm)
Edmonds Karp Algoritması (Edmonds Karp Algorithm)
Gauss Gürültüsü (Gaussian Noise)
Öklit Algoritması (Euclid Algorithm)
Cohen-Sutherland Doğru Kesme Algoritması (Line Clipping Algorithm)
Doğrudan Çizim Algoritması (Direct Draw Algorithm , DDA)
Aritmetik Ortalama (Average , Mean)
Bresenham Doğru Çizim Algoritması (Bresenham's Algorithm)
Mesaj Özetleri (Message Digests)
Kaba Kuvvet Metin Arama Algoritması (Bruteforce Text Search Algorithm)
Bağlantılar