Büyük Veri İçin İstatistiksel Öğrenme (Statistical Learning for Big Data)
M. Ali Akcayol Gazi Üniversitesi
Bilgisayar Mühendisliği Bölümü
Bu dersin sunumları, “The Elements of Statistical Learning: Data Mining, Inference, and Prediction, Trevor Hastie, Robert Tibshirani, Jerome Friedman, Springer, 2017.“ ve “Mining of Massive Datasets, Jure Leskovec, Anand Rajaraman, Jeffrey David Ullman, Stanford University, 2011.” kitapları kullanılarak hazırlanmıştır.
Konular
Denetimli Öğrenmenin Temelleri
Entropi
Karar Ağaçları
ID3 Algoritması
C4.5 Algoritması
3
Denetimli (gözetimli) öğrenme, makine öğrenmesinde
sınıflandırma veya tümevarımlı (inductive) öğrenme şeklinde ifade edilir.
Denetimli öğrenmede hedef değerler (targets) ile giriş değerleri (inputs) birlikte eğitim kümesi (training set) olarak sağlanır.
Öğrenme işleminde bir kayıt kümesi kullanılır ve özellikler kümesi olarak gösterilir.
A = {A1, A2, …, A|A|}
Burada, |A| kümedeki eleman sayısını gösterir.
Denetimli Öğrenmenin Temelleri
4
Bir veri kümesi aynı zamanda hedef C özelliğine de (sınıf) sahip olabilir.
C A = dir ve aşağıdaki gibi ifade edilir:
C = {c1, c2, …, c|C|}, |C| 2
Verilen bir D veri kümesi için öğrenmedeki amaç, A’daki özellikler ile C ’deki sınıflar arasındaki ilişkiyi gösteren bir
sınıflandırma/tahmin fonksiyonu oluşturmaktır.
Elde edilen bu fonksiyon, sınıflandırma modeli, tahmin modeli veya sınıflandırıcı olarak adlandırılır.
Denetimli Öğrenmenin Temelleri
5
Örnek
Bir kredi uygulamasına yönelik veri kümesi aşağıda verilmiştir.
Denetimli Öğrenmenin Temelleri
Bir veri kümesi ile öğrenen bir model geliştirerek gelecekteki yeni müşterilere ait verilerde kullanılabilir.
Bu şekilde sınıf etiketlerinin de verildiği öğrenmeye denetimli (supervised) öğrenme denilir.
Öğrenme sürecinde kullanılan veri kümesine eğitim verisi (training data), öğrenmeden sonraki değerlendirme sürecinde kullanılan veri kümesine ise test verisi denilmektedir.
Eğitim verisinin de test verisinin de tüm sistemi temsil etme kapasitesine sahip olması gerekir.
Test verisi eğitim sürecinde görülmemiş veri (unseen data) olarak oluşturulmalıdır.
Denetimli Öğrenmenin Temelleri
7
Geliştirilen modelin doğruluk değeri (accuracy), test verisinde doğru sınıflandırma sayısıyla belirlenir.
Öğrenme süreci training ve test aşamalarından oluşur.
Denetimli Öğrenmenin Temelleri
8
Konular
Denetimli Öğrenmenin Temelleri
Entropi
Karar Ağaçları
ID3 Algoritması
C4.5 Algoritması
9
Entropi, rastgele değere sahip bir değişken veya bir sistem için belirsizlik ölçütüdür.
Enformasyon, rastsal bir olayın gerçekleşmesi halinde ortaya çıkan bilgi ölçütüdür.
Bir süreç için entropi, tüm örnekler (durumlar) tarafından içerilen enformasyonun değeridir.
Eşit olasıklı durumlara sahip sistemler yüksek belirsizliğe sahiptirler.
Shannon, bir sistemdeki durum değişikliğinde, entropideki değişimin enformasyon boyutunu tanımladığını öne sürmüştür.
Buna göre bir sistemdeki belirsizlik arttıkça, bir durum
gerçekleştiğinde elde edilecek enformasyon boyutu da artacaktır.
Entropi
Shannon bilgiyi bitlerle ifade etttiği için, logaritmayı 2 tabanında kullanmıştır ve enformasyon formülünü aşağıdaki gibi vermiştir.
P(x), xolayının gerçekleşme olasılığını gösterir.
Shannon’a göre entropi, iletilen bir mesajın taşıdığı enformasyonun değeridir.
Shannon entropisi H, aşağıdaki gibi ifade edilir:
Entropi
11
Örnek
Bir paranın havaya atılması olayı rastsal X sürecini göstersin. Yazı ve tura gelme olasılıkları eşit olduğundan elde edilecek
enformasyon,
olur. Bu olayın sonucunda 1 bitlik bilgi kazanılmıştır.
Entropi değeri ise 1 olarak bulunur.
Entropi
1 2 5 log , 0 log 1 ) ( log 1 )
(
X X P
I
12
Örnek
Aşağıdaki 8 elemanlı S kümesi verilsin.
S = {evet, hayır, evet, hayır, hayır, hayır, hayır, hayır}
“evet” ve “hayır” için olasılık,
Entropi değeri,
Entropi
81 , 0
75 , 0 log 1 . 75 , 25 0 , 0 log 1 . 25 , 0
) ( log 1 ) ) (
( log 1 ) ( )
(
2 2
2 2
p hayir p hayir
evet evet p
p S
H
75 , 8 0 ) 6 (
25 , 8 0 ) 2
(evet p hayir p
13
Konular
Denetimli Öğrenmenin Temelleri
Entropi
Karar Ağaçları
ID3 Algoritması
C4.5 Algoritması
Sınıflandırma problemleri için yaygın kullanılan yöntemdir.
Sınıflandırma doğruluğu diğer öğrenme metotlarına göre çok etkindir.
Öğrenmiş sınıflandırma modeli ağaç şeklinde gösterilir ve karar ağacı (decision tree) olarak adlandırılır.
ID3 ve C4.5, entropiye dayalı sınıflandırma algoritmalarıdır.
Twoing ve Gini, CART (Classification And Regression Trees) sınıflandırma ve regresyon ağaçlarına dayalı sınıflandırma algoritmalarıdır.
CART algoritmalarında her düğümde bir kritere göre ikili bölünme yapılır.
Karar Ağaçları
15
Konular
Denetimli Öğrenmenin Temelleri
Entropi
Karar Ağaçları
ID3 Algoritması
C4.5 Algoritması
16
ID3 (Iterative Dichotomiser 3) algoritması sadece kategorik verilerle çalışmaktadır.
Karar ağaçları çok boyutlu veriyi belirlenmiş bir niteliğe göre parçalara böler.
Her adımda verinin hangi özelliğine göre ne tür işlem yapılacağına karar verilir.
Oluşturulabilecek tüm ağaçların kombinasyonu çok fazladır.
Karar ağaçlarının en az düğüm ve yaprak ile oluşturulması için farklı algoritmalar kullanılarak bölme işlemi yapılır.
ID3 Algoritması
17
Karar ağacında entropi
Bir eğitim kümesindeki sınıf niteliğinin alacağı değerler kümesi T, her bir sınıf değeri Ciolsun.
T sınıf değerini içeren küme için Ptsınıfların olasılık dağılımı
şeklinde ifade edilir.
T sınıf kümesi için ortalama entropi değeri ise
şeklinde ifade edilir.
ID3 Algoritması
|
|
| ...,|
| ,
|
| ,|
|
|
|
| 1 2
T C T
C T
Pt C k
n
i
i
i p
p T
H
1
2( ) log )
(
Karar ağaçlarında bölümlemeye hangi düğümden başlanacağı çok önemlidir.
Uygun düğümden başlanmazsa ağacın içerisindeki düğümlerin ve yaprakların sayısı çok fazla olacaktır.
Bir risk kümesi aşağıdaki gibi tanımlansın. C1=“var”, C2=“yok”
RISK = {var, var, var, yok, var, yok, yok, var, var, yok}
|C1| = 6 |C2| = 4 p1= 6/10 = 0,6 p2= 4/10 = 0,4
ID3 Algoritması
10 , 4 10
6 PRISK
97 , 10 0 log 4 10
4 10 log 6 10 ) 6
( log )
( 2 2 2
n pi piRISK H
19
Dallanma için niteliklerin seçimi
Öncelikle sınıf niteliğinin entropisi hesaplanır.
Sonra özellik vektörlerinin sınıfa bağımlı entropileri hesaplanır.
Son olarak sınıf niteliğinin entropisinden tüm özellik vektörlerinin entropisi çıkartılarak her özellik için kazanç ölçütü hesaplanır.
En büyük kazanca sahip özellik vektörü o iterasyon için dallanma düğümü olarak seçilir.
ID3 Algoritması
n
i
i
i p
p T
H
1
2( ) log )
(
|
|
| log |
|
|
| ) |
(
1 k
i n
i k
i
k X
T X
X T
H
) , ( ) ( ) ,
(X T H T H X T
Kazanç
n
k
k
k H X
X T X
X H
1
)
| (
|
| ) |
, (
20
Örnek
Aşağıdaki tablo için karar ağacı oluşturulsun.
ID3 Algoritması
10 1 log 5 10
5 10 log 5 10 ) 5
( log )
( )
( 2 2
1
2
n
i
i
i p
p RISK
H T H
21
Örnek – devam
ID3 Algoritması
3 0 log 0 3 0 3 log 3 3 ) 3
( 2 2
YÜKSEK BORÇ H
863 , 7 0 log 2 7 2 7 log 5 7 ) 5
( 2 2
DUSUK BORÇ H
64 , 0 ) 863 , 0 10( ) 7 0 10(
3
) 10 (
) 7 10 (
) 3 , (
H BORÇYÜKSEK H BORÇDUSUK
RISK BORÇ H
36 , 0 64 , 0 1 ) ,
(BORÇ RISK Kazanç
Örnek – devam
ID3 Algoritması
0,971 5
log 3 5 3 5 log 2 5 ) 2
( 2 2
YÜKSEK GELIR H
971 , 5 0 log 2 5 2 5 log 3 5 ) 3
( 2 2
DUSUK GELIR H
971 , 0 ) 971 , 0 10( ) 5 971 , 0 10(
5
) 10 (
) 5 10 (
) 5 , (
H GELIRYÜKSEK H GELIRDUSUK RISK
GELIR H
0,029 971
, 0 1 ) ,
(GELIR RISK Kazanç
23
Örnek – devam
ID3 Algoritması
0,971 5
log 2 5 2 5 log 3 5 ) 3
( 2 2
ISVEREN STATU H
971 , 5 0 log 2 5 2 5 log 3 5 ) 3
( 2 2
DUSUK STATU H
971 , 0 ) 971 , 0 10( ) 5 971 , 0 10(
5
) 10 (
) 5 10 (
) 5 , (
H STATUYÜKSEK H STATUDUSUK RISK
STATU H
0,029 971
, 0 1 ) ,
(STATU RISK Kazanç
İlk dallanma için uygun seçim BORÇ niteliğidir.
24
Örnek – devam
ID3 Algoritması
25
Örnek – devam
Karar ağacından elde edilen kurallar
1.EĞER (BORÇ = YÜKSEK) İSE (RİSK = KÖTÜ)
2.EĞER (BORÇ = DÜŞÜK) VE (GELİR = YÜKSEK) İSE (RİSK = İYİ)
3.EĞER (BORÇ = DÜŞÜK) VE (GELİR = DÜŞÜK) VE (STATÜ = ÜCRETLİ) İSE (RİSK = İYİ)
4.EĞER (BORÇ = DÜŞÜK) VE (GELİR = DÜŞÜK) VE (STATÜ = İŞVEREN) İSE (RİSK = KÖTÜ)
ID3 Algoritması
Konular
Denetimli Öğrenmenin Temelleri
Entropi
Karar Ağaçları
ID3 Algoritması
C4.5 Algoritması
27
C4.5 ile sayısal değerlere sahip nitelikler için karar ağacı oluşturmak için Quinlan tarafından geliştirilmiştir.
ID3 algoritmasından tek farkı nümerik değerlerin kategorik değerler haline dönüştürülmesidir.
En büyük bilgi kazancını sağlayacak biçimde bir eşik değer belirlenir.
Eşik değeri belirlemek için tüm değerler sıralanır ve ikiye bölünür.
Eşik değer için [vi, vi+1] aralığının orta noktası alınabilir.
Nitelikteki değerler eşik değere göre iki kategoriye ayrılmış olur.
C4.5 Algoritması
2
1
i
ii
v t v
28
Örnek
Nitelik 2 = {65, 70, 75, 80, 85, 90, 95, 96} için eşik değer (80+85)/2 = 83 alınmıştır.
C4.5 Algoritması
29
Örnek – devam
C4.5 Algoritması
Örnek – devam
C4.5 Algoritması
940 , 14 0 log 9 14
9 14 log 5 14 ) 5
( 2 2
SINIF H
971 , 5 0 log 3 5 3 5 log 2 5 ) 2 1
( 2 2
a NITELIK H
694 , 0 971 , 140 0 5 14 971 4 , 140
5
) 1 14 (
) 5 1 14 (
) 4 1 14 (
) 5 ,
1 (
H NITELIK a H NITELIK b H NITELIK c SINIF
NITELIK H
4 0 log 0 4 0 4 log 4 4 ) 4 1
( 2 2
b NITELIK H
971 , 5 0 log 2 5 2 5 log 3 5 ) 3 1
( 2 2
c NITELIK H
31
Örnek – devam
C4.5 Algoritması
765 , 9 0 log 2 9 2 9 log 7 9 ) 7 2
( 2 2
ek NITELIK H
836 , 0 971 , 140 765 5 , 140
9
) 1 14 (
) 5 2 14 (
) 9 ,
2 (
H NITELIK ek H NITELIK b SINIF
NITELIK H
104 , 0 836 , 0 940 , 0 ) ,
2
(NITELIK SINIF Kazanç
971 , 5 0 log 3 5 3 5 log 2 5 ) 2 2
( 2 2
b NITELIK H
32
Örnek – devam
C4.5 Algoritması
6 1 log 3 6 3 6 log 3 6 ) 3 3
( 2 2
d NITELIK H
892 , 0 811 , 140 1 8 14
6
) 3 14 (
) 8 3 14 (
) 6 ,
3 (
H NITELIK d H NITELIK y SINIF
NITELIK H
048 , 0 892 , 0 940 , 0 ) ,
3
(NITELIK SINIF Kazanç
811 , 8 0 log 2 8 2 8 log 6 8 ) 6 3
( 2 2
y NITELIK H
) , 1 (
) , 2 (
) , 3
(NITELIK SINIF Kazanç NITELIK SINIF Kazanç NITELIK SINIF
Kazanç
33
Örnek – devam
C4.5 Algoritması
Örnek – devam
Karar ağacından elde edilen kurallar
1.EĞER (NİTELİK1 = a) VE (NİTELİK2 = Eşit veya Küçük) İSE (SINIF = Sınıf1) 2.EĞER (NİTELİK1 = a) VE (NİTELİK2 = Büyük) İSE (SINIF = Sınıf2)
3.EĞER (NİTELİK1 = b) İSE (SINIF = Sınıf1)
4.EĞER (NİTELİK1 = c) VE (NİTELİK3 = yanlış) İSE (SINIF = Sınıf1) 5.EĞER (NİTELİK1 = c) VE (NİTELİK3 = doğru) İSE (SINIF = Sınıf2)