• Sonuç bulunamadı

Kernel K-ortalama Kümeleme Algoritması (kernel K-means clustering)

2. GENEL BİLGİLER

2.1. Veri Madenciliği ve Kümeleme Analiz

2.1.4. Bölümleyici Kümeleme Algoritmaları (Partitional Clustering Algorithms)

2.1.4.4. Kernel K-ortalama Kümeleme Algoritması (kernel K-means clustering)

Kernel K-ortalama kümeleme yöntemi, klasik K-ortalama yönteminin lineer olmayan bir uzantısıdır. İlk olarak 2002 yılında Girolami tarafından geliştirilmiş iteratif bir yöntemdir. Bu yöntemde ilk olarak giriş uzayındaki noktaları çok boyutlu uzaya, 𝛟(.) lineer olmayan transformasyonu kullanarak haritalandırır ve böylelikle küme hatası minimize edilir. Uzayda veri noktası ile küme merkezi arasındaki uzaklık kernel fonksiyonu kullanılarak

81

hesaplanmaktadır. 𝛟(X). 𝛟(Y) noktası uzayda X ve Y noktası arasındaki resmi (image) üretmektedir. Bu nokta K(X.Y) fonksiyonu kullanılarak hesaplanabilir. K(X.Y) fonksiyonu

K:DXD→R olmak üzere bir kernel fonksiyonudur. Aşağıda bazı standart kernel fonksiyonları yer almaktadır55,91.

p derecesinde Polynomial kernel: K(X,Y)=(X*Y+c)p, p: pozitif tamsayı ve c∈R

Gaussian (RBF) kernel: K(X.Y)=exp(−||𝑋−𝑌||2

2𝜎2 ), 𝛔∈R Gaussian kernel parametresidir.

Sigmoidal kernel: K(X.Y)=tanh(α(X*Y)+b), a ve b ∈R

Lineer kernel: K(X.Y)=X*Y

İteratif kümeleme sürecinde 𝑋𝑖 ve 𝑋𝑗 veri noktaları için K(𝑋𝑖, 𝑋𝑗)’yi hesaplamaya gereksinim

vardır. Böylece kernel matris olarak adlandırılan H=[𝐾𝑖𝑗]n*n matrisi elde edilir91.

n veri seti genişliğidir. Kernel matrisi önceden hesaplanarak kaydedilir. Böylece zaman ve yer

karmaşıklığı O(n2)’dir. Bu kernel K-ortalama yönteminin dezavantajıdır. Çünkü bu

karmaşıklık yöntemin çok büyük veri setleri için kullanımının uygun sonuçlar üretemeyeceğini göstermektedir. Ayrıca yöntemin başka bir dezavantajı da başlangıçta küme sayısını belirleme ihtiyaç duyulması ve çekirdek noktaların ve kernel fonksiyonlarının kümeleme sonucunu etkilemesidir55,91.

Yöntemin işleyiş adımlarına bakabilmek için D={𝑋1, 𝑋2,…., 𝑋𝑛} olacak şekilde bir veri seti düşünülsün. K gerekli olan küme sayısı ve M(0) başlangıç çekirdek noktası ve П(0) başlangıç bölme sonucunu göstermektedir. M(0)={𝑚

1 (0)

, 𝑚2(0),…., 𝑚𝑘(0)} giriş uzayındaki noktalardır. Kernel K-ortalama yöntemi D, K ve П(0)’ı giriş parametresi olarak alır, veri seti için son bölme sonuçlarını ПD çıkış parametresi olarak verir55,91.

Kriter fonksiyonunu minimize edebilmek için kullanılan fonksiyon aşağıdaki gibi verilmektedir.

J=∑ ∑𝑋𝑖∈𝐶𝑗ǁ𝜙(𝑋𝑖 − 𝜇𝑗ǁ2 𝑘

𝑗=1

Yukarıdaki formülde yer alan 𝜇𝑗 değeri 𝐶𝑗 kümesinin ortalamasını göstermektedir ve aşağıdaki formül yardımıyla hesaplanmaktadır55,91.

82

𝜇𝑗=∑ 𝜙(𝑋𝑖) |𝐶𝑗| 𝑋𝑖∈𝐶𝑗

Taşınılmış uzayda 𝛟(𝑋𝑖) ve 𝛟(𝑋𝑗) veri noktaları arasındaki uzaklık,

ǁϕ(𝑋𝑖) − ϕ(𝑋𝑗)ǁ2=𝜙2(𝑋𝑖) − 2𝝓(𝑋𝑖)𝝓(𝑋𝑗) + 𝜙2(𝑋𝑗) =K(𝑋𝑖, 𝑋𝑖)−2K(𝑋𝑖, 𝑋𝑗)+K(𝑋𝑗, 𝑋𝑗)’dir.

𝛟(.) transformasyonu bilinmeden ǁϕ(𝑋𝑖) − 𝜇𝑗ǁ2 aşağıdaki formül yardımıyla hesaplanmaktadır55,91. ǁϕ(𝑋𝑖) − 𝜇𝑗ǁ2=ǁϕ(𝑋𝑖) − ∑ 𝜙(𝑋𝑖) |𝐶𝑗| 𝑋𝑖∈𝐶𝑗 ǁ 2 = ϕ(𝑋𝑖)* ϕ(𝑋𝑖) −F(𝑋𝑖, 𝐶𝑗)+G(𝐶𝑗),

Yukarıdaki formülde yer alan F(𝑋𝑖, 𝐶𝑗) ve G(𝐶𝑗) eşitlikleri ise aşağıdaki gibi

hesaplanmaktadır. F(𝑋𝑖, 𝐶𝑗)=− 2 |𝐶𝑗|∑𝑋𝑙∈𝐶𝑗 𝜙(𝑋𝑙) ∗ 𝜙(𝑋𝑖) G(𝐶𝑗)= 1 |𝐶𝑗|2 ∑𝑋𝑙∈𝐶𝑗𝑋𝑠∈𝐶𝑗𝜙(𝑋𝑙) ∗ 𝜙(𝑋𝑠)

Bu iteratif yöntemin işleyişi aşağıdaki algoritmada özetlenmiştir55,91. 1. Her bir 𝐶𝑗 kümesi için |𝐶𝑗| ve G(𝐶𝑗) bulunur.

2. Her bir 𝑋𝑖 ve 𝐶𝑗 kümesi için F(𝑋𝑖, 𝐶𝑗) hesaplanır.

3. ǁϕ(𝑋𝑖) − 𝜇𝑗ǁ2 eşitliği hesaplanır ve 𝑋𝑖 noktası en yakın merkeze atanır. 4. j=1’den K’ ya kadar 𝜇𝑗=∑

𝜙(𝑋𝑖) |𝐶𝑗|

𝑋𝑖∈𝐶𝑗 formülü kullanılarak 𝜇𝑗 güncellenir.

5. Kümelerin sonuçları birbirine yakınsayana kadar 1. adımdan 4. adıma kadar işlemler tekrar edilir.

Son bölme sonuçları ПD={𝐶1, 𝐶2,…., 𝐶𝑘} olarak elde edilir.

Kernel K-ortalama yönteminin dezavantajlarını gidermek amacıyla Zhang ve Rudnicky 2002 yılında büyük veri setleri için uzay (space) karmaşıklıklarını ele alan bloğa dayalı (block

83

based) bir yaklaşım önermişlerdir. Bu yaklaşımda kernel matrisi olan H, önceden hesaplanır ve bu bilgi iteratif sürece başlamadan önce ikincil hafızada depo edilir. Daha sonra kernel matrisi H, bloklara ayrılır. Her bir bloğun genişliğine I/O kapasitesine ve ulaşılabilir ana hafıza genişliğine bakılarak karar verilir. Böylece her bir iterasyondaki I/O işlem sayısı blok sayısına eşit olur, ancak birçok sayıda blok var ise bu işlemin maliyeti yüksek olacaktır. Fakat bu geliştirilen yöntem (bloğa dayalı) uzay karmaşıklığı sorunlarını gidermektedir. Bloğa dayalı bu kümeleme yönteminde de tüm kernel matrisini hesaplamaya gereksinim vardır. Eğer zaman karmaşıklığı azaltılacak ise büyük veri setleri için bu yöntemi kullanmak uygun bir seçim olmayacaktır91,92.

Radha Chitta ve arkadaşları 2011 yılında yaklaşık (approximate) kernel K-ortalama olarak adlandırılan randomize yaklaşımlı bir algoritma önermektedirler. Bu yaklaşım ile klasik kernel K-ortalama yönteminin zaman ve uzay karmaşıklığı azaltılmak amaçlanmıştır. Yaklaşık kernel K-ortalama yönteminde rasgele olacak şekilde q genişliğinde örnekler seçilir ve bu örnekler B harfi ile sembolize edilmektedir. D’deki veri noktaları ve q örnek noktaları arasındaki kernel benzerlik matrisi 𝐻𝐵 hesaplanır. 𝐻𝐵 matrisinin genişliği n*q boyutundadır. Bu matrisin boyutun n*n boyutlu tam kernel matrisinden daha azdır (q<n). İteratif süreç başlangıç bölünmesi ile başlar ve her bir iterasyonda 𝐻𝐵 matrisi her bir veri noktası için en yakın küme merkezini tahmin etmek için kullanılır. Süreç, her bir kümenin en yakın küme elemanları değişmeyene kadar devam eder. Yaklaşık K-ortalama yönteminde zaman karmaşıklığı O(q2kr+qnkr+q2n)’dir. Buradaki r, yakınsamaya kadar ki iterasyon sayısını

göstermektedir. Yöntemin uzay karmaşıklığı ise O(nq)’dur 91,93.

Hitendra Sarma ve arkadaşları 2011 yılında kernel K-ortalama yönteminin zaman ve uzay karmaşıklığı problemini ele almak için prototipe dayalı hibrit bir yaklaşım (prototype-based hybrid) önermişlerdir. Bu yöntem iki aşamada gerçekleşmektedir. İlk aşamada, veri seti grouplet sayısına bölünür. Groupletler kernel uzayında bulunur ancak her bir grouplet protip tarafından temsil edilir ki buna lider denir. Liderlerin kümesi eşik parametresine bağlıdır ve

O(n) zamanında türetilmiştir. İkinci aşamada, liderlerin bir kümesinin bölümünü türetmek için

kernel K-ortalama yöntemi uygulanır. Sonuç olarak her bir lider kendi grubu ile yer değiştirir. Bu hibrit yöntemin zaman karmaşıklığı O(n+p2)’dir. Burada p liderlerin boyutunu

göstermektedir. Uzay karmaşıklığı ise yine O(n+p2)’dir. Uygun bir eşik değeri seçildiğinde

bu yöntem klasik kernel K-ortalama yönteminden daha hızlı sonuçlar verdiği görülmüş ancak kümeleme sonuçlarında küçük sapmalar oluşmuştur91,94.

84

İki aşamalı kernel K-ortalama yöntemi (two-step kernel K-means) Radha Chitta ve arkadaşları tarafından 2011 yılında klasik kernel K-ortalama yönteminin hesaplama karmaşıklığını azaltmak için önerilmiştir. İlk aşamada, ver setinden s veri noktası rasgele seçilir ve optimum küme merkezi sadece bulunan örnek veri noktalarına bağlıdır. Daha sonra ikinci aşamada, tüm örneklenmemiş veri noktaları uzayda en yakın merkeze sahip olan kümeye atanır. Yapay küme merkezleri bağlı olunan uzaydaki optimum küme merkezlerini temsil etmek için kullanılır. Bu yaklaşım hem zaman hem de hafıza (memory) karmaşıklığını azaltır. Ancak klasik kernel K-ortalama yöntemi yerine bu yöntem kullanıldığında kümeleme sonuçlarında daha fazla sapma olduğu belirlenmiştir. Bunun sebebi de yapay küme merkezlerinin gerçek küme merkezlerini tam olarak temsil etmemesinden kaynaklanmaktadır. Bu sapmanın azaltılmasının bir yolu yapay küme merkezlerinin yerine gerçek, kesin küme merkezlerinin kullanılmasıdır. Bu yöntemi uygulayan algoritma ise tek geçişli kernel K-ortalama yöntemidir91,93.

2.1.4.5. Tek Geçişli Kernel K-ortalama Kümeleme Algoritması (single pass kernel K- means clustering)

D veri setinde S={𝑋1, 𝑋2, … , 𝑋𝑠} rasgele seçilen örnekler olsun. S rasgele örneğinde s, model (Pattern) sayısını göstermektedir. M(0) başlangıç çekirdek noktaları, П(0) veri setinin başlangıç bölümü ve Пs={𝐶1𝑆, 𝐶2𝑆,…, 𝐶𝐾𝑆}’dir91.

Tek geçişli kernel K-ortalama yönteminde kriter fonksiyonu aşağıdaki gibi tanımlanmaktadır. Bu fonksiyon minimize edilmek istenmektedir.

J(X)=∑ ǁ𝜙(𝑋𝑖) − 𝜙(𝑋)ǁ2

𝑋𝑖∈𝐶𝑗𝑆 .

Yukarıdaki formülde yer alan X, d boyutlu vektör X=(𝑥1, 𝑥2, … , 𝑥𝑑)𝑇’dür. Gradyan azaltma yöntemi amaç fonksiyonunu minimum yapan X=X* noktasını bulmak için kullanılır. Amaç fonksiyonu konveks bir fonksiyondur ve yerel bir minimum olmaması gibi sorun yoktur.

X*, 𝐶𝑗𝑆 kümesinin kesin merkezi olarak alınır ve Mj olarak gösterilir91.

Önerilen bu yöntemde veri seti yalnızca bir kere taranır. Genel çalışma zamanı, başlangıçtaki rasgele örneklere (S) bağlıdır. Yöntemin zaman karmaşıklığı O(s2+t+nk)’dır. Burada s, S

rasgele örnekleminin genişliğini, t gradyan yöntemi kullanılarak K kesin küme merkezlerini bulmak içim gerekli olan zamanı, n başlangıçtaki veri seti genişliğini ve K ise gerekli olan

85

küme sayısını göstermektedir. Uzay karmaşıklığı ise O(s2) ‘dir. s<n olmasından dolayı

önerilen yöntem klasik kernel K-ortalama yönteminden daha hızlıdır ve tek geçişli kernel K- ortalama yöntemi çok büyük veri setleri için kolayca uygulanabilir ve yorumlanabilir. İki aşamalı kernel K-ortalama yöntemi bu yöntemden daha hızlı çalışmasına rağmen, küme kesinliğinde daha fazla bir kayıp meydana gelmektedir91.