Nano'nun Günlüğü…

Ideallerimi gerceklestirmek icin arastiriyorum, Unutmamak icin yaziyorum!

  • Bulundugunuz Sayfa: 
  • Ana Sayfa
  • Karar Agaclari

Karar Agaclari

Gönderim Haziran 1st, 2014

patregKarar agaclari, Pek cok problemin cozumu icin veriler uzerinde istatistik analizleri onemli bir metodtur. Bazi durumlarda istatistik kullanimi sinirli oldugundan dolayi akilli veri analizi yontemlerini iceren algoritmalar ortaya cikmistir. Ancak bu yontemlerin bazilari zayiftir.

Karar Agaclari

Pek cok problemin cozumu icin veriler uzerinde istatistik analizleri onemli bir metodtur. Bazi durumlarda istatistik kullanimi sinirli oldugundan dolayi akilli veri analizi yontemlerini iceren algoritmalar ortaya cikmistir. Ancak bu yontemlerin bazilari zayiftir. Bu zayifligin soz konusu olmayan bir yaklasim turu ise karar agaclaridir. Karar agaclari, hedef sonuclarinin yaklasik degerlerini hesaplamak icin kullanilan ve ogrenme verilerinin karar agaci ile gosterildigi bir yontemdir.
Karar agaclari icin kullanilacak karar agaci algoritmasi iki asamadan olusmaktadir;
1. Agac Olusturma ; Butun ogrenme verilerine sahip olunan bir kumedir.
2. Agac Budama ; Butun ogrenme verilerinin sahip oldugu kumeye ait olan ve test kumesinde hataya sebep olan dallarin agactan budanmasi, silinmesidir.
Tum bunlara baktigimizda, aslinda kesin bir optimum sonuc vermeyecektir. Bunun icin, gerekli optimum sonuca yaklasilmasinda kullanilan kurallar bulunmaktadir.
Karar Agaci Algoritmasinin Sahip Oldugu Adimlar;
1. Karar agacinin sonuc olarak hangi karari alacagi belirlenir.
2. Kurmus olacaginiz sistemin Entropy’si hesaplanir.
3. Agacin Root’u yani koku belirlenir. Bunu belirleyebilmek icin Information Gain hesaplanir. Yani bilgi kazanci, en yuksek olan agacin en ustteki yerini alir.

Entropy : Rastgeleligin, belirsizligin ve beklenmeyen durumun ortaya cikma olasiligini gosterir.
S’ i bir dataset olarak kabul edelim. S dataseti icerisinde bulunan ornekler ayni sinifa ait ise entropy degeri 0, ornekler esit dagilmissa entropy 1 degerine yakin olacaktir. Ornekler siniflar arasinda rastgele dagilmissa 0<entropy<1 degeri beklenmektedir.

Entropy – Ornek I

Entropy belirsizligi hesaplanacak olursa;
E(S) = – ( X1 log2 X1 + X2 log2 X2 + X3 log2 X3)
E(S) = – ( 3/6 log2 3/6 + 2/6 log2 2/6 + 1/6 log2 1/6)
E(S) = 1,4591

Entropy – Ornek II

Entropy belirsizligi hesaplanacak olursa;
S uzayi = {Evet, Evet, Hayir, Hayir, Hayir, Hayir, Hayir, Hayir}
P (Evet) = Evet / S ve P (Hayir) = Hayir / S seklinde olasiliklari hesaplanir.
P (Evet) = 2/8 = 0.25 ve P (Hayir) = 6/8 = 0.75
E(S) = – ( P (Evet) log2 P (Evet) + P (Hayir) log2 P (Hayir) )
E(S) = – ( 0.25 log2 0.25 + 0.75 log2 0.75 )
E(S) = 0.97

Information Gain (Bilgi Kazanci) : Karar agaci yontemlerinde en ayirt edici ozelligi belirlemek amactir. Bunun icin de, her ozellik icin bilgi kazanci hesaplanir. Bu hesaplama, Entropy hesabimi kullanilmaktadir.
Her ozelligin bilgi kazancinda dogal olarak bolunmelere neden olacaktir. Entropy bu bolunmelerin olculerini azaltacagindan dolayi en iyi azaltmayi saglayan bolunme basarili olarak secilir.

Gini Indexleme : Dugum homojenliginin olcumunde kullanilan bir yontemdir. Kayitlarin butun siniflar arasinda esit olarak dagilmasiyla ilgilenir.
Bir t dugumundeki j sinifina ait bagil olasilik hesaplama ve buna bagli olarak gini tabanli bolunme formulleri soyledir (ni = child kayitlari);
ve    formulleri kullanilir.

Gini Indexleme – Ornek I
Tek Oznitelikli C1 ve C2 isminde iki sinif olsun. Bu siniflardaki verilerin homojen dagilimlari sonucunda toplamda 6 ornek bulunmaktadir. Siniftaki orneklerin sayisi esit olana kadar dagilim gerceklesmektedir.

P(c1) = 0/6
P(c2 ) = 6/6
Gini = 1 – P(c1)2 – P(c2)2
Gini = 1 – o2 – 12
Gini = 0    P(c1) = 1/6
P(c2 ) = 5/6
Gini = 1 – P(c1)2 – P(c2)2
Gini = 1 –(1/6)2 – (5/6)2
Gini = 0.278    P(c1) = 2/6
P(c2 ) = 4/6
Gini = 1 – P(c1)2 – P(c2)2
Gini = 1 –(2/6)2 – (4/6)2
Gini = 0.444    P(c1) = 3/6
P(c2 ) = 3/6
Gini = 1 – P(c1)2 – P(c2)2
Gini = 1 – (3/6)2 – (3/6)2
Gini = 0.500

Gini Indexleme – Ornek II
Kayitlarda ikiser oznitelik oldugu dusunulurse (Asagidaki formuller kullanilir);

Gini (N1) = 1 – P(c1)2 – P(c2)2
Gini (N1) = 1 – (5/7)2 – (2/7)2
Gini (N1) = 0.408    Gini (N2) = 1 – P(c1)2 – P(c2)2
Gini (N2) = 1 – (1/5)2 – (4/5 )2
Gini (N2) = 0.320    Gini (Children) = ?(Children / Parent) * Gini(N)
Gini (Children) = 7/12 * 0.408 + 5/12 * 0.320
Gini (Children) = 0.371

Keyifli Calismalar Dilerim.

Etiketler: , , , ,
Bulundugu Konu Etiketleri Akademik, Matlab, Oruntu Tanima/ Pattern Recognition, Yazilim |

Lutfen Yorumlarinizi Burdan Ulastiriniz!...

You must be Kullanici Adiniz : to post a comment.

Istatistik

  • 1 Uye
  • 334 Yazi
  • 16 Yorum Var