Giriş: Karar Ağaçları ve Saflık İçin Gerekli

Karar ağaçları, makine öğreniminde en sezgisel ve yaygın olarak kullanılan denetimli öğrenme algoritmalarından biridir. Bir ağaç yapısı olarak karar verir, iç düğümlerin özellikleri üzerinde testler temsil eder, şubeler bu testlerin sonuçlarını temsil eder ve broşür düğümleri son tahminleri temsil eder.Bir e-postanın spam olup olmadığını sınıflandırır, karar ağaçları şeffaf, insan hazır bir yaklaşım sunar.

Bir karar ağacı inşa etme temel meydan okuması, [Dönetici:0) her bir nodedeki verileri bölmek için ile ilgili olarak, algoritma her bir bölmeden sonra en iyi özelliği ve bölünmüş değerini seçmeli, karar ağaçları giderek homojen alt kümeler yaratır.

Entropy Nedir? Bozukluk Bir Önlem

Günlük dilde, entropi rastgelelik veya kaos anlamına gelir. Karar ağaçları bağlamında, entropi, bir veri kümesindeki miktarı tahmin edilemez bir şekilde hedef değişkenine göre ölçür.Eğer hiçbir şekilde aynı sınıfa ait değilse, node isETHFLT:0pure[FLT] ve onun sıfır. Conversely, sınıflar bile entropisine ulaşırsa, entropisine ulaşır.

İkili sınıflandırma problemine (örneğin, olumlu vs. negatif) göre entropi tanımlanır:

[0]Entropy = –p+ log2 (p+) – p- log2 (p-)).

P+ pozitif örnekler ve p - = 1 - p+. Logarithm üssü 2, ikilide bazı bilgiler ölçüldüğü için kullanılır. iki sınıfdan fazla olduğunda, formül genellemeler:

[FONT=0)Entropy = – pi log2 (pi)[Dönetici:0) Tüm sınıflar için I.

Elde edilen değer 0 (mükemmel olarak saf) k sınıflar için log2 (maksimum dürtüsü) ile 10,1 numaralı bir durumda, maksimum entropi p+ = p = 0,5.

Hızlı Örnek

5 pozitif ve 5 negatif ile 10 örnek bir veri kümesi göz önünde bulundurun. Entropy = -0.5 log2 (0.5) - 0,5 log2 (0.5) = - 0.5 * (-1) - 0.5 * (-1) = 0.5 + 0.5 = 1.0. Şimdi bir veri kümesi 9 pozitif ve 1 negatif ile göz önünde bulundurun: = -0.9 log2 (0.1) ⁇ - 0.1 log2 (-0.0) ⁇ - 0.1 * (-3.3) * (-3.3 ⁇ 0.137 + 0,3 = 0,3 = 0,9.

Base 2?

Baz 2 seçimi, Claude Shannon'un bilgi teorisine dayanıyor. Bir miktar bilgi birimidir, ikili bir seçim temsil eder. üssü kullanarak 2 entropi, rastgele bir örnek sınıfınu kodlamak için gerekli olan ortalama sayıdaki küçük sayı verir.

Bilgi Kazanma: Entropy Rehberleri Nasıl Bölünüyor

Entropiyi hesaplamak yeterli değildir; hedef, en yüksek bilgi kazançlarının ayrıştırılmasından sonra ) verileri bölmek için entropide beklenen azalmayı ölçmektedir.

Bilgi kazancı için formül:

[FONT=0)Bilgi Girişi = Entropy (ebebebe) – ⁇ (|Si| / |S|) * Entropy(Si)).

S ebeveyn veri kümesinin nerede olduğu, Si bölünmeden sonra çocuk alt setleri ve |.| örnek sayısını gösterir.Topluluk, çocukların entropilerinin ağırlıklarıdır.

Worked Örnek

30 örnekle bir ebeveyni düşünün: 16 sınıf A ve 14 sınıf B. Entropy(ebebe) = (16/30) log2 (16/30) - (14/30) log2(14/30) ⁇ 0.996.

Şimdi iki çocuk oluşturan özel X'e bir bölünme düşünün: Çocuk1 20 örnektir (15 A, 5 B) → Entropi = -0.75 log2(0.75- 0.25 log2(0.25) ⁇ 0.811; Çocuk2 10 entropi (1 A, 9 B) → 0,9 = 0,9.99.

Başka bir bölünme daha yüksek IG'ye ulaşırsa, bu bölünme tercih edilir. Algoritma tüm özellikleri ve mümkün bölünmüş eşleri en iyi olanı bulmak için değerlendirir.

Bilgi Sınırları

Bilgi kazanç birçok farklı değerle özellikleri lehine eğilimlidir (örneğin, C4.5'de kullanılan benzersiz bir kimlik sütunu) çünkü bölünmenin birçok saf çocuğu oluşturur, yüksek IG'yi etkinleştirin.Bu, aşırı yüklemeye yol açabilir.Saçmama #[Dönetici:0)Gain Oran[DÜye Olmayanlar[DÜye Olmayanlar)

Gini Impurity ile Entropy Karşılaştırma

Gini impurity, CART algoritmasında kullanılan alternatif bir bölme kriteridir (Sınıflama ve Regresyon Ağaçları). Yanlış sınıflama olasılığı, node'deki sınıf dağıtımına göre rastgele olarak etiketlenmiş olsaydı.

[FONT=0)Gini = 1 – ⁇ pi2).

İkili bir durum için Gini = 2p + (1 – p+) maksimum Gini 0,5 (yaralı sınıflar) ve minimum 0 (kısır).

Her iki entropi ve Gini dürtüsü pratik olarak aynı şekilde davranıyorlar. aralarındaki seçim genellikle hesaplama verimliliğine indirgeniyor: Gini logarithms gerektirmez, bu yüzden biraz daha hızlı olabilir. Ancak, entropi, scikit-do dahil birçok kütüphaneye sahiptir; ampirik olarak, farklılıklar küçük.

Regresyon Ağaçların Entropy

Karar ağaçları da regresyon problemlerini çözebilir ( sürekli değerleri tahmin edebilir).Regresyonda, entropi uygun değildir çünkü hedef kategorize edici değildir. Bunun yerine, algoritma her bölgede hedef değerlerin homojenliğini artırır.

Regresyon için, miktar genellikle [[Dint:0)mean meydan okuma indirgeme[Dönetici:2) veya [[Dönekli mesafe azaltma[Dönetici: 3) prensibi tam olarak aynı bilgi kazancıdır: ebeveynin zayıflığını ölçmek, sonra ortalama çocukların ağırlıklarını ölçmek ve farkı en üst düzeye çıkarmak.

Tamamlanmış bir karar ağacı inşa edin: Kökten Leaf'e

Şimdi entropi ve bilgi kazanıyoruz, tipik bir karar ağacı öğrenme algoritması ( ID3, C4.5 veya CART gibi) bir ağaç inşa edelim:

  1. [FONT:0] Tüm veri kümesi ile başlayın[Dönetici: 1 ) kök node.
  2. [FONT:0)Zority[Döneticileri) veya entropi (örneğin sınıflandırma) veya varyans (Regresyon için) kullanarak kökden (Calculate the impurity[[D)
  3. [FONT:0) Her özellik için[[[Dönetici:0) Her bir özellik için, her olası bölme noktası ( sayısal özellikler, tür değerler ve ikincil değerler arasındaki orta noktaları göz önünde bulundurun; kategorik özellikler için, alt kümeleri veya bir sıcak kodlamayı düşünün.
  4. [FONT:0) Bilgi kazanmak[[Dönetici:0)[Dönetici:0) Her bir bölme için (veya oran, Gini azaltımı vs.)
  5. [FONT:0) Bölünme[Dönetici:0) Bu, en yüksek kazanç elde edene işaret eder.
  6. [FONT=0] Verilere karşı çık[[Dönemli olarak 2-5) her çocuk için tekrar tekrar tekrar tekrarlar.
  7. [FONT:0) Durma kriterleri[[Dönlendirme kriterleri[Dönlendirme kriterleri[Dönlendirme kriterleri[Dönlendirme kriterlerinin) sonsuz büyümeyi engeller: en derin derinlik, minimum örnek, minimum yetersizlik azaltılır veya hiçbir şekilde örnek bir sınıfa ait olduğunda.
  8. [FONT=0)Prune[[Dönetici:0)) Ağacı (ya da hiperparametreler veya post-pruning yoluyla, geçerli bir işlem kümesi üzerinde performans geliştirmeyen dalları kesmek için geri adım atarak).

Categorical ve Numerical Özellikler

Entropy tabanlı bölme her iki özellik türü için de çalışır, ancak yaklaşım farklıdır:

  • [[Düzücü özellikleri[[Dönetici: 0,4][/FONT=0)Numerical özellikler[[[Dönetici: 0,0)[FONT:0)Numerical özellikler[[[Döneticiler[Döneticiler[Döneticiler)[Döneticiler[Döneticiler için)[Döneticiler için: Algoritmalar her olası eşikleri test eder.
  • [[Dönetici özellikleri[[Döneticiler için]: İkili bölünmeler için, algoritma iki alt kategoriye gruplama kategorilerini düşünebilir.For multi-way bölünmüşler (as in ID3), her kategori bir şube haline gelir. ancak, multi-way bölünmüşler parçaları hızla ve çoğu modern uygulama ikili bölünmüşler için ikili bölmeler kullanır.

Eksik Değerler

Gerçek dünya veri setleri genellikle eksik değerleri içerir. Karar ağaçları onları birkaç şekilde idare edebilir:

  • [FONT:0]Surrogate bölünmüşler[[Dönem: Bir özellikte bölmek, bölünmenin en iyi mimiklerin birincil özelliği eksik olan bir yedekleme özelliği.
  • [FONT:0]Fractional instance[DÜT:1]: Her çocuğun izinsiz verilere dayanarak orantılı olarak ağırlıkları olan birden çok çocuğa örnek olarak tayin edilir.
  • [FONT:0] Basit bir dürtü[[[Dönemli: 1) Bir ağaç inşa etmeden önce, modu veya medyan ile eksik değerlerin yok edilmesi.

Birçok kütüphane, scikit-learn gibi, eksik değerleri içsel olarak ele alma ve önceden tespit edilmelerini beklemeyin. XGBoost ve LightGBM, ancak eğitim sırasında eksik değerlerin en iyi yönünü öğrenin.

Overfitting and Pruning

En yüksek derinlikte yetiştirilen bir karar ağacı, yoksul genelleşmeye yol açan gürültüyü mükemmel bir şekilde ezberlemek olacaktır. Entropy azaltım her yaprak saf olana kadar devam eder, ancak bu nadiren yarar testi performansı test eder.

Önün (Early Stopping)

Dokunuşu uygulamakla ilgili aşırılık durdurun: maksimum derinlik limiti, yaprak başına minimum sayıda örnek gerektirir veya yetersizlikte minimum azalma gerektirir (örneğin entropi azaltılmalıdır > 0.0). Bu hiperparametreler çapraz-validasyon kullanılarak ayarlanır.

Post-pruning (Cost-Complexity Pruning)

Ağacı tamamen büyütün, sonra küçük değer katan dalları kaldır. Algoritma ağaç karmaşıklığı arasında bir ticaret yapmayı düşünüyor (sabah sayısı) ve eğitim hatası. Bir karmaşık parametre (alpha) ek yaprakları. Scikit-learn'sİLFLT:0) maliyet-komblemleri ile pruning sunar.

Her iki prömleme tekniği de entropi odaklı bölünmelerin çok fazla çim olmadığını ve ağacın iyi bir şekilde yorumlanabilir kalmasını sağlar.

Ensemble Yöntemleri Entropy in Ensemble Methods

Tek bir karar ağacı dengesiz ( verilerdeki küçük değişiklikler çok farklı bir ağaçla sonuçlanabilir), entropi, ensemble yöntemlerinde temel bir konsept olarak kalır:

  • [FONT:0]Random Forests[[Dönetici: Bottrap örneklerini ve rastgele özellik alt setlerini kullanarak birçok ağaç oluşturun. Her ağaç genellikle entropi veya Gini'yi bölmek için kullanır.
  • [FONT:0]Gradient Boosting[[Dönetici: Ağaçlar önceki ağaçların doğru hatalarına uygun olarak inşa edilir. Entropy, XGBoost gibi kütüphanelerde sınıflandırmak için hedef olarak kullanılır.

Entropiyi anlamak, belirli bir bölünmenin neden herhangi bir bireysel ağaçta seçildiğini, modelleme ve önemli analiz için gerekli olduğunu yorumlamaya yardımcı olur.

Entropy kullanarak pratik değerlendirmeler

İlk olarak, logarithms kullanarak entropi hesaplamaları dikkatli bir şekilde hesaplanır - 0 log2 dağıtıcıyı 0. İkincisi, sınıf dengesizliğine karşı hassas olduğunu unutmayın; bir sınıfla% 99 daha düşük bir diğerin azınlık sınıfın önemli olup olmadığını iyi bir bölünmeye sahip olması gerekir. Bu durumda, ağırlık sınıfları veya alternatif metrikleri kullanmak (örneğin, F1) değerlendirme için entropi hesaplamaları tavsiye edilir.

Ayrıca, entropi ile karar ağaçları büyük veri setleri için hafızaya yoğun olabilir çünkü tüm özellikleri ve bölünmüş noktaları değerlendiriyorlar. Kütüphaneler, ESFLT gibi algoritmaları kullanır:0 Konsort-and-scan) O(n log n) zamanında sayısal özellikler için entropi hesaplamak olarak.

Daha derin okuma için dış referanslar:

  • [0] Wikipedia'da öğrenilen ağaç [DüzgÜT:1).
  • [FONT:0]Scikit- learning decision tree documents).
  • [FONT:0)Directus: Açık kaynak kafasız CMS[Dönetici ve karar desteği örneği)

Sınıflamanın Ötesinde: Entropy ve Information Gain in Feature Selection

Entropy sadece karar ağaçlarının içinde kullanılmaz - aynı zamanda güçler farklı seçim teknikleridir.ETHFLT:0)Mutual information[Dönetici ve hedef arasındaki ayrımı doğrudan bilgi kazanmakla ilgilidir. diğer modellere eğitim vermeden önce boyutsal bilgileri azaltmak için karşılıklı bilgileri sıralayabilirsiniz.

Örneğin, X'in hedef Y ile yüksek karşılıklı bilgilere sahip olup X'i önemli ölçüde Y'ye ilişkin belirsizlikleri azaltırsa, X. Kütüphaneleri scikit-learn gibi bölmek için elde edilen entropide azalma tam olarak azaltılır.

Entropy-Based Decision Trees Limitations of Entropy-Based Decision Trees

Onların gücüne rağmen, entropi ile inşa edilen karar ağaçları bazı dezavantajlara sahiptir:

  • [FONT:0)Enstability[DÜT:1): Küçük veri setleri, ağaç yapısını büyük ölçüde değiştirebilir.
  • [FONT:0]Bias birçok seviyedeki özelliklere doğru ilerler[DÜT:1). Bilgi yüksek kartel özellikleri kazanır.
  • [FONT:0)Poor katkı yapısı [Dönetici: Ağaçlar parçalı sabit modellerdir, bu yüzden lineer ilişkileri öğrenmek için mücadele ederler.
  • [FONT:0)Greedy doğası[[Dönetici: 1): Algoritma, küresel olarak en iyi şekilde bölünemez.

Uygulamada, entropi bazlı karar ağaçları doğru hiperparametre ayarlı ve ensemble yöntemleri birçok tabu veri kümesi için sağlam modeller sağlar.

Sonuç: Entropy, Intropy as a Foundation for Insightful Splits

Entropy, bir karar ağacı inşa ederken bir bölünmenin kalitesini değerlendirmenin bir ilke sağlar ve her adımda onu azaltmayı hedeflemek, özellik alanını verimli ve doğru bir şekilde bölmek için ağaçlar inşa edebilir.Eğer bir öğrenci öğrenme makinesi öğrenme veya uygulayıcı dağıtma modelleri, karar ağaçlarının “entropisini” nasıl ölçtüğünüzü anlamak, karşılıklı bilgi, özellik gibi daha geniş kavramlara da bağlanır.

Karar ağaçları uygularken, entropinin bir araç olduğunu unutmayın - son derece geçerli olan bir Pair değil, pruning ve tam potansiyelini kilidini açmak için benzeyen teknikler.Ve eğer Directus gibi makine öğrenimi için veri boru hatları yönetiyorsanız, toplamanıza yardımcı olabilir, organize edebilir ve karar ağaçlarının bağlı olduğu yüksek kaliteli veri setlerine hizmet edebilirsiniz.