Bizimle iletişime geçin

AI 101

Karar Ağacı nedir?

mm

Karar Ağacı nedir?

A karar ağacı hem regresyon hem de sınıflandırma görevleri için kullanılan kullanışlı bir makine öğrenme algoritmasıdır. "Karar ağacı" adı, algoritmanın, veriler daha sonra sınıflandırılacak tek örneklere bölünene kadar veri kümesini gittikçe daha küçük parçalara bölmeye devam etmesinden gelir. Algoritmanın sonuçlarını görselleştirirseniz, kategorilerin bölünme şekli bir ağaca ve birçok yaprağa benzeyecektir.

Bu, karar ağacının hızlı bir tanımıdır, ancak karar ağaçlarının nasıl çalıştığına derinlemesine bir dalış yapalım. Karar ağaçlarının nasıl çalıştığını ve kullanım durumlarını daha iyi anlamak, makine öğrenimi projeleriniz sırasında bunları ne zaman kullanacağınızı bilmenize yardımcı olacaktır.

Karar Ağacı Formatı

Bir karar ağacı bir akış şeması gibi. Bir akış şemasını kullanmak için, grafiğin başlangıç ​​noktasından veya kökünden başlarsınız ve ardından o başlangıç ​​düğümünün filtreleme kriterlerini nasıl yanıtladığınıza bağlı olarak bir sonraki olası düğümlerden birine geçersiniz. Bu süreç bir sona ulaşılana kadar tekrarlanır.

Karar ağaçları, ağaçtaki her dahili düğümün bir tür test/filtreleme kriteri olmasıyla temelde aynı şekilde çalışır. Ağacın uç noktaları olan dış taraftaki düğümler, söz konusu veri noktasının etiketleridir ve bunlara “yaprak” adı verilir. İç düğümlerden bir sonraki düğüme giden dallar, özellikler veya özelliklerin birleşimidir. Veri noktalarını sınıflandırmak için kullanılan kurallar, kökten yapraklara uzanan yollardır.

Karar Ağaçları için Algoritmalar

Karar ağaçları, veri setini farklı kriterlere göre ayrı veri noktalarına bölen algoritmik bir yaklaşımla çalışır. Bu bölmeler, farklı değişkenlerle veya veri kümesinin farklı özellikleriyle yapılır. Örneğin, amaç bir köpeğin veya kedinin giriş özellikleri tarafından tanımlanıp tanımlanmadığını belirlemekse, verilerin bölündüğü değişkenler "pençeler" ve "havlamalar" gibi şeyler olabilir.

Peki, verileri dallara ve yapraklara gerçekten bölmek için hangi algoritmalar kullanılır? Bir ağacı bölmek için kullanılabilecek çeşitli yöntemler vardır, ancak en yaygın bölme yöntemi muhtemelen "" olarak adlandırılan bir tekniktir.özyinelemeli ikili bölme”. Bu bölme yöntemini gerçekleştirirken, işlem kökte başlar ve veri kümesindeki özniteliklerin sayısı olası bölmelerin sayısını temsil eder. Olası her ayırmanın ne kadar doğruluğa mal olacağını belirlemek için bir işlev kullanılır ve bölme, doğruluğu en az feda eden kriterler kullanılarak yapılır. Bu süreç yinelemeli olarak yürütülür ve aynı genel strateji kullanılarak alt gruplar oluşturulur.

Bölünmenin maliyetini belirlemek için bir maliyet fonksiyonu kullanılır. Regresyon görevleri ve sınıflandırma görevleri için farklı bir maliyet fonksiyonu kullanılır. Her iki maliyet fonksiyonunun amacı, hangi dalların en benzer yanıt değerlerine veya en homojen dallara sahip olduğunu belirlemektir. Belirli bir sınıfın test verilerinin belirli yolları izlemesini istediğinizi düşünün ve bu sezgisel olarak mantıklıdır.

Yinelemeli ikili bölme için regresyon maliyet fonksiyonu açısından, maliyeti hesaplamak için kullanılan algoritma aşağıdaki gibidir:

toplam(y – tahmin)^2

Belirli bir veri noktası grubu için tahmin, o grup için eğitim verilerinin yanıtlarının ortalamasıdır. Olası tüm ayırmaların maliyetini belirlemek için tüm veri noktaları maliyet fonksiyonundan geçirilir ve en düşük maliyetli bölme seçilir.

Sınıflandırma için maliyet fonksiyonu ile ilgili olarak, fonksiyon aşağıdaki gibidir:

G = toplam(pk * (1 – pk))

Bu Gini puanıdır ve bölünmeden kaynaklanan gruplarda farklı sınıflardan kaç örnek olduğuna bağlı olarak bir bölünmenin etkililiğinin bir ölçümüdür. Başka bir deyişle, bölünmeden sonra grupların ne kadar karışık olduğunu ölçer. Optimal bir bölünme, bölünmeden kaynaklanan tüm grupların yalnızca bir sınıftan gelen girdilerden oluşmasıdır. Optimal bir bölme oluşturulmuşsa, "pk" değeri 0 veya 1 olacaktır ve G, sıfıra eşit olacaktır. İkili sınıflandırma durumunda, en kötü durum ayrımının, bölmedeki sınıfların 50-50 temsilinin olduğu durum olduğunu tahmin edebilirsiniz. Bu durumda “pk” değeri 0.5 olur ve G de 0.5 olur.

Tüm veri noktaları yaprak haline getirilip sınıflandırıldığında bölme işlemi sonlandırılır. Ancak, ağacın büyümesini erken durdurmak isteyebilirsiniz. Büyük, karmaşık ağaçlar aşırı uyuma eğilimlidir, ancak bununla mücadele etmek için birkaç farklı yöntem kullanılabilir. Fazla uydurmayı azaltmanın bir yöntemi, yaprak oluşturmak için kullanılacak minimum veri noktası sayısını belirlemektir. Aşırı sığmayı kontrol etmenin başka bir yöntemi, ağacı, bir yolun kökten yaprağa ne kadar uzayabileceğini kontrol eden belirli bir maksimum derinlikle sınırlamaktır.

Karar ağaçlarının oluşturulmasında yer alan başka bir süreç budamadır. Budama, tahmin gücü az/model için çok az önemi olan özellikleri içeren dalları ayıklayarak bir karar ağacının performansını artırmaya yardımcı olabilir. Bu şekilde, ağacın karmaşıklığı azaltılır, aşırı uyum olasılığı azalır ve modelin öngörüsel faydası artar.

Budama yapılırken, işlem ağacın tepesinden veya ağacın altından başlayabilir. Ancak budamanın en kolay yöntemi yapraklardan başlamak ve o yaprakta en yaygın sınıfı içeren düğümü bırakmaya çalışmaktır. Bu yapıldığında modelin doğruluğu bozulmazsa değişiklik korunur. Budamayı gerçekleştirmek için kullanılan başka teknikler de vardır, ancak yukarıda açıklanan yöntem - azaltılmış hata budama - muhtemelen en yaygın karar ağacı budama yöntemidir.

Karar Ağaçlarını Kullanmayla İlgili Hususlar

Karar ağaçları genellikle yararlıdır sınıflandırmanın yapılması gerektiğinde, ancak hesaplama süresi önemli bir kısıtlama olduğunda. Karar ağaçları, seçilen veri kümelerindeki hangi özelliklerin en fazla tahmin gücüne sahip olduğunu netleştirebilir. Ayrıca, verileri sınıflandırmak için kullanılan kuralların yorumlanmasının zor olabileceği birçok makine öğrenimi algoritmasının aksine, karar ağaçları yorumlanabilir kurallar oluşturabilir. Karar ağaçları ayrıca hem kategorik hem de sürekli değişkenleri kullanabilir, bu da bu değişken türlerinden yalnızca birini işleyebilen algoritmalara kıyasla daha az ön işleme gerektiği anlamına gelir.

Karar ağaçları, sürekli niteliklerin değerlerini belirlemek için kullanıldığında çok iyi performans göstermeme eğilimindedir. Karar ağaçlarının bir başka kısıtlılığı da, sınıflandırma yapılırken az sayıda eğitim örneği ancak çok sayıda sınıf varsa, karar ağacının hatalı olma eğiliminde olmasıdır.

Uzmanlık alanlarına sahip blogcu ve programcı Makine öğrenmesi ve Derin Öğrenme konular. Daniel, başkalarının yapay zekanın gücünü toplumsal fayda için kullanmasına yardım etmeyi umuyor.