Intelligent Data Mining

advertisement
Zeki
Veri Madenciliği
Ethem Alpaydın
Bilgisayar Mühendisliği Bölümü
Boğaziçi Üniversitesi
[email protected]
http://www.cmpe.boun.edu.tr/~ethem
Veri Madenciliği nedir?
• Büyük miktarda veri içinden, gelecekle
ilgili tahmin yapmamızı sağlayacak
bağıntı ve kuralların aranmasıdır.
• Knowledge Discovery in Databases
2
Örnek Uygulamalar
• Bağıntı
“Çocuk bezi alan müşterilerin 30%’u bira da
alır.” (Basket Analysis)
• Sınıflandırma
“Genç kadınlar küçük araba satın alır; yaşlı,
zengin erkekler ise büyük, lüks araba satın
alır.”
• Regresyon
Kredi skorlama (Application Scoring)
3
Örnek Uygulamalar
• Zaman içinde Sıralı Örüntüler
“İlk üç taksidinden iki veya daha fazlasını geç
ödemiş olan müşteriler %60 olasılıkla krediyi
geriye ödeyemiyor.” (Behavioral scoring,
Churning)
• Benzer Zaman Sıraları
“X şirketinin hisselerinin fiyatları Y şirketinin
fiyatlarıyla benzer hareket ediyor.”
4
Örnek Uygulamalar
• İstisnalar (Fark Saptanması)
“Normalden farklı davranış gösteren
müşterilerim var mı?”
Fraud detection
• Döküman Madenciliği (Web Madenciliği)
“Bu arşivde (veya internet üzerinde) bu
dökümana benzer hangi dökümanlar var?”
5
Veri Madenciliği Sihir değildir!
Veri madenciliği, veri tabanları, istatistik ve
yapay öğrenme konularının kavramlarına
dayanır ve onların tekniklerini kullanır.
6
Ambardan Madene
Veri
Ambarı
Günlük
Veri tabanları
Veri alınır,
çevrilir,
temizlenir,
guruplanır
Standard
form
Amaç belirlenir,
veri oluşturulur
7
Maden nasıl bulunur?
Geçerleme
Keşif
Bilgisayar yardımıyla,
Kullanıcı tarafından,
Yukarıdan aşağıya
Otomatik,
Veri tarafından yönlendirilir,
Aşağıdan yukarıya
Sorgula ve Raporla
OLAP (OnLine Analytical
Processing) tools
8
Adımlar:
1. Amaç Tanımlama
• Ürünler arasında bağıntı ?
• Yeni pazar segmentleri veya potansiyel
müşteriler?
• Zaman içindeki satın alma örüntüleri veya
ürün satım eğrileri?
• Müşterileri guruplamak, sınıflandırmak ?
9
Adımlar:
2. Veri Hazırlama
• Veriyi birleştir, seç ve önişle
(Eğer veri ambarı varsa zaten yapılmıştır)
• Var olan verinin dışında, amaç için
kullanılabilecek ek bilgi var mı?
10
Adımlar:
2. Veri Hazırlama
• Veri seçimi: Önemli değişkenlerin saptanması
• Veri temizleme: Hata, tutarsızlık, tekrar ve
eksik verilerin ayıklanması/düzeltilmesi
• Veri fırçalama: Guruplama, dönüşümler
• Görsel inceleme: Veri dağılımı, yapısı,
istisnalar, değişkenler arasında bağıntılar
• Değişken analizi: Guruplama, bölütleme
11
Adımlar:
3. Teknik Seçme
• Amaç sınıfının tanımlanması
Guruplama (Clustering/Segmentation), Bağıntı kurma
(Association), Sınıflandırma (Classification), Zaman içinde örüntü
bulma/tahmin yapma (Pattern detection/Prediction in time)
• Çözüm sınıfınının tanımlanması
Açıklama (Karar ağaçları,kurallar) vs Kara kutu (sinir ağı)
• Model değerlendirme, geçerleme ve
karşılaştırma
k-kat çapraz geçerleme, istatistiksel testler
• Modellerin birleştirilmesi
12
Adımlar:
4. Yorumlama
• Sonuçlar (açıklamalar/tahminler) doğru
mu, dikkate değer mi?
• Uzmana danışma
13
Örnek
• Veri, çok boyutlu değişkenler tablosudur
Ad
Ali
Veli
Gelir
25,000 $
18,000 $
Birikim
50,000 $
10,000 $
Medeni hali
Evli
Evli
Default
...
Hayır
Evet
Bir değişkenin değerini, diğer değişkenlerin
değerleri cinsiden açıklamak istiyoruz.
14
Sistem Modelleme
x : Gözlenebilen değişkenler.
y =f (x) : f bilinmeyen ve rassal bir
fonksiyon
x
f
y
15
Veri için Model Oluşturma
x
y
f
-
f*
16
Veriden Öğrenme
Verilmiş örnek kümesi X={xt,yt}t üzerinde
f (xt) ’ye en yakın kestirici f*(xt) ’i
oluşturuyoruz.
E   y t  f * (x t )
2
t
17
Uygulama Tipleri
• Sınıflandırma: y in {C1, C2,…,CK}
• Regresyon: y in Re
• Zaman Serisi Tahmini: x ’ler zaman
içinde bağımlı
• Öbekleme: x ’leri benzerliğe göre
gurupla
18
birikim
Örnek
OK
DEFAULT
yıllık gelir
19
x2 : birikim
Örnek Çözüm
OK
DEFAULT
q2
x1 : yıllık gelir
q1
KURAL: EĞER yıllık gelir> q1 VE birikim> q2
İSE OK DEĞİLSE DEFAULT
20
Karar Ağaçları
x1 > q1
evet
hayır
x2 > q2
evet
y=1
x1 : yıllık gelir
x2 : birikim
y = 0: DEFAULT
y = 1: OK
y=0
hayır
y=0
21
birikim
Öbekleme
Tip 1
Tip 2
OK
DEFAULT
Tip 3
yıllık gelir
22
Veri Görselleştirme
• Görsel Analiz için veriyi daha az boyutlu
(tercihen 2) olarak çiz.
• Verinin yapısının; gurupların, istisnaların
gözlenmesi
23
z2
Veri Görselleştirme
Kural
İstisna
z1
24
Zaman Serisi Tahmini
?
zaman
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Jan
Geçmiş
Discovery of frequent episodes
Şimdi
Gelecek
25
Metodoloji
İlk
Standard
Form
Öğrenme
kümesi
Model 1
Model 2
Yeterince
iyi ise
kabul et
En iyiyi
seç
Model L
Deneme
kümesi
Veri azaltma:
Değişken sayısı ve değer
azaltma
En iyi
model
Eğitilmiş
modelleri
deneme kümesi
üzerinde dene ve
en başarılısını seç
Olası modelleri
öğrenme kümesi
üstünde eğit
26
Kestiricileri Eğitmek için Teknikler
•
•
•
•
Parametrik Çokboyutlu İstatistik
Bellek tabanlı (Örnek tabanlı) Modeller
Karar Ağaçları
Yapay Sinir Ağları
27
Sınıflandırma
•
•
•
•
x : d-boyutlu değişkenler vektörü
C1 , C2 ,... , CK : K sınıf
Şüphe
Veriden P(Ci|x) hesaplanır ve
olasılığı en yüksek sınıf k seçilir
P(Ck|x)=maxj P(Cj|x)
28
Bayes Kuralı
p(x|Cj)
P(Cj)
p(x)
P(Cj|x)
:
:
:
:
Sınıf j’den bir örneğin x olma olasılığı
Sınıf j’nin ilk olasılığı
Herhangi bir örneğin x olma olasılığı
x olan bir örneğin sınıf j’den olma olasılığı (son olasılık)
29
İstatistiksel Yöntemler
• Sınıf dağılımları, p(x|Cj) için parametrik
(Gauss) model varsayılıyor
Tek boyutlu x  
2 

(
x


)
1
j
exp 

2
2  j
2 j


p (x | C j ) 
Çok boyutlu x  d
1
 1

T
1
p (x | C j ) 
exp  ( x  μ j ) Σ j ( x  μ j )
d /2
(2 ) Σ j
 2

30
Sınıflandırıcıyı Eğitmek
• Veri {xt}t ’in ait olduğu sınıf Cj
Tek boyutlu: p(x|Cj)~N (j,j2)
xt
̂ j 
x t C j
nj
 (x
ˆ j 
2
t
 ˆ j ) 2
x t C j
Pˆ(C j ) 
nj
Çok boyutlu: p(x|Cj)~Nd (j,Sj)
t
x

μ̂ j 
x t C j
nj
nj
n
t
t
T
ˆ
ˆ
(
x

μ
)(
x

μ
)

j
j
ˆS 2  x C j
j
t
nj
31
Örnek: 1 Boyutlu
32
Örnek: Farklı Varyanslar
33
Örnek: Çok Sınıf
34
Örnek: 2 Boyutlu
35
Örnek: Ortak Kovaryans
36
Örnek: Farklı Kovaryanslar
37
Davranışlar ve Riskler
ai : davranış i
l(ai|Cj) : Sınıf Cj iken ai davranışını
almanın getirdiği kayıp.
ai davranışının riski:
R(ai |x) = Sj l(ai|Cj) P(Cj |x)
En az riskli davranışı seç:
R(ak |x) = mini R(ai |x)
38
Regresyon (Fonksiyon Yakınsama)
39
Regresyon
t
t
y  f (x | q )  
 gürültü. Doğrusal regresyonda parametreler
w,w0
f (x t | w ,w 0 )  wx t  w 0
t
t
2
E (w ,w 0 )   (y  wx  w 0 )
t
E
w
E
E
 0,
0
w
w 0
40
Doğrusal Regresyon
41
Yüksek Dereceli Regresyon
• Örneğin, ikinci dereceden
t
f (x | w 2 ,w 1 ,w 0 )  w 2 x
t2
E (w 2 ,w 1 ,w 0 )   (y  w 2 x
t
t
 w 1x t  w 0
t2
 w 1x t  w 0 )2
42
Yüksek Dereceli Regresyon
43
Çok Değişkenli Doğrusal Regresyon
(Scoring)
• d değişken sayısı
t
1
t
t
f (x , x 2 ,  , x d | w 0 ,w 1 ,w 2 ,  ,w d ) 
t
1 1
t
2
t
w x  w 2 x    w d x d  w 0  wT x
E (w 0 ,w 1 ,w 2 ,  ,w d ) 
t y
t
t
1
t
2
t
 f (x , x ,  , x d | w 0 ,w 1 ,w 2 ,  ,w d )

2
44
Özellik Seçme
• Özellikler Altkümesi Seçimi
İleriye veya Geriye doğru seçim
• Doğrusal İzdüşüm
Temel Bileşenler Analizi (PCA)
Doğrusal Ayırıcı Analizi (LDA)
45
Sıralı Altküme Seçimi
İleriye Doğru Seçim
(x1)
(x2)
(x 1 x 3 )
(x3)
(x4)
(x2 x3)
(x 1 x 2 x 3 )
(x3 x4)
(x2 x3 x4)
Geriye Doğru Seçim
(x 1 x 2 x 3 x 4 )
(x1 x2 x3) (x1 x2 x4) (x1 x3 x4) (x2 x3 x4)
(x2 x4) (x1 x4) (x1 x2)
46
Temel Bileşenler Analizi (PCA)
x2
z2
z2
z1
x1
z1
Beyazlaştırma
47
Doğrusal Ayırıcı Analizi (LDA)
x2
z1
z1
x1
48
Bellek Tabanlı Yöntemler
• Örnek tabanlı karar verme
• En yakın komşu algoritması
• Bilinen geçmiş örnekleri bir liste içinde
saklayıp buradan ara değerleme ile çıktı
hesaplanır.
49
En Yakın Komşu
x2
x1
50
Yerel Regresyon
y
x
Uzmanların Birleşimi
51
Eksik Veri
• Eksik veri olan kayıtları çıkar.
• Ortalama ile doldur.
• Diğer değişkenler cinsinden regresyon
ile doldur.
52
Karar Ağaçlarının Eğitilmesi
x2
x1 > q1
evet
hayır
x2 > q2
evet
y=1
hayır
y=0
q2
y=0
q1
x1
53
Düzensizliğin Ölçülmesi
x2
x2
q
7
0
q
x1
1
9
8
5
x1
0
4
54
Entropi
n right
n left
n left n right
e
log

log
n
n
n
n
55
Yapay Sinir Ağları
x0=+1
x1
x2
w1
w2
g
wd
xd
y  g (x 1w 1  x 2w 2    w 0 )
w0
y
 g ( wT x)
Regresyon: Öz
Sınıflandırma: Sigmoid (0/1)
56
Yapay Sinir Ağının Eğitilmesi
• d değişken
d
o  g ( w x)  g  w i x i
 i 0
T



X  x , y
t
Öğrenme kümesi:
t

X üzerindeki hatayı en aza indiren w ’yi bul
E (w | X ) 
y

t X

t
o

t 2
 t

   y  g  w i x i
t X 
 i

 

2
57
Doğrusal Olmayan En İyileme
E
Wi
E
w i  
w i
Eğim iniş:
Tekrarlı öğrenme
 öğrenme hızı
58
Sınıflandırma için Yapay Sinir Ağları
K tane sınıf için
oj , j=1,..,K çıktı
Her oj , P (Cj|x)’yi kestirir
o j  sigmoid ( wTj x )
1

1  exp(  wTj x )
59
Çok Sınıflı Doğrusal Yapay Sinir Ağı
o2
o1
oK
wKd
x0=+1
x1
x2
xd
d

t
T t
t
o j  g ( w j x )  g  w ji x i
 i 0



60
Tekrarlı Öğrenme
X  xt , yt 
E ( w | X )    y  o
t
j
t
j

t 2
j
o tj  g ( wTj x t )
w ji
E
E o j
 
 
   y tj  o tj g ' ()x i
w ji
o j w ji
t
Doğrusal
Doğrusal
olmayan


  y

o

w ji   y tj  o tj x i
w ji
t
j
 o tj
t
j
(1  o tj )x i
61
Doğrusal Olmayan Sınıflandırma
Doğrusal ayırılabilir
Doğrusal ayırılamaz;
doğrusal olmayan bir
ayırıcı gerekir.
62
Çok Katmanlı Yapay Sinir Ağı (MLP)
o2
o1
oK
tKH
h2
h1
hH
h0=+1
x0=+1
x1
x2
 H
t 
o  g   t jp h p 
 p 0

 d
t
h p  sigmoid  w pi x it
 i 0
t
j



wKd
xd
63
Olasılık Ağları
p (a )  0.1
p ( | a )  0.05, p ( | a )  0.1,...
64
Modelleri Değerlendirme
1. M ’nin gelecekteki gerçek veri
üzerindeki başarısını nasıl ölçebiliriz?
2. M1 , M2 , ..., ML arasında en iyisi hangi
modeldir?
65
Çapraz Geçerleme
1
1
2
3
2
k-1 k
3
k-1
k
k kere tekrar et ve ortalama al
66
Modelleri Birleştirme: Neden?
İlk
Standard
Form
Öğrenme
kümesi
Model 1
Model 2
En iyiyi
seç
En iyi
model
Model L
Geçerleme
kümesi
67
Modelleri Birleştirme : Nasıl?
İlk
Standard
Form
Öğrenme
kümesi
Model 1
Model 2
Oylama
Model L
Geçerleme
kümesi
68
Kredi Skor Hesabı (Credit Scoring)
• Başvuru (application) ve davranış
(behavioral) skor hesabı
• İstatistiksel bir model olarak skorkartı
• İyi ve kötü risk müşteriler
• Alanların doğrusal toplamı:
Kredi kartı var mı? Evet: +50
Hayır: –20
69
Kredi Skor Hesabında Kullanılan
Alanlar
•
•
•
•
•
•
•
•
•
•
•
İkamet adresinde oturduğu zaman: 0-1, 1-2, 3-4, 5+ yıl
Ev durumu: Sahip, kiracı, diğer
Postakodu: Kodlanmış
Telefon: Evet, hayır
Yıllık gelir: Kodlanmış
Kredi kartı: Evet, hayır
Yaş: 18-25, 26-40, 41-55, 55+ yıl
Meslek: Memur, işçi, serbest, işsiz, ...
Medeni hali: Evli, bekar, diğer
Bankanın müşterisi olduğu zaman: yıl
Çalıştığı kurumda çalışma zamanı: yıl
70
Kredi Skor Hesabının Yararları
• Daha doğru karar vermeyi sağlar.
• Skorkartı standardizasyon ve nesnel karar
getirir.
• Hızlı ve ucuzdur.
• Kullanılan tek skorkartının üzerinde kurumun
kontrolü vardır.
• Yeni skorkartı otomatik olarak kolay ve hızlı
bir şekilde hesaplanabilir.
71
Sepet Analizi (Basket Analysis)
• X ve Y malları arasındaki ilişki
• X, Y: 0/1
Destek (Support):
P(X ve Y)= X ve Y mallarını satın almış
müşteri sayısı / Toplam müşteri sayısı
Güven (Confidence):
P(X|Y)=P(X ve Y)/P(Y) =
X ve Y mallarını satın almış müşteri sayısı / Y
malını satın almış müşteri sayısı
72
Sepet Analizi
• X, Y beğeni değerleri
• Corr(X,Y)=Cov(X,Y)/(Std(X)*Std(Y))
• Cov(X,Y)=E[(X-mX) (Y-mY)]
73
Sonuçlar: Verinin Önemi
• Amaç, büyük miktardaki ham veriden değerli
bilginin çıkarılmasıdır.
• Çok miktarda, güvenilir veri önşarttır.
Çözümün kalitesi öncelikle verinin kalitesine
bağlıdır.
• Veri madenciliği simya değildir; taşı altına
döndüremeyiz.
74
Sonuçlar: Uzmanın Önemi
• Veri madenciliği, uygulama alanındaki
uzmanların ve bilgisayarın ortak çalışmasıdır.
• Uygulama ile ilgili ve yararlı olabilecek her tür
bilginin (simetriler, kısıtlar, vb) öğrenmeye
yardım için sisteme verilmesi gerekir.
• Sonuçların tutarlılığının uzmanlar tarafından
denetlenmesi gerekir.
75
Sonuçlar: Sabrın Önemi
• Veri madenciliği tek aşamalı bir çalışma
değildir; tekrarlıdır. Sistem ayarlanana dek
birçok deneme gerektirir.
• Veri madenciliği uzun bir çalışma olabilir.
Büyük beklentiler büyük hayal kırıklıklarına
neden olur.
76
Tekrar: Madencilik için Gerekenler
•
•
Çok miktarda kaliteli veri
İlgili ve bilgili uzmanlar:
1. Uygulama alanı
2. Veri Tabanları (Veri Ambarcılığı)
3. İstatistik ve Yapay Öğrenme
• Zaman ve sabır
77
Download