veri madenciliği

advertisement
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
Download