Yapay zeka temelleri

Karar Ağacı Nedir?

mm
Unite.AI sitesini Google'daki tercih ettiğiniz kaynaklara ekleyin

Karar Ağacı Nedir?

Bir karar ağacı , hem regresyon hem de sınıflandırma görevleri için kullanılan yararlı bir makine öğrenimi algoritmasıdır. “Karar ağacı” adı, algoritmanın verisetini sürekli olarak daha küçük parçalara ayırması ve verilerin tek örnekler halinde bölünmesi nedeniyle gelir. Algoritmanın sonuçlarını görselleştirdiğinizde, kategorilerin bölünme şekli bir ağaca ve birçok yaprağa benzer.

Bu, bir karar ağacının kısa bir tanımlaması, ancak karar ağaçlarının nasıl çalıştığına dair daha derin bir anlayışa dalalım. Karar ağaçlarının nasıl çalıştığını ve kullanım örneklerini anlamak, makine öğrenimi projelerinizde bunları ne zaman kullanacağınızı bilmenize yardımcı olacaktır.

Karar Ağacının Formatı

Bir karar ağacı, bir akış şemasına benzer. Bir akış şemasını kullanmak için, şemanın başlangıç noktasında veya kökünde başlar ve ardından başlangıç düğümünün filtreleme kriterlerine göre cevap verdiğiniz şekilde, bir sonraki olası düğüme geçersiniz. Bu işlem, bir son bulunana kadar tekrarlanır.

Karar ağaçları esasen aynı şekilde çalışır, ağaçtaki her iç düğüm bazı türden bir test veya filtreleme kriteridir. Ağacın dışındaki düğümler, yani uç noktaları, ilgili veri noktasının etiketleri ve “yapraklar” olarak adlandırılır. İç düğümlerden bir sonraki düğüme giden dallar, özellikler veya özelliklerin birleşimleridir. Veri noktalarını sınıflandırmak için kullanılan kurallar, kökten yapraklara kadar uzanan yollardır.

Karar Ağaçları için Algoritmalar

Karar ağaçları, verisetini farklı kriterlere göre bireysel veri noktalarına ayırarak çalışan algoritmik bir yaklaşım kullanır. Bu bölünmeler, verisetinin farklı değişkenleri veya özellikleriyle yapılır. Örneğin, girdilerle bir köpeğin veya kedinin tanımlanıp tanımlanmadığını belirlemek istiyorsanız, verilerin bölünmesi için kullanılan değişkenler “pençeler” ve “havlar” gibi şeyler olabilir.

Verileri dallara ve yapraklara ayırmak için hangi algoritmalar kullanılır? Verileri bir ağaca bölmek için çeşitli yöntemler kullanılabilir, ancak en yaygın bölme yöntemi muhtemelen “özyinelemeli ikili bölme” olarak adlandırılan bir tekniğidir. Bu bölme yöntemini uygularken, işlem kökten başlar ve verisetindeki özelliklerin sayısı, olası bölme sayısını temsil eder. Her olası bölmenin ne kadar doğruluk kaybına neden olacağına karar vermek için bir fonksiyon kullanılır ve bölme, doğruluk kaybını en aza indiren kriterlere göre yapılır. Bu işlem özyinelemeli olarak tekrarlanır ve alt gruplar aynı genel strateji kullanılarak oluşturulur.

Bölmenin maliyetini belirlemek için bir maliyet fonksiyonu kullanılır. Regresyon görevleri ve sınıflandırma görevleri için farklı maliyet fonksiyonları kullanılır. Her iki maliyet fonksiyonunun amacı, en benzer yanıt değerlerine sahip dalları veya en homojen dalları belirlemektir. Bir sınıfın test verilerinin belirli yollarda ilerlemesini istiyorsanız, bu mantıklıdır.

Özyinelemeli ikili bölme için regresyon maliyet fonksiyonu, aşağıdaki gibi hesaplanır:

sum(y – prediction)^2

Bir grup veri noktası için tahmin, o gruptaki eğitim verilerinin yanıtlarının ortalamasıdır. Tüm veri noktaları maliyet fonksiyonuna göre çalıştırılır ve tüm olası bölme işlemlerinin maliyeti belirlenir ve en düşük maliyetli bölme seçilir.

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

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

Bu, Gini puanıdır ve bir bölmenin etkinliğini, bölme sonucu oluşan gruplardaki farklı sınıflardan örneklerin sayısına göre ölçen bir ölçüttür. Başka bir deyişle, grupların bölünmeden sonra ne kadar karışık olduğunu ölçer. İdeal bir bölme, bölme sonucu oluşan grupların yalnızca bir sınıftan örnekler içermesi durumunda oluşur. İdeal bir bölme yaratıldığında, “pk” değeri 0 veya 1 olur ve G 0’a eşit olur. İkili sınıflandırma durumunda, en kötü bölme, grupların her birinde sınıfların %50-%50 temsil edildiği durumdur. Bu durumda, “pk” değeri 0,5 olur ve G de 0,5 olur.

Bölme işlemi, tüm veri noktalarının yapraklara dönüştürülmesi ve sınıflandırılmasıyla sona erer. Ancak, ağacın büyümesini erken durdurmak isteyebilirsiniz. Büyük ve karmaşık ağaçlar aşırı uydurmaya eğilimlidir, ancak bunu önlemek için çeşitli yöntemler kullanılabilir. Ağacın büyümesini kontrol etmenin bir yolu, bir yaprağı oluşturmak için kullanılacak minimum veri noktası sayısını belirtmektir. Aşırı uydurmayı kontrol etmenin bir başka yolu, ağacın maksimum derinliğini sınırlamaktır, bu da kökten bir yaprağa kadar uzanan bir yolun ne kadar uzun olabileceğini kontrol eder.

Karar ağaçlarının oluşturulmasındaki bir başka işlem de budamadır. Budama, karar ağacının performansını, ağaçtaki dalları ve dallardaki özelliklerin önemsizliğini azaltarak artırabilir. Bu şekilde, ağacın karmaşıklığı azaltılır, aşırı uydurmaya karşı daha az eğilimlidir ve modelin öngörme yeteneği artırılır.

Budama işlemini gerçekleştirirken, işlem ağacın tepesinden veya dibinden başlayabilir. Ancak, budamayı gerçekleştirmenin en kolay yolu, yapraklardan başlamak ve her yaprağın en yaygın sınıfı içeren düğümü düşürmeye çalışmaktır. Modelin doğruluğu bu değişiklik yapıldığında bozulmazsa, değişiklik korunur. Budama için kullanılan diğer teknikler vardır, ancak yukarıda açıklanan yöntem – hata azaltma budaması – muhtemelen en yaygın budama yöntemidir.

Karar Ağaçlarını Kullanma Konuları

Karar ağaçları sıkça kullanılır cuando sınıflandırma yapılması gerekir ancak hesaplanma zamanı önemli bir kısıtlamadır. Karar ağaçları, seçilen verisetlerindeki hangi özelliklerin en güçlü öngörme gücüne sahip olduğunu açıklar. Ayrıca, birçok makine öğrenimi algoritmasında kullanılan kuralların veri sınıflandırması için zor anlaşılır olabileceği durumların aksine, karar ağaçları anlaşılabilir kurallar üretebilir. Karar ağaçları hem kategorik hem de sürekli değişkenleri kullanabilir, bu nedenle diğer algoritmaların yalnızca birini işleyebileceği durumlarla karşılaştırıldığında daha az ön işleme gerektirir.

Karar ağaçları, sürekli özniteliklerin değerlerini belirlemede genellikle iyi performans göstermez. Karar ağaçlarının bir başka sınırlaması, sınıflandırma yapılırken, eğitim örneklerinin az ve sınıfların çok olduğu durumlarda karar ağacının yanlış olabilmesidir.

Blog yazarı ve programcı, Machine Learning ve Deep Learning konularında uzmanlık sahibi. Daniel, başkalarının AI'nin gücünü sosyal fayda için kullanmasına yardımcı olmak umudu taşıyor.