Konular Demetleme işlemleri VERİ MADENCİLİĞİ Demetleme tanımı Demetleme uygulamaları Demetleme Yöntemleri Demetleme Yöntemleri Bölünmeli Yöntemler Hiyerarşik Yöntemler Yoğunluk Tabanlı Yöntemler Model Tabanlı Yöntemler Doç. Dr. Şule Gündüz Öğüdücü 2 1 Bilgi Keşfi Bilgi Keşfi Model Değerlendirme Veri Madenciliği • Sınıflandırma Model Değerlendirme Veri Madenciliği • Sınıflandırma • Demetleme Kullanım amaçlı Veri Veri Ambarı Kullanım amaçlı Veri Seçme Veri Ambarı Veri Temizleme Seçme Veri Temizleme Veri Birleştirme Veri Birleştirme 3 Demetleme Demetleme Nesneleri demetlere (gruplara) ayırma Demet: birbirine benzeyen nesnelerden oluşan grup Gözetimsiz öğrenme: Hangi nesnenin hangi sınıfa ait olduğu ve sınıf sayısı belli değil Uygulamaları: Aynı demetteki nesneler birbirine daha çok benzer Farklı demetlerdeki nesneler birbirine daha az benzer Aynı demet içindeki nesneler arasındaki uzaklığı en küçültme 4 Farklı demetlerdeki nesneler arasındaki uzaklığı en büyütme verinin dağılımını anlama başka veri madenciliği uygulamaları için ön hazırlık 5 6 1 Demetleme Uygulamaları Veri Madenciliğinde Demetleme Örüntü tanıma Görüntü işleme Ekonomi Aykırılıkları belirleme WWW Ölçeklenebilirlik Farklı tipteki niteliklerden oluşan nesneleri demetleme Farklı şekillerdeki demetleri oluşturabilme En az sayıda giriş parametresi gereksinimi Hatalı veriler ve aykırılıklardan en az etkilenme Model oluşturma sırasında örneklerin sırasından etkilenmeme Çok boyutlu veriler üzerinde çalışma Kullanıcıların kısıtlarını göz önünde bulundurma Sonucun yorumlanabilir ve anlaşılabilir olması Doküman demetleme Kullanıcı davranışlarını demetleme Kullanıcıları demetleme Diğer veri madenciliği algoritmaları için bir önişleme adımı Veri azaltma – demet içindeki nesnelerin temsil edilmesi için demet merkezlerinin kullanılması 7 8 Farklı Demetler İyi Demetleme İyi demetleme yöntemiyle elde edilen demetlerin özellikleri aynı demet içindeki nesneler arası benzerlik fazla farklı demetlerde bulunan nesneler arası benzerlik az Oluşan demetlerin kalitesi seçilen benzerlik ölçütüne ve bu ölçütün gerçeklenmesine bağlı Uzaklık / Benzerlik nesnelerin nitelik tipine göre değişir Demet sayısı 6 demet 2 demet 4 demet Nesneler arası benzerlik: s(i,j) Nesneler arası uzaklık: d(i,j) = 1 – s(i,j) İyi bir demetleme yöntemi veri içinde gizlenmiş örüntüleri bulabilmeli Veriyi gruplama için uygun demetleme kriteri bulunmalı demetleme = aynı demetteki nesneler arası benzerliği en büyüten, farklı demetlerdeki nesneler arası benzerliği en küçülten fonksiyon Demetleme sonucunun kalitesi seçilen demetlerin şekline ve temsil edilme yöntemine bağlı 9 10 Konular Temel Demetleme Yaklaşımları Bölünmeli yöntemler: Veriyi bölerek, her grubu belirlenmiş bir kritere göre değerlendirir Hiyerarşik yöntemler: Veri kümelerini (ya da nesneleri) önceden belirlenmiş bir kritere göre hiyerarşik olarak ayırır Yoğunluk tabanlı yöntemler: Nesnelerin yoğunluğuna göre demetleri oluşturur Model tabanlı yöntemler: Her demetin bir modele uyduğu varsayılır. Amaç bu modellere uyan verileri gruplamak Demetleme işlemleri Demetleme tanımı Demetleme uygulamaları Demetleme Yöntemleri Bölünmeli Yöntemler K-means demetleme yöntemi K-medoids demetleme yöntemi Hiyerarşik Yöntemler Yoğunluk Tabanlı Yöntemler Model Tabanlı Yöntemler 11 12 2 Bölünmeli Demetleme Bölünmeli Yöntemler Amaç: n nesneden oluşan bir veri kümesini (D) k (k≤n) demete ayırmak her demette en az bir nesne bulunmalı her nesne sadece bir demette bulunmalı Yöntem: Demetleme kriterini en büyütücek şekilde D veri kümesi k gruba ayırma Global çözüm: Mümkün olan tüm gruplamaları yaparak en iyisini seçme (NP karmaşık) Sezgisel çözüm: k-means ve k-medoids k-means (MacQueen’67): Her demet kendi merkezi ile temsil edilir k-medoids veya PAM (Partition around medoids) (Kaufman & Rousseeuw’87): Her demet, demette bulunan bir nesne ile temsil edilir Veri kümesi Bölünmeli demetleme 13 14 K-means Demetleme K-means Demetleme Yöntemi Bilinen bir k değeri için k-means demetleme algoritmasının 4 aşaması vardır: 1. Veri kümesi k altkümeye ayrılır (her demet bir altküme) 2. 3. 4. Her demetin ortalaması hesaplanır: merkez nokta (demetteki nesnelerin niteliklerinin ortalaması) Her nesne en yakın merkez noktanın olduğu demete dahil edilir Nesnelerin demetlenmesinde değişiklik olmayana kadar adım 2’ye geri dönülür. Örnek 10 10 9 9 8 8 7 7 10 9 8 7 6 6 6 5 5 5 4 4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10 k=2 Her nesneyi en yakın merkezi olan demete dahil et 2 1 0 0 1 2 3 4 5 6 7 8 9 4 demet merkezlerini yeniden hesapla 3 10 3 2 1 0 0 1 2 3 4 5 k noktayı demetlerin merkezi olarak rasgele seç 6 7 8 9 10 yeniden demetle yeniden demetle 10 10 9 9 8 8 7 7 6 6 5 5 demet merkezlerini yeniden hesapla 4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10 4 3 2 1 0 0 1 2 3 4 5 15 6 7 8 9 10 16 K-Means: İki Farklı Demetleme k-means Demetleme Yöntemi 3 Demet sayısının belirlenmesi gerekir Başlangıçta demet merkezleri rasgele belirlenir 2.5 Veri Kümesi 2 1.5 y Her uygulamada farklı demetler oluşabilir 1 Uzaklık ve benzerlik Öklid uzaklığı, kosinüs benzerliği gibi yöntemlerle ölçülebilir Az sayıda tekrarda demetler oluşur 0.5 0 -2 - 1.5 -1 -0.5 0 0.5 1 1.5 2 x Karmaşıklığı: 3 2.5 2 2 1.5 1.5 y Yer karmaşıklığı - O((n+k) d) Zaman karmaşıklığı - O(ktnd) k: demet sayısı, t: tekrar sayısı, n: nesne sayısı, d: nitelik sayısı 3 2.5 y Yakınsama koşulu çoğunlukla az sayıda nesnenin demet değiştirmesi şekline dönüştürülür 1 1 0.5 0.5 0 0 -2 - 1.5 -1 -0.5 0 x Optimal Demetleme 17 0.5 1 1.5 2 -2 - 1.5 -1 -0.5 0 0.5 1 1.5 2 x Lokal optimum 18 3 K-Means Demetleme Yöntemini Değerlendirme Merkez Noktaların Seçimi Iteration 6 1 2 3 4 5 Yaygın olarak kullanılan yöntem hataların karelerinin toplamı (Sum of Squared Error SSE) 3 2.5 Nesnelerin bulundukları demetin merkez noktalarına olan uzaklıklarının karelerinin Ktoplamı SSE = ∑ ∑ dist 2 ( mi , x ) 2 i =1 x∈Ci y 1.5 x: Ci demetinde bulunan bir nesne, mi : Ci demetinin merkez noktası Hataların karelerinin toplamını azaltmak için k demet sayısı artırılabilir Çoğu durumda belirlenen bir k demet sayısı için SSE değeri 1 0.5 0 azaltılmak istenir. Başlangıç için farklı merkez noktaları seçerek farklı demetlemeler oluşturulur En az SSE değerini sahip olan demetleme seçilir -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 x 19 Merkez Noktaların Seçimi Iteration 1 Iteration 3 2 1.5 1.5 1.5 1 1 1 0.5 0.5 0.5 0 0 0 -0.5 0 0.5 1 1.5 2.5 2 -2 - 1.5 -1 -0.5 0 x 0.5 1 1.5 2 2 -2 - 1.5 -1 -0.5 x 0 0.5 1 1.5 1.5 2 x y -1 Iteration 5 1 2 3 4 3 y 3 2.5 2 y 3 2.5 2 y 3 - 1.5 Merkez Noktaların Seçimi Iteration 2 2.5 -2 20 1 Iteration 4 Iteration 5 Iteration 6 3 3 3 2.5 2.5 2.5 1 1 1 0.5 0.5 0.5 0 0 0 -2 - 1.5 -1 -0.5 0 0.5 1 1.5 0 y 2 1.5 y 2 1.5 y 2 1.5 0.5 2 -2 - 1.5 -1 -0.5 0 x 0.5 1 1.5 2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 x -2 - 1.5 -1 -0.5 x 0 0.5 1 1.5 2 x 21 Merkez Noktaların Seçimi Iteration 1 3 3 2.5 1.5 K-Means demetlemeye başlamadan önce yapılanlar 1 1 0.5 0.5 0 - 1.5 -1 -0.5 0 0.5 1 1.5 2 -2 - 1.5 -1 -0.5 x 0 0.5 2 2 1.5 1.5 1.5 1 1 1 0.5 0.5 0.5 0 0 0 0.5 1 1.5 2 K-Means demetleme işlemi sonrasında yapılanlar Küçük demetleri en yakın başka demetlere dahil et En büyük toplam karesel hataya sahip olan demeti böl Merkez noktaları birbirine en yakın demetleri birleştir Toplam karesel hatada en az artışa neden olacak iki demeti birleştir y 2 y 3 2.5 y 3 2.5 x 2 Iteration 5 3 -0.5 1.5 Iteration 4 2.5 -1 1 x Iteration 3 - 1.5 Veri kümesini örnekleyerek hiyerarşik demetleme yap. Oluşan k demetin ortalamasını başlangıç için merkez nokta seç Başlangıçta k’dan fazla merkez nokta seç. Daha sonra bunlar arasından k tane seç. y 2 1.5 y 2 0 -2 K-Means Demetleme Çeşitleri Iteration 2 2.5 -2 22 0 -2 - 1.5 -1 -0.5 0 x 0.5 1 1.5 2 -2 - 1.5 -1 -0.5 0 0.5 1 1.5 2 x 23 24 4 K-Means Demetleme Algoritmasının Özellikleri Konular Demetleme işlemleri Gerçeklemesi kolay Karmaşıklığı diğer demetleme yöntemlerine göre az K-Means algoritması bazı durumlarda iyi sonuç vermeyebilir Veri Veri Veri Veri Demetleme tanımı Demetleme uygulamaları Demetleme Yöntemleri Bölünmeli Yöntemler K-means demetleme yöntemi K-medoids demetleme yöntemi grupları farklı boyutlarda ise gruplarının yoğunlukları farklı ise gruplarının şekli küresel değilse içinde aykırılıklar varsa Hiyerarşik Yöntemler Yoğunluk Tabanlı Yöntemler Model Tabanlı Yöntemler 25 26 K-Medoids Demetleme Yöntemi K-Medoids Demetleme Yöntemi PAM (Partitioning Araound Medoids 1987) Her demeti temsil etmek için demet içinde orta nokta olan nesne seçilir. 10 9 9 8 8 7 7 6 6 5 5 4 4 3 3 2 2 1 1 0 2. 3. 5 1, 3, 5, 7, 9 ortalama: 1, 3, 5, 7, 1009 ortalama 1, 3, 5, 7, 1009 orta nokta 10 1. 4. 205 1 2 3 4 5 6 7 8 9 10 nk nk j =1 j =1 nk: k demeti içindeki nesne sayısı xjk: k demeti içindeki j. nesne TC ik = ∑ ( xik − x jk ) 2 − ∑ ( xrk − x jk ) 2 5 5. Tcik>0 ise xrk merkez nesne olarak atanır. 6. Demetlerde değişiklik oluşmayana kadar 3. adıma geri gidilir. Küçük veri kümeleri için iyi sonuç verebilir, ancak büyük veri kümeleri için uygun değil CLARA (Kaufmann & Rousseeuw, 1990) CLARANS (Ng & Han, 1994) 0 0 Başlangıçta k adet nesne demetleri temsil etmek üzere rasgele seçilir xik Kalan nesneler en yakın merkez nesnenin bulunduğu demete dahil edilir Merkez nesne olmayan rasgele bir nesne seçilir xrk xrk merkez nesne olursa toplam karesel hatanın ne kadar değiştiği bulunur 0 1 2 3 4 5 6 7 8 9 10 27 28 Konular Hiyerarşik Demetleme Demetleme işlemleri Demet sayısının belirlenmesine gerek yok Demetleme tanımı Demetleme uygulamaları Sonlanma kriteri belirlenmesi gerekiyor Adım 0 Demetleme Yöntemleri a Bölünmeli Yöntemler Hiyerarşik Yöntemler Yoğunluk Tabanlı Yöntemler Model Tabanlı Yöntemler Adım 1 Adım 2 Adım 3 Adım 4 ab b abcde c cde d de e Adım 4 29 agglomerative: Aşağıdan yukarıya (AGNES) Adım 3 Adım 2 Adım 1 divisive: yukarıdan aşağıya (DIANA) 30 5 Hiyerarşik Yöntemler Hiyerarşik Yöntemler AGNES (AGglomerative NESting): DIANA (DIvisive ANAlysis): Kaufmann ve Rousseeuw tarafından 1990 yılında önerilmiştir. Kaufmann ve Rousseeuw tarafından 1990 yılında önerilmiştir. AGNES’in yaptığı işlemlerin tersini yapar. En sonunda her nesne bir demet oluşturur. Her nesne ayrı bir demet oluşturana ya da istenilen demet sayısı elde edene kadar ayrılma işlemi devam eder. Birinci adımda her nesne bir demet oluşturur. Aralarında en az uzaklık bulunan demetler her adımda birleştirilir. Bütün nesneler tek bir demet içinde kalana kadar ya da istenen sayıda demet elde edene kadar birleştirme işlemi devam eder. 10 10 10 10 9 9 9 8 8 8 7 7 7 5 4 3 3 3 3 2 2 1 1 1 0 0 0 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 0 0 0 0 1 1 0 2 2 2 1 1 3 3 2 0 4 4 4 2 5 5 5 4 4 6 6 6 5 7 7 6 5 8 8 7 6 9 9 8 6 10 10 9 1 2 3 4 5 6 7 8 9 10 10 0 1 2 3 4 5 6 7 8 9 0 10 1 2 3 4 5 6 7 8 9 10 31 32 Hiyerarşik Demetleme Aşağıdan Yukarıya Demetleme Dendogram: Demetler hiyerarşik olarak ağaç yapısı şeklinde görüntülenebilir Ara düğümler çocuk düğümlerdeki demetlerin birleşmesiyle elde edilir Algoritma 1. 2. Kök: bütün nesnelerden oluşan tek demet Yapraklar: bir nesneden oluşan demetler 3. Dendogram istenen seviyede kesilerek demetler elde edilir 4. 6 4 5 2 3 1 5 6 1,0 5. 4 3 4 2 0,8 6. 5 2 0,6 Uzaklık matrisini hesaplarken farklı yöntemler farklı demetleme sonuçlarına neden olurlar 1 0,4 3 Uzaklık matrisini hesapla Her nesne bir demet Tekrarla En yakın iki demeti birleştir Uzaklık matrisini yeniden hesapla Sonlanma: Tek bir demet kalana kadar 1 0,2 0 33 Demetler Arası Uzaklık p1 Benzerlik p2 34 Demetler Arası Uzaklık p3 p4 p5 p1 ... p1 p1 p2 p2 p3 p3 p4 p4 p5 MIN (Tek Bağ) MAX (Tam Bağ) Ortalama Merkezler arası uzaklık p3 p4 p5 ... p5 MIN (Tek Bağ) MAX (Tam Bağ) Ortalama Merkezler arası uzaklık . . . p2 Uzaklık Matrisi 35 . . . Uzaklık Matrisi 36 6 Demetler Arası Uzaklık p1 p2 Demetler Arası Uzaklık p3 p4 p5 p1 ... p1 p1 p2 p2 p3 p3 p4 p4 p5 MIN (Tek Bağ) MAX (Tam Bağ) Ortalama Merkezler arası uzaklık p3 p4 p5 ... p5 MIN (Tek Bağ) MAX (Tam Bağ) Ortalama Merkezler arası uzaklık . . . p2 Uzaklık Matrisi . . . Uzaklık Matrisi 37 Demetler Arası Uzaklık p1 p2 38 Farklı Uzaklık Yöntemlerinin Etkisi p3 p4 p5 ... 1 p1 × × 5 p2 p3 4 5 1 2 1 2 2 3 MIN MAX 5 2 6 3 3 p4 4 6 1 4 4 p5 MIN (Tek Bağ) MAX (Tam Bağ) Ortalama Merkezler arası uzaklık 5 3 . . . 1 Uzaklık Matrisi 5 2 5 2 3 3 6 Ortalama 1 4 4 39 Hiyerarşik Demetleme Yöntemlerinin Özellikleri 40 Konular Demetleme kriteri yok Demet sayılarının belirlenmesine gerek yok Aykırılıklardan ve hatalı verilerden etkilenir Farklı boyuttaki demetleri oluşturmak problemli olabilir Yer karmaşıklığı – O(n2) Zaman karmaşıklığı – O(n2logn) n : nesne sayısı 41 Demetleme işlemleri Demetleme tanımı Demetleme uygulamaları Demetleme Yöntemleri Bölünmeli Yöntemler Hiyerarşik Yöntemler Yoğunluk Tabanlı Yöntemler Model Tabanlı Yöntemler 42 7 Yoğunluk Tabanlı Yöntemler DBSCAN İki parametre: Eps: En büyük komşuluk yarıçapı MinPts: Eps yarıçaplı komşuluk bölgesinde bulunan en Demetleme nesnelerin yoğunluğuna göre yapılır. Başlıca özellikleri: Rastgele şekillerde demetler üretilebilir. Aykırı nesnelerden etkilenmez. Algoritmanın son bulması için yoğunluk parametresinin verilmesi gerekir. az nesne sayısı Neps(p): {q∈D | d(p,q)≤Eps} Doğrudan erişilebilir nesne: Eps ve MinPts koşulları altında bir q nesnesinin doğrudan erişilebilir bir p nesnesi şu şartları sağlar: p∈Neps(q) q nesnesinin çekirdek nesne koşulunu sağlaması Başlıca yoğunluk tabanlı yöntemler: DBSCAN: Ester, et al. (KDD’96) OPTICS: Ankerst, et al (SIGMOD’99). DENCLUE: Hinneburg & D. Keim (KDD’98) CLIQUE: Agrawal, et al. (SIGMOD’98) Neps(q)≥MinPts p q MinPts = 5 Eps = 1 cm 43 DBSCAN Yoğunluk Tabanlı Yöntemler: DBSCAN Erişilebilir nesne: Eps ve MinPts koşulları altında q nesnesinin erişilebilir bir p nesnesi olması için: p1,p2,...,pn nesne zinciri olması, p1=q, pn=p, pi nesnesinin doğrudan erişilebilir nesnesi:pi+1 Veri tabanındaki her nesnenin Eps yarıçaplı komşuluk bölgesi araştırılır. Bu bölgede MinPts’den daha fazla nesne bulunan p nesnesi çekirdek nesne olacak şekilde demetler oluşturulur. Çekirdek nesnelerin doğrudan erişilebilir nesneleri bulunur. Yoğunluk bağlantılı demetler birleştirilir. Hiçbir yeni nesne bir demete eklenmezse işlem sona erer. Yer karmaşıklığı – O(n) Zaman karmaşıklığı – O(nlogn) p q p1 Yoğunluk bağlantılı Nesne: Eps ve MinPts koşulları altında q nesnesinin yoğunluk bağlantılı nesnesi p şu koşulları sağlar: p ve q nesneleri Eps ve MinPts koşulları altında bir o nesnesinin 44 p q o erişilebilir nesnesidir. n: nesne sayısı 45 Konular 46 Model Tabanlı Demetleme Yöntemleri Demetleme işlemleri Veri kümesi için öngörülen matematiksel model en uygun hale getiriliyor. Verinin genel olarak belli olasılık dağılımlarının karışımından geldiği kabul edilir. Model tabanlı demetleme yöntemi Demetleme tanımı Demetleme uygulamaları Demetleme Yöntemleri Bölünmeli Yöntemler Hiyerarşik Yöntemler Yoğunluk Tabanlı Yöntemler Model Tabanlı Yöntemler Modelin yapısının belirlenmesi Modelin parametrelerinin belirlenmesi Örnek EM (Expectation Maximization) Algoritması 47 48 8 Olasılıksal Model Tabanlı Demetleme Model Tabanlı Demetleme Yöntemleri Demetlemede amaç gizli değişkenleri bulmak: sınıf bilgisi Gizli değişkenler veri üzerinde bir olasılık fonksiyonu ile matematiksel olarak ifade edilebilen bir olasılıksal dağılımdır Örnek: Satılan dijital kameraların sınıfı Profesyonel veya amatör (C1 ve C2) Her sınıf için iki olasılık yoğunluk fonsiyonu: f1 ve f2 Olasılıksal karışım modelleri gözlenen verinin farklı olasılık dağılımları ile temsil edilen demetlerin örnekleri olduğunu varsayar 49 Gözlenen verideki her örnek birbirinden bağımsız Maximum Likelihood (ML) yaklaşımı G l ML (Θ1 ,..., Θ G ;τ 1 ,..., τ G | D) = ∏∑ τ g p ( xi | cg , Θ g ) i =1 g =1 Maximum Aposteriori (MAP) yaklaşımı K G τ g p( xi | c g , Θ g ) p(Θ) p ( D) i =1 g =1 Uygulamada her ikisinin logaritması G i =1 g =1 K G g =1 52 E ve M Adımları İki adım arasında yinelemeli E adımı: Θ’ parametrelerine dayanarak eksik veri için en iyi olası kestirimler M adımı: Eksik veri atandığında yeni parametrelere ilişkin kestirimler EM Algoritmasının adımları: z ? P(y11=1|x1,θ) P(y21=1|x1,θ) P(y31=1|x1,θ) ... x2 ? P(y12=1|x2,θ) P(y22=1|x2,θ) P(y32=1|x2,θ) ... x3 ? P(y13=1|x3,θ) P(y23=1|x3,θ) P(y33=1|x3,θ) ... : : : G 51 x1 : 50 i =1 g =1 veri kümesi eksik: verinin sonrasal olasılığı (posterior probabilities) kullanılarak tamamlanmaya çalışılıyor y g =1 K EM Algoritması x G p ( xi | Θ ) = ∑ τ g p ( x i | cg ; Θ g ) = ∑∑ p (c g | xi )[ln p ( xi | cg ) + ln τ g ] L(Θ1 ,..., ΘG ;τ 1 ,...,τ G | D) = ∑ ln ∑ (τ g p ( xi | c g , Θ g )) + ln p (Θ) i =1 g =1 Q (Θ, Θ' ) = E[ Lc ( D, H | Θ) | D, Θ' ) L(Θ1 ,..., ΘG ;τ 1 ,...,τ G | D) = ∑ ln ∑ (τ g p ( xi | c g , Θ g )) K G p ( xi | Θ ) = ∑ p (cg | Θ ) p ( x i | c g ; Θ g ) Veri kümesi: D={x1,x2,...,xK} Gizli değişkenler H={z1,z2,...,zK} (her nesnenin hangi demete dahil olduğu bilgisi) zj={xj,y1j,y2j,...,yGj} xj verisi ci demetinde ise yij=1 Verinin eksik olduğu durumda, tam verinin beklenen değeri hesaplanır: Model parametrelerinin belirlenmesi l MAP (Θ1 ,..., Θ G ;τ 1 ,...,τ G | D ) = ∏∑ K nesneden oluşan bir veri kümesi D={x1,x2,...,xK} her xi (i∈[1,...K]) nesnesi Θ parametre kümesiyle tanımlanan bir olasılık dağılımından oluşturulur. Olasılık dağılımının, cj∈C={c1, c2, ...,cG} şeklinde G adet bileşeni vardır. Her Θg, g∈[1, ...,G] parametre kümesi g bileşeninin olasılık dağılımını belirleyen, Θ kümesinin ayrışık bir alt kümesidir. Herhangi bir xi nesnesi öncelikle, p(cg|Θ Θ) = τg, (ΣG τg=1 olacak şekilde) bileşen katsayısına (ya da bileşenin seçilme olasılığına) göre bir bileşene atanır. Bu bileşen p(xi|cg; Θg) olasılık dağılımına göre xi değişkenini oluşturur. Böylece bir xi nesnesinin bu model için olasılığı bütün bileşenlerin olasılıklarının toplamıyla ifade edilebilir: EM Algoritması Model Tabanlı Demetleme Problemi K İstatistiksel yaklaşım: : Θ’ için başlangıç değerleri atama (E) Expectation: Q(Θ| Θ’) hesaplanması (M) Maximization: argmax Q(Θ| Θ’) : 53 54 9 Örnek Normal Dağılım için EM Algoritması xj verisi ci demetinde ise yij=1 değilse yij=0 E adımı: P ( x j | ci ) P(ci ) P (ci | x j , Θl ) = P ( yij = 1 | x j , Θl ) = P ( x j | ci , µ i , σ i ) P (ci ) l = P( x j ) G ∑ P (c g =1 M adımı σ il +1 = ∑ hij j µ il +1 = K ∑ h (x j ij j ∑hx ∑h )( ij j ≡ hij j ij j − µ il x j − µ il ) P ( x j | cg , µ lg , σ lg ) − ( x j − µi ) 2 1 exp d /2 d ( 2π ) σ 2σ 2 Normal dağılım için: P( x j | ci , µi , σ ) = P(c i ) = g 51 örnekten oluşan tek boyutlu bir veri kümesi var. Bu veri kümesi iki farklı normal dağılımdan alınmış. l ) T 51 43 62 64 45 42 46 45 45 62 47 52 64 51 65 48 49 46 64 51 52 62 49 48 62 43 40 48 64 51 63 43 65 66 65 46 39 62 64 52 63 64 48 64 48 51 48 64 42 48 41 ∑ j hij 55 Örnek - Devam 56 Örnek - Devam Örnek için P(c1)=0,5 olarak tahmin ediliyor ve veri kümesi ikiye ayrılarak normal dağılımın parametreleri için başlangıç değerleri atanıyor EM algoritmasının çalışması D={x1,x2,...,xK} veri kümesinden yararlanarak karışım modellerinin parametrelerini belirlemek Bu örnek için 5 parametre belirlenmesi gerekiyor: µ1, σ1, µ2, σ2, P(C1). Bu parametreler ilk adımda tahmin ediliyor {51(*2.5),52(*3),62(*5),63(*2),64(*8),65(*3),66(*1)}; {51(*2.5),49(*2),48(*7),47(*1),46(*3),45(*3),43(*3), 42(*2),41(*1),40(*1),39(*1)}; µ1=47.63; σ1 =3.79; µ2=58.53; σ2 =5.57. 57 Örnek - Devam Örnek - Devam xi örneğinin demetlere dahil olma olasılığı: h1i = P(c1 | xi ) = 1 P ( xi | c1 ) P (c1 ) P (c1 ) = ⋅ e P( xi ) P ( xi ) 2π σ 1 E – Adımı: Olasılıkların hesaplanması Örnek: Değeri 52 olan bir örnek için olasılıklar: ( x − µ )2 − i 1 − P( xi | c2 ) P (c2 ) P(c2 ) 1 h2i = P(c2 | xi ) = = ⋅ e P ( xi ) P ( xi ) 2π σ 2 2σ 12 ( xi − µ 2 )2 2σ 22 2 P( xi ) = ∑ P (cg ) P( xi | cg ) g =1 = P (c1 ) ⋅ − 1 e 2π σ 1 ( xi − µ1 )2 2σ 12 + P (c2 ) ⋅ 58 1 2π σ 2 − e h1 j = P(c1 | x = 52) = − 0 .5 1 ⋅ e P ( x = 52) 2π ⋅ (3.79) h2 j = P(c2 | x = 52) = − 0 .5 1 e ⋅ P ( x = 52) 2π ⋅ 5.57 (52 − 47.63 )2 2⋅( 3.79 ) 2 (52 −58.53 )2 2⋅( 5.57 ) 2 ( xi − µ 2 )2 2σ 22 59 60 10 Örnek - Devam Parametrelerin yeni değerleri n ∑ µ1 = j =1 n n h1 j x ∑ ∑ j j =1 n ; µ2 = ∑ p1 j j =1 n ∑ σ 12 = j =1 (1 − h 1 j ) x j (1 − h 1 j ) i =1 h 1 j (x j − µ 1 ) n 2 n ∑ p1 j j =1 ∑ ;σ 2 2 = j =1 (1 − h1 j ) (x j − µ 2 ) 2 n ∑ (1 − h 1 j ) j =1 n ∑ P (C 1 ) = j =1 h1 j n İşlem demetleme sonucu yakınsayana kadar devam ediyor 61 11