Web Madenciliği (Web Mining) Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Denetimsiz Öğrenmenin Temelleri Kümeleme Uzaklık Fonksiyonları Öklid Uzaklığı Manhattan Uzaklığı Minkowski Uzaklığı K-means Algoritması Kümelerin Gösterimi Hiyerarşik Kümeleme Veri Standartlaştırma Kümeleme Değerlendirmesi 2 1 Denetimsiz Öğrenmenin Temelleri Denetimli öğrenme giriş verileri ile çıkış niteliği arasındaki ilişkiyi ortaya çıkartır. Elde edilen model ile yeni verilerle ileriye dönük tahmin yapılması amaçlanmaktadır. Denetimsiz öğrenmede eğitim sürecinde hedef nitelik bulunmamaktadır. Denetimsiz öğrenmede veriler arasında bazı yapısal ilişkilerin veya örüntülerin ortaya çıkartılması amaçlanmaktadır. 3 Konular Denetimsiz Öğrenmenin Temelleri Kümeleme Uzaklık Fonksiyonları Öklid Uzaklığı Manhattan Uzaklığı Minkowski Uzaklığı K-means Algoritması Kümelerin Gösterimi Hiyerarşik Kümeleme Veri Standartlaştırma Kümeleme Değerlendirmesi 4 2 Kümeleme Kümeleme (Clustering), veri içerisinde benzer grupların (küme) bulunmasını sağlayan teknikleri kullanır. Kümelemede veri içerisindeki benzer örneklerin yakınlıklarına göre kümeler oluşturulur. Birbirine belirlenmiş bir seviyeden daha uzak olanlar ayrı kümelere atanır. Kümeleme, denetimsiz öğrenme (unsupervised learning) olarak adlandırılır. Apriori algoritması ile yapılan birliktelik kural madenciliği unsupervised learning olarak nitelendirilir. 5 Kümeleme Aşağıdaki veri kümesinde uzaklıklara göre üç küme görülmektedir. Bu şekilde yapılan kümelemeye partitional clustering denilir. Farklı özellikler gözönüne alınırsa küme sayısı daha fazla veya daha az olabilir. Sağlık, psikoloji, tarım, sosyoloji, biyoloji, arkeoloji, pazarlama, sigortacılık, kütüphane gibi çok farklı alanlarda kullanılmaktadır. 6 3 Kümeleme Örnek Her gün haber ajansları tarafından Dünya genelinde çok sayıda haber metni oluşturulur. Bir Web sitesi ile bu haberlerin alınması ve ait oldukları konulara göre sınıflandırılması gereklidir. Bu kadar çok sayıdaki haber metninin manuel olarak sınıflandırılması mümkün değildir. Sınıflandırılmadan tüm kullanıcılara sunulması da kullanıcıların ilgili olduklarını seçmeleri zor olacağından uygun değildir. Dokümanların konulara göre hiyerarşik kümelenmesi için clustering algoritmaları kullanılabilir. Bu şekilde sınıflandırmaya hiyerarşik kümeleme denilmektedir. Kümeleme algoritmalarının temelinde uzaklık ölçümü yer alır. 7 Konular Denetimsiz Öğrenmenin Temelleri Kümeleme Uzaklık Fonksiyonları Öklid Uzaklığı Manhattan Uzaklığı Minkowski Uzaklığı K-means Algoritması Kümelerin Gösterimi Hiyerarşik Kümeleme Veri Standartlaştırma Kümeleme Değerlendirmesi 8 4 Uzaklık Fonksiyonları Kümeleme problemlerinde problemin yapısına ve niteliklerin değerlerine bağlı olarak farklı uzaklık ölçümler kullanılabilir. Yaygın kullanılan uzaklık ölçümleri: Öklid uzaklığı Manhattan uzaklığı Minkowski uzaklığı 9 Konular Denetimsiz Öğrenmenin Temelleri Kümeleme Uzaklık Fonksiyonları Öklid Uzaklığı Manhattan Uzaklığı Minkowski Uzaklığı K-means Algoritması Kümelerin Gösterimi Hiyerarşik Kümeleme Veri Standartlaştırma Kümeleme Değerlendirmesi 10 5 Öklid Uzaklığı Uygulamada en çok kullanılan uzaklık ölçüsü Öklid uzaklık bağıntısı adıyla bilinmektedir. Bu uzaklık, şekilde üzerinde görüldüğü gibi, iki boyutlu uzayda Pisagor teoreminin bir uygulamasıdır. A ve B noktaları arasındaki Öklid uzaklığı şu şekilde olacaktır: Bu bağıntı genelleştirilecek olursak, i ve j noktaları için şu şekilde bir bağıntıya ulaşılır: 11 Konular Denetimsiz Öğrenmenin Temelleri Kümeleme Uzaklık Fonksiyonları Öklid Uzaklığı Manhattan Uzaklığı Minkowski Uzaklığı K-means Algoritması Kümelerin Gösterimi Hiyerarşik Kümeleme Veri Standartlaştırma Kümeleme Değerlendirmesi 12 6 Manhattan Uzaklığı Manhattan uzaklık ölçütünde, gözlemler arasındaki mutlak uzaklıkların toplamı alınarak hesaplanır. Aşağıdaki şekilde ifade edilir: 13 Konular Denetimsiz Öğrenmenin Temelleri Kümeleme Uzaklık Fonksiyonları Öklid Uzaklığı Manhattan Uzaklığı Minkowski Uzaklığı K-means Algoritması Kümelerin Gösterimi Hiyerarşik Kümeleme Veri Standartlaştırma Kümeleme Değerlendirmesi 14 7 Minkowski Uzaklığı p sayıda değişken göz önüne alınarak gözlem değerleri arasındaki uzaklığın hesaplanması söz konusu ise Minkowski uzaklık bağıntısı kullanılabilir. Söz konusu uzaklık şu şekilde hesaplanır: Burada, m=2 için Öklid uzaklık bağıntısı ve m=1 için Manhattan uzaklık bağıntısı elde edilir. 15 Örnek Aşağıdaki tabloda 5 gözlem değeri için 3 niteliğin değerleri görülmektedir. Gözlem değerleri arasındaki hesaplanan uzaklıklar, farklı ölçüm yöntemlerinde farklı olmaktadır. 16 8 Örnek Öklid uzaklıkları Manhattan uzaklıkları Minkowski uzaklıkları m=3 17 Konular Denetimsiz Öğrenmenin Temelleri Kümeleme Uzaklık Fonksiyonları Öklid Uzaklığı Manhattan Uzaklığı Minkowski Uzaklığı K-means Algoritması Kümelerin Gösterimi Hiyerarşik Kümeleme Veri Standartlaştırma Kümeleme Değerlendirmesi 18 9 K-means algoritması Kümeleme algoritmalarının kalitesinin ölçümü için iki kriter vardır: Inter-cluster uzaklık (maksimize edilir.) Intra-cluster uzaklık (minimize edilir.) Kümelerin arasında mesafe olabildiği kadar fazla olmalıdır. Kümelere ait elemanlar arasındaki uzaklık olabildiği kadar az olmalıdır. Uzaklık ölçüm yöntemi her problem için ayrı tanımlanabilir ve uygun olanın seçilmesi gereklidir. K-means algoritması partitional clustering yapmaktadır. 19 K-means algoritması K-means algoritması başlangıçta k değeri kadar küme oluşturur. Her küme bir merkez noktasına (centroid) sahiptir. Kümeye ait elemanların tümü bu orta noktaya diğer kümelerin orta noktalarından daha yakındır. Algoritma başlangıçta rastgele k adet veri noktasını küme merkezleri olarak seçer. Her merkez noktaya yakın noktalar bu kümeye ait olarak alınırlar. Tüm kümelerin merkez noktaları tekrar hesaplanır. Yeni merkez noktalara göre yeniden küme elemanları belirlenir. Kümelerarası eleman değişimi olmayıncaya veya merkez noktalarda değişim olmayıncaya kadar işlemler devam eder. 20 10 K-means algoritması Veri kümesi D = {x1, x2, …, xn} olsun. Her bir x noktası ise, xi = (xi1, xi2, …, xir) şeklinde tanımlanan bir reel sayılar vektörüdür. X Rr ve r nitelik sayısıdır. Algoritma kümelerdeki hataların karelerinin toplamını (sum of squared error) minimize etmeye çalışır. Burada, k küme sayısını, Cj j.kümeyi, x Cj kümesine ait nitelikler kümesini, mj j.kümenin orta noktasıdır. dist(x, mj) kümenin orta noktasına x noktalarının uzaklığıdır. 21 K-means algoritması Kümelerin orta noktası ise aşağıdaki gibi hesaplanır. Burada, bir kümeye ait olan tüm x noktalarının nitelik değerlerinin ortalamaları hesaplanır. | Cj | kümeye ait nokta sayısıdır. Kümeye ait noktaların merkez noktaya uzaklıkları ise aşağıdaki gibi hesaplanır. Burada, mj j. kümenin orta noktasıdır. 22 11 K-means algoritması Algoritma 23 K-means algoritması Örnek Başlangıç merkez noktaları Yeni merkez noktaları 24 12 K-means algoritması Örnek Yeni merkez noktaları Yeni merkez noktaları Yeni merkez noktaları 25 K-means algoritması K-means algoritmasının zayıf yönleri K-means algoritması başlangıç merkez noktalarına bağlı kümeler oluşturur. Başlangıç merkez noktaları Kötü kümeleme 26 13 K-means algoritması K-means algoritmasının zayıf yönleri K-means algoritması başlangıç merkez noktalarına bağlı kümeler oluşturur. Başlangıç merkez noktaları İyi kümeleme 27 K-means algoritması K-means algoritmasının zayıf yönleri Outlier dataya karşı hassastır. 28 14 K-means algoritması K-means algoritmasının zayıf yönleri Bazı durumlarda doğal olarak kümeler oluşmuş durumdadır. Uzaklığa dayalı kümeleme doğal yapıya uygun olmayabilir. Bu durumlarda komşulukları gözönüne alan algoritmalar kullanılır. 29 Konular Denetimsiz Öğrenmenin Temelleri Kümeleme Uzaklık Fonksiyonları Öklid Uzaklığı Manhattan Uzaklığı Minkowski Uzaklığı K-means Algoritması Kümelerin Gösterimi Hiyerarşik Kümeleme Veri Standartlaştırma Kümeleme Değerlendirmesi 30 15 Kümelerin Gösterimi Bazen kümelerin farklı şekillerde gösterimi gerekebilir. Bazı uygulamalarda sadece kümelerin merkez noktalarının ve yarıçaplarının gösterimi yeterlidir. Dairesel küme yapısına sahip durumlarda faydalıdır ve kümenin yarıçapı kapsadığı alanı gösterir. Dairesel olmayan kümeler için uygun gösterime sahip değildir. 31 Kümelerin Gösterimi Bazı uygulamalarda sınıflandırma modelleri ile kümeler gösterilebilir. Kümelerin gösterimi karar ağaçları ile yapılabilir. 32 16 Konular Denetimsiz Öğrenmenin Temelleri Kümeleme Uzaklık Fonksiyonları Öklid Uzaklığı Manhattan Uzaklığı Minkowski Uzaklığı K-means Algoritması Kümelerin Gösterimi Hiyerarşik Kümeleme Veri Standartlaştırma Kümeleme Değerlendirmesi 33 Hiyerarşik Kümeleme Hiyerarşik kümeleme diğer bir kümeleme yaklaşımıdır ve ağaç şeklinde gösterilir (dendrogram). Elemanlar birbirine benzerlik durumuna göre hiyerarşik kümelenir. En alt seviyede tek elemanlar bulunur. 34 17 Hiyerarşik Kümeleme Hiyerarşik kümeleme için 2 farklı yöntem kullanılmaktadır. Agglomerative (bottom up) clustering Öncelikle en yakın ikili elemanlar ile kümeler oluşturulur. Daha sonra yakın olan kümeler birleştirilerek yeni kümeler oluşturulur. Divisive (top down) clustering Öncelikle tüm elemanlar tek küme alınır. Küme iki parçaya ayrılarak iki küme elde edilir. Elde edilen kümelerde recursive olarak tek elemanlara ulaşıncaya kadar parçalanır. k-means algoritması veya diğer algoritmalar kullanılabilir. 35 Hiyerarşik Kümeleme Örnek 36 18 Konular Denetimsiz Öğrenmenin Temelleri Kümeleme Uzaklık Fonksiyonları Öklid Uzaklığı Manhattan Uzaklığı Minkowski Uzaklığı K-means Algoritması Kümelerin Gösterimi Hiyerarşik Kümeleme Veri Standartlaştırma Kümeleme Değerlendirmesi 37 Veri Standartlaştırma Verilerin standartlaştırılması bazı uygulamalarda gereklidir. Öklid uzaklığına dayalı bir kümelemede veri standartlaştırma zorunludur. Örnek İki nitelik değerinden birisinin aralığı 0-1, diğerinin ise 0-1000 arasında olsun. xi = (0.9, 720) ve xj= (0.1, 20) ise aralarındaki uzaklık, olur. İki nitelik değerleri de 0-1 aralığında ölçeklenirse, 20 -> 0,02 ve 720 -> 0,72 olur. Uzaklık değeri ise 1,063 olur. 38 19 Veri Standartlaştırma Interval-scaled attributes Aralıklı ölçeklendirme yönteminde en yaygın olarak aşağıdaki yöntemler kullanılır: range (min-max) z-score 39 Veri Standartlaştırma range (min-max) Her nitelik için değerler minimum ve maksimum değerler arasındaki değere göre, 0-1 arasında değer alır. Burada, min(f) f niteliğinin minimum değerini, max(f) f niteliğinin maksimum değerini ve xif ise i. gözlemin f. nitelik değerini ifade eder. 40 20 Veri Standartlaştırma z-score Her nitelik için ortalama değerden uzaklığa ve nitelik değerlerindeki standart sapmaya göre yeni değeri hesaplanır. Burada, f f niteliğinin standart sapması, µf f niteliğinin ortalama değeri ve z(xif ) ise i. gözlemin f. nitelik değerinin yeni değerini ifade eder. 41 Veri Standartlaştırma Ratio-scaled attributes Bazı uygulamalarda nitelik değeri üssel değişebilir. Burada, A ve B katsayılar ve t nitelik değeridir. Bu tür durumlarda logaritmik değer ile standartlaştırma yapılır. 42 21 Konular Denetimsiz Öğrenmenin Temelleri Kümeleme Uzaklık Fonksiyonları Öklid Uzaklığı Manhattan Uzaklığı Minkowski Uzaklığı K-means Algoritması Kümelerin Gösterimi Hiyerarşik Kümeleme Veri Standartlaştırma Kümeleme Değerlendirmesi 43 Kümeleme Değerlendirmesi Kümeleme sonuçlarının değerlendirilmesi için uygulama alanına göre farklı yöntemler kullanılmaktadır. Bunlardan yaygın kullanılanlar; User inspection Ground truth Entropy Purity Indirect evaluation 44 22 Kümeleme Değerlendirmesi User inspection Bir grup uzman tarafından yapılan skorlama ile değerlendirme yapılır. Değerlendirme kişisel olduğundan tüm skorların ortalaması alınır. Değerlendirme süreci uzun süre alabilir. Metin sınıflandırma gibi uygulamalarda faydalı olabilir. Ancak milyonlarca veriye sahip bir VTYS üzerinde kümeleme işleminin değerlendirilmesi oldukça uzun zaman alır ve doğru değerlendirme yapılamayabilir. 45 Kümeleme Değerlendirmesi Ground truth Verilerin küme sayısı belirli ise elde edilen sonuç ona göre değerlendirilir. Her küme içerisinde doğru atanmış elemanlara göre de değerlendirme yapılabilir. 46 23 Kümeleme Değerlendirmesi Entropy Her küme için entropi hesaplanır. Burada, Di i. küme, Pri(cj) j. küme etiketinin olasılığıdır. Tüm kümeler için entropi hesaplanır. |Di | i. Kümedeki eleman sayısıdır. |D| toplam eleman sayısıdır. 47 Kümeleme Değerlendirmesi Purity Her küme için purity hesaplanır. Burada, Di i. küme, Pri(cj) j. küme etiketinin olasılığıdır. Tüm kümeler için purity hesaplanır. |Di | i. kümedeki eleman sayısıdır. |D| toplam eleman sayısıdır. 48 24 Kümeleme Değerlendirmesi Örnek D kümesi 900 dokümana sahiptir. Tüm dokümanlar Science, Sports ve Politics olarak 3 konuya ayrılmaktadır. Her konu 300 dokümana sahiptir. False Pozitif Tahmin Science Tahmin Sports Tahmin Politics False Negatif True Pozitif E ( 250 250 20 20 10 10 log log log ) 0,589 280 280 280 280 280 280 Precision, recall ve f-skor değerleri de hesaplanabilir. 49 Kümeleme Değerlendirmesi Indirect evaluation Bazı uygulamalarda oluşuturulan kümeler yerine başka parametreler kullanılarak değerlendirme yapılabilir. Bir kitap tavsiye sisteminde müşteriler profil bilgilerine ve geçmişte ilgilendikleri ürünlere göre kümelenebilir. Ancak, değerlendirme tavsiye edilen kitapların seçilme oranına göre yapılır. 50 25