Makine Öğreniminde Karar Ağaçları: İşlevler, Sınıflandırma, Artıları ve Eksileri

Yayınlanan: 2020-05-14

Her insan hayatında kararlar almak zorundadır. Bu kararlar duruma bağlıdır. Doğru kararı almak, bir durumla en iyi şekilde yüzleşmeye, sorunu en basit şekilde çözmeye yardımcı olur. Çocuklukta, kararlarınızın çoğu ne yediğiniz ve okulunuzla ilgili şeyler etrafında dönerdi.

Büyüdükçe, kararlarınız sadece sizin hayatınız üzerinde değil, başkalarının hayatları üzerinde de daha ciddi bir etkiye sahip olmaya başlar. Hayatınızın bir noktasında, kariyeriniz veya işinizle ilgili kararlar alacaksınız. Bu benzetme, sizi makine öğreniminde bir karar ağacı kavramıyla tanıştırmak içindir.

İçindekiler

Karar ağacı nedir?

Başlangıç ​​olarak, bir karar ağacının, kararları destekleyen tahmine dayalı bir model veya araç olduğunu söyleyelim. Ağaç benzeri bir yapıyı takip eden tasarımlar, tasarım modelleri veya temsiller kullanarak doğru çıkarımlar sağladığı bilinmektedir. Bu modelin veya makine öğrenimi modelinin birincil amacı, bir hedefin belirli özelliklerini göz önünde bulundurmak ve ardından bu nitelikler temelinde kararlar almaktır.

Bir karar ağacındaki kararların çoğu koşullu ifadeleri takip eder – if ve else. Bir karar ağacı modelinin diğerlerinden daha iyi olması için daha derin bir yapıya ve onu yöneten daha karmaşık kurallara sahip olacaktır. Makine öğrenmesinde en çok tercih edilen denetimli öğrenme modellerinden biridir ve bir çok alanda kullanılmaktadır. Bölmenin koşullara göre yapılmasını sağlamak için algoritmik teknikler göz önünde bulundurularak tasarlanmış bir akış şeması gibi görünebilir.

Bu akış şemasının yapısı oldukça basittir. Modelin inşasının temeli olarak hizmet eden bir kök düğüme sahiptir. Ardından, bazı dahili düğümler ve dallar, sırasıyla özellikleri veya testleri ve testlerin sonuçlarını gösterir. Yaprak düğüm, ilgili öznitelik üzerinde kararlar alındığında elde edilen değerlere benzer değerlere sahip bir grubu temsil eder.

Karar ağaçları, kullanımlarını öncelikle sınıflandırma ve regresyon problemlerinde bulur. Yalnızca makine öğrenimi algoritması uygulamalarında değil, aynı zamanda istatistik, veri bilimi ve diğer alanların yanı sıra veri madenciliğinde birkaç uygulamaya hizmet eden otomatikleştirilmiş tahmin modelleri oluşturmak için kullanılırlar. Bu ağaç tabanlı yapılar, hem kolayca yorumlanabilen hem de diğer tahmine dayalı modellerin çoğundan daha kararlı olan en doğru tahmin modellerinden bazılarını sunar.

Yalnızca belirli sayıda problem için iyi olan doğrusal modellerin aksine, karar ağaçlarına dayalı modeller doğrusal olmayan ilişkilerin haritalanmasında da kullanılabilir. Karar ağaçlarının bu kadar popüler olmasına şaşmamalı. Bunun çok önemli bir nedeni, nihai karar ağacı modelinin anlaşılmasının ne kadar kolay olduğudur. Her şeyin bir tahminin arkasında ne olduğunu oldukça açık bir şekilde tanımlayabilir. Ayrıca, diğerleri arasında gradyan artırma, torbalama ve rastgele ormanlar dahil olmak üzere daha gelişmiş işbirlikçi veya topluluk yöntemlerinin temelidir.

Bir karar ağacını nasıl tanımlarsınız?

Şimdi kavramın temel bir anlayışını geliştirdiğimize göre, onu sizin için tanımlayalım. Karar ağacı, hem sınıflandırma tabanlı hem de regresyon tabanlı sorunları çözmek için kullanılabilen denetimli bir makine öğrenimi algoritmasıdır. Sınıflandırma için nasıl kullanıldığını görelim.

Şu anda üzerinde çalıştığımız bir veri seti olduğunu varsayalım. Her alandaki noktalar aynı sınıfa atanacak şekilde farklı alanlara bölünebilen 2 boyutlu bir plan oluşturuyoruz. Bölmeler veya bölmeler benzersiz bir karakterle gösterilir. Bu, burada üzerinde çalıştığımız ikili bir ağaçtır.

Şimdi, bu karar ağacında önceden temsili olmayan, ancak bize verilen eğitim verileri kullanılarak oluşturulan farklı şeyler var. Bunlar, bu ağacın sahip olacağı düğüm sayısını, kenar konumlandırmasını ve yapısını içerir. Burada ağacı sıfırdan yaratmayacağız. Ağacımızın zaten orada olduğunu göz önünde bulundurarak sadece ilerleyeceğiz.

Şimdi, yeni girdi noktalarını nasıl sınıflandırabiliriz? Bunu yapmak için ağaçtan aşağı inmeliyiz. Geçiş yaparken, her düğüme ulaşmadaki veri noktası hakkında bir soru sormaya devam edeceğiz. Örneğin, bu soruyu kök düğümde sorduğumuzda, cevap ya sağa ya da sola dallanmamızı sağlar. Genel kural, sorulan sorunun doğru olması durumunda ortaya konan koşulun yerine getirilmesi durumunda, sola dallanmamız gerekir. Eğer doğru değilse, doğru dallanmamız gerekir. Koşulumuz bizi bir sol düğüme götürürse, bir giriş noktasının hangi sınıfa atanması gerektiğini biliriz.

Bir karar ağacının nasıl gösterildiğine gelince, asla unutulmaması gereken birkaç şey vardır. Bir karar ağacının içinden geçerken iki koordinatı arasında gidip gelmemiz gerektiğini söyleyen bir kural veya zorunluluk yoktur. Sadece tek bir özellik veya boyut ile gitmeyi seçebiliriz. Karar ağaçlarının herhangi bir boyuttaki bir veri seti ile kullanılabileceğini unutmamalıyız. Örneğimizde 2B verileri aldık, ancak bu, karar ağaçlarının sadece iki boyutlu veri kümeleri için olduğu anlamına gelmez.

Ödeme: İkili Ağaç Türleri

Hiç Yirmi Soru yarışmasına katıldınız mı? Karar ağaçlarının nasıl çalıştığına oldukça benzer. Nasıl olduğunu öğrenelim mi? Yirmi Soru oyununun nihai amacı, soruları cevaplayan kişinin soruları cevaplarken düşündüğü nesneyi bulmaktır. Sorulara sadece evet veya hayır olarak cevap verilebilir.

Oyunda ilerledikçe, oyun bitmeden doğru cevaba ulaşmak için hangi spesifik soruları sormanız gerektiğini önceki cevaplardan bileceksiniz. Karar ağacı, sizi daha alakalı sorular sormaya yönlendirerek nihai cevaba ulaşmanıza yardımcı olan bir dizi sorudur.

Bir şirkette konuşmak istediğiniz kişiye sesli mesajla nasıl yönlendirildiğinizi hatırlıyor musunuz? Önce bilgisayarlı asistanla konuşuyorsunuz ve ardından telefonlarınızdaki bir dizi tuşa basıyorsunuz ve ilk başta konuşmak istediğiniz kişiye ulaşmadan önce hesabınızla ilgili birkaç detay giriyorsunuz. Bu sizin için zahmetli bir deneyim olabilir, ancak çoğu şirket müşterilerinin doğru departmana ulaşmasına veya doğru kişiyle konuşmasına yardımcı olmak için karar ağaçlarını bu şekilde kullanır. Ayrıca bilmeniz gereken 6 tür denetimli öğrenmeyi de okuyun .

Karar ağacı nasıl çalışır?

Mükemmel bir karar ağacının nasıl oluşturulacağını mı düşünüyorsunuz? Daha önce de bahsettiğimiz gibi, karar ağaçları, sınıflandırma ve regresyon türlerine ait makine öğrenme problemlerini çözmek için kullanılan bir algoritma sınıfıdır. Hem kategorik hem de sürekli değişkenler için kullanılabilir.

Bu algoritmanın ilerlemek için basit bir yolu vardır - veri kümesini veya örnek verileri, aynı öznitelikleri paylaşan birlikte gruplandırılmış her bir veri kümesiyle farklı veri kümelerine böler. Karar ağaçları, farklı amaçlar için bir dizi algoritma kullanır - bölünmeyi, en önemli değişkenleri ve daha fazla alt bölüm üretebilecek en iyi sonuç değerini belirleyin.

Tipik olarak, bir karar ağacının iş akışı, verilerin eğitim ve test veri kümesine, algoritmaların uygulanmasına ve model performansının değerlendirilmesine bölünmesini içerir. Çok basit bir örnekle nasıl çalıştığını anlayalım. Bir kişinin bir iş için uygun olup olmadığını kontrol etmek istediğimizi varsayalım. Bu ağacın kökü olacak.

Şimdi, iç düğümleri oluşturacak olan ağacın özelliklerine veya niteliklerine geçiyoruz. Bu niteliklere dayanarak, kararlar alınacak - ağacın dallarının oluşumu. Burada başka bir varsayımda bulunalım. İş için doğru kabul edilen bir kişi için parametre, 5 yıl veya daha fazla deneyimdir. İlk bölme işlemi az önce belirlediğimiz bu parametre üzerinde gerçekleşecektir.

Daha fazla bölme için daha fazla parametre setine ihtiyacımız var. Bu parametreler belirli bir yaş grubuna ait olup olmaması, belirli bir dereceye sahip olup olmaması vb. ile ilgili olabilir. Sonuçlar, kökler ve dallar dışında ağacın yaprakları ile gösterilir. Yapraklar asla bölünmez ve kararları tasvir etmez. Bu ağaç, bir adayın iş için doğru olup olmadığına karar vermenize yardımcı olacaktır.

Daha önce de belirtildiği gibi, bir karar ağacının bizim için bir sorunu çözmesini sağlayan kendine özgü bir temsili vardır. Her biri belirli bir amaca hizmet eden veya belirli bir iş yapan kökleri, iç düğümleri, dalları ve yaprakları vardır. Bu adımlar, ağaç temsili yapmanıza yardımcı olacaktır:

  1. Ağacın kökü, en iyi özelliğin optimize edilmiş sürümünü içerir
  2. Uygun öznitelikleri kullanarak örnek verileri alt kümelere ayırın. Yeni alt kümelerin veya veri gruplarının aynı öznitelik için farklı değerler taşımadığından emin olun
  3. Karar ağacınızdaki her dal için yapraklar elde edene kadar yukarıdaki iki adımı tekrarlayın.

Sınıflandırma veya regresyon ağacı (CART)

Bir örnek ele alalım. Sürecin sonunda yalnızca hak eden adayların seçilmesini sağlamak için iş adaylarını önceden tanımlanmış bazı niteliklere göre sınıflandırma görevinin verildiğini hayal edin. Bir aday seçme kararı, gerçek zamanlı veya olası bir olaya bağlı olacaktır. İhtiyacımız olan tek şey, sınıflandırma için doğru kriterleri bulmak için bir karar ağacıdır. Sonuçlar, sınıflandırmanın nasıl yapıldığına bağlı olacaktır.

Sınıflandırma, hepimizin bildiği gibi, iki adım içerir. İlk adım, örnek veri seti üzerinde rastgele bir model oluşturmayı içerir. İkinci adım, tahmini içerir - ilk adımda eğitilen model, verilen verilere yanıtla ilgili bir tahmin yapmak için uygulanır.

Şimdi, hedef değişkenin gerçek bir sayı olduğu veya sürekli veriler üzerinde kararların alındığı belirli durumlar vardır. İşçilik maliyetine dayalı olarak bir öğenin fiyatına ilişkin bir tahminde bulunmanız istenebilir. Veya bir adayın maaşına önceki maaşına, becerilerine, deneyimine ve diğer ilgili bilgilere dayanarak karar vermeniz istenebilir.

Bu durumlarda hedef değerin değeri ya gerçek bir değer ya da sürekli bir veri seti ile ilişkili değer olacaktır. Bu problemleri çözmek için bir karar ağacının regresyon versiyonunu kullanacağız. Bu ağaç, bir nesnenin özellikleri üzerinde yapılan gözlemleri dikkate alacak ve modeli tahminlerde bulunmak ve mutlak anlamlı olan sürekli bir çıktı sağlamak için eğitecektir.

Şimdi sınıflandırma ve regresyon karar ağaçları arasındaki birkaç benzerlik ve farklılıktan bahsedelim. Karar ağaçları, hedef değişkenlerin doğası gereği kategorik olduğu durumlarda sınıflandırma modelleri olarak kullanılır. Eğitim veri setinin bir uçbirim düğümünün doruk noktasında aldığı değer, o belirli bölüm için bir gözlem modu aldığımızda alınan değere eşittir. Ağacın o bölümüne yeni bir gözlem eklenmesi durumunda, onu mod değeri ile değiştireceğiz ve ardından tahminde bulunacağız.

Öte yandan, hedef değişkenler sürekli bir veri kümesinin parçası olduğunda karar ağaçları regresyon modelleri olarak kullanılır. Sınıflandırma ağaçları için tartıştığımız noktada alınan değer, regresyon ağaçları söz konusu olduğunda o bölümdeki gözlemlerin ortalama değeridir.

Birkaç benzerlik de var. Her iki karar ağacı modeli de özyinelemeli bir ikili yaklaşım kullanır ve bağımsız değişkenleri birbiriyle örtüşmeyen ve kesin olan bölgelere ayırır. Bu ağaçların her ikisinde de bölünme ağacın tepesinden başlar ve gözlemler bir bölgede yer alır. Bu gözlemler değişkenleri iki kola ayırmaktadır. Bu bölünme, tamamen büyümüş bir ağaca yol açan sürekli bir süreçtir.

Okuyun: Makine Öğrenimi Proje Fikirleri

CART modeli nasıl öğrenilir?

Bir CART modeli oluşturmak için yapmanız gereken birkaç önemli şey var. Bunlar, ağacın düzgün bir şekilde oluşturulacağı şekilde giriş değişkenlerinin yanı sıra bölme noktalarının seçilmesini içerir. Maliyet fonksiyonunu azaltan açgözlü algoritma, bölme noktalarının yanı sıra girdi değişkenlerini seçmek için kullanılır.

Ağacın daraltılması, önceden tanımlanmış olan durdurma kriteri yardımı ile sonlandırılır. Durdurma kriteri, ağacın yaprak düğümlerine kaç eğitim örneği atandığı gibi herhangi bir şeyden bahsedebilir.

1. Açgözlü algoritma : İkili bir ağaç oluşturmak için giriş alanı doğru şekilde bölünmelidir. Özyinelemeli ikili bölme, bu amaç için kullanılan açgözlü algoritmadır. Farklı değerlerin sıralanmasını içeren sayısal bir yöntemdir. Daha sonra birkaç bölme noktasını denemek ve test etmek için bir maliyet fonksiyonu kullanılır. Minimum maliyetli bölme noktası seçilir. Bu yöntem, girdi değişkenlerinin yanı sıra tüm bölme noktalarını değerlendirmek için kullanılır.

2. Ağaç budama : Durdurma kriteri karar ağacınızın performansını artırır. Daha da iyi hale getirmek için, öğrendikten sonra ağacı budamayı deneyebilirsiniz. Bir karar ağacının sahip olduğu bölümlerin sayısı, onun ne kadar karmaşık olduğu hakkında çok şey söyler. Herkes diğerlerinden daha basit olan ağaçları tercih eder. Verilere fazla uymazlar ve kolayca deşifre edilebilirler.

Bir ağacı budamanın en iyi yolu, her yaprak düğümüne bakmak ve onu çıkarmanın ağacı nasıl etkileyeceğini bulmaktır. Yaprak düğümlerin kaldırılması, bu eylem maliyet fonksiyonunda bir düşüşü garanti ettiğinde gerçekleşir. Performansı daha fazla artırmanın bir yolu olmadığını düşündüğünüzde bu kaldırma işlemini durdurabilirsiniz. Kullanabileceğiniz budama yöntemleri şunları içerir:

3. Durdurma kriteri : Daha önce bahsettiğimiz açgözlü bölme yöntemi, ne zaman duracağını bilmek için bir durdurma komutu veya koşuluna sahip olmalıdır. Ortak bir kriter, her yaprak düğümün atandığı örnek sayısını almaktır. Bu sayıya ulaşılırsa, bölünme gerçekleşmeyecek ve bu düğüm son düğüm olarak kabul edilecektir.

Örneğin, önceden tanımlanmış durdurma kriterinin beş örnek olarak belirtildiğini varsayalım. Bu sayı aynı zamanda eğitim verilerine göre ağacın doğruluğu hakkında da çok şey söylüyor. Çok kesin veya kesinse, fazla takmaya neden olur, bu da düşük performans anlamına gelir.

Bir karar ağacında fazla uydurma nasıl önlenir?

Karar ağaçlarının çoğu fazla uydurmaya maruz kalır. Verileri ideal bir şekilde sınıflandırabilen bir karar ağacı oluşturabiliriz veya bölme için herhangi bir özniteliğimizin olmadığı bir durumla karşılaşabiliriz. Bu, test veri seti ile pek iyi çalışmayacaktır; ancak, eğitim veri setine uyacaktır. Bu durumdan kaçınmak için bahsedeceğimiz iki yaklaşımdan herhangi birini takip edebilirsiniz.

Ağacı ya çok büyükse budayabilir ya da aşırı uyum durumuna ulaşmadan büyümesini durdurabilirsiniz. Çoğu durumda, derinlikten, katman sayısından ve sahip olabileceği diğer şeylerden bahseden, buklenin büyümesini kontrol etmek için tanımlanmış bir sınır vardır. Ağacın eğitilmesi gereken veri seti, bir test veri seti ve bir eğitim veri seti olarak bölünecektir. Bu veri setlerinin her ikisi de eğitim veri seti bazında maksimum derinliğe sahip olacak ve test veri setine karşı test edilecektir. Bu yaklaşımla birlikte çapraz doğrulamayı da kullanabilirsiniz.

Ağacı budamayı seçtiğinizde, ağacın budanmış sürümlerini orijinal sürüme karşı test edersiniz. Budanan ağaç, test veri kümesine karşı test söz konusu olduğunda sürümünden daha iyi sonuç verirse, bu durum devam ettiği sürece ağaç için yapraklar mevcut olmayacaktır.

Daha fazla bilgi edinin: R'de Karar Ağacı

Karar ağaçları yaklaşımının avantajları

  1. Sürekli ve kategorik verilerle kullanılabilir.
  2. Birden fazla çıktı sağlayabilir
  3. Kesin sonuçları yorumlayabilir ve ağaçların güvenilirliğini ölçebilir ve güvenebilirsiniz.
  4. Bu yöntemle, verileri keşfedebilir, önemli değişkenleri bulabilir ve hedef değişkenleri güçlendirmek için farklı değişkenler arasındaki ilişkileri bulabilir ve çok daha kısa sürede yeni özellikler oluşturabilirsiniz.
  5. Başkalarına anlamak ve açıklamak kolaydır
  6. Verileri temizlemede yardımcı olur. Diğer yöntemlere göre belirli bir noktadan sonra eksik değerlerin ve aykırı değerlerin etkisi olmadığı için fazla zaman almaz.
  7. Karar ağaçlarının verimliliği ve performansı, özellikler arasındaki doğrusal olmayan ilişkilerden etkilenmez.
  8. Eksik değer değişimi, veri normalleştirme ve daha fazlasına ihtiyaç duymadığından verileri hazırlamak fazla zaman almaz.
  9. Parametrik olmayan bir yaklaşımdır. Sınıflandırıcıların tasarımı ve uzay düzenlemesi ile ilgisi yoktur.

Karar ağaçlarının dezavantajları

  1. Bazı kullanıcılar, kendi beğenilerine göre bile çok karmaşık karar ağaçları oluşturabilir. Bu ağaçlar, daha basit ağaçların yaptığı gibi verileri genelleştirmez.
  2. Önyargılı ağaçlar genellikle belirli sınıfların egemenliği nedeniyle oluşturulur. Bu nedenle örnek verileri kullanılmadan önce dengelemek çok önemlidir.
  3. Bazen bu ağaçlar çok kararlı değildir. Veri varyasyonları, faturaya uymayan bir ağacın oluşturulmasına neden olabilir. Bu anomaliye varyans denir. Takviye ve torbalama kullanılarak halledilebilir.
  4. Açgözlü algoritmalarla en iyi karar ağacını elde etmeyi bekleyemezsiniz. Bu sorunu ortadan kaldırmak için birden fazla ağacı eğitebilirsiniz.

Çözüm

Bu blog, bir öğrencinin karar ağaçları hakkında bilmesi gereken tüm önemli şeyleri tartışıyor. Bu blogu okuduktan sonra, konsepti daha iyi anlayacaksınız ve onu gerçek hayatta uygulamak için daha iyi bir konumda olacaksınız.

Makine öğrenimi ve yapay zeka hakkında daha fazla bilgi edinmek istiyorsanız, çalışan profesyoneller için tasarlanmış ve 450+ saat zorlu eğitim, 30'dan fazla vaka çalışması ve ödev sunan IIIT-B & upGrad'ın Makine Öğrenimi ve Yapay Zeka alanında PG Diplomasına göz atın. IIIT-B Mezun statüsü, 5+ pratik uygulamalı bitirme projesi ve en iyi firmalarla iş yardımı.

Karar ağacı algoritması ne için kullanılır?

Denetimli öğrenme algoritmaları ailesinin bir parçası olan karar ağaçları, en yaygın kullanılan sınıflandırma algoritmalarından biridir. Popülerliğini açıklayan, anlaşılması ve yorumlanması çok kolaydır. Karar ağaçları, geçmiş eğitim verilerinden türetilen basit karar talimatlarına dayalı olarak hedef değişkenlerin değerlerini tahmin edebilen eğitim modelleri geliştirmek için kullanılabilir. Karar ağaçları algoritmasının en iyi yanı, diğer denetimli öğrenme algoritmalarının uygulanamadığı sınıflandırma ve regresyon problemlerini çözmek için verimli bir şekilde kullanılabilmesidir. Hedef değişkenin türüne göre farklı türde karar ağaçları kullanılabilir.

Denetimli öğrenme algoritmaları ailesinin bir parçası olan karar ağaçları, en yaygın kullanılan sınıflandırma algoritmalarından biridir. Popülerliğini açıklayan, anlaşılması ve yorumlanması çok kolaydır. Karar ağaçları, geçmiş eğitim verilerinden türetilen basit karar talimatlarına dayalı olarak hedef değişkenlerin değerlerini tahmin edebilen eğitim modelleri geliştirmek için kullanılabilir. Karar ağaçları algoritmasının en iyi yanı, diğer denetimli öğrenme algoritmalarının uygulanamadığı sınıflandırma ve regresyon problemlerini çözmek için verimli bir şekilde kullanılabilmesidir. Hedef değişkenin türüne göre farklı türde karar ağaçları kullanılabilir.

AI'da karar ağaçları algoritması çok çeşitli uygulamalarla birlikte gelir. Karar ağaçlarının en ilginç uygulamalarından bazıları, şirketler için potansiyel büyüme fırsatlarının tarihsel veriler temelinde değerlendirilmesini içerir. Bunun için geçmiş satış verileri, karar ağaçlarının daha fazla iş genişletmesi ve büyümesi için olası yolları göstermesine yardımcı olabilir. Karar ağaçları, demografik bilgileri kullanarak potansiyel müşterileri bulmak için de kullanılabilir. Ayrıca, finansal kuruluşlar, müşterilerin ve kredi borcunu ödeyemeyenlerin kredibilitesini değerlendirmek için tahmin modelleri oluşturmak için karar ağaçları da uygulayabilir.

Yapay Zeka'da başka hangi algoritmalar kullanılıyor?

Yapay Zekada kullanılan algoritmalar genel olarak üç bölüme ayrılabilir – Regresyon Algoritmaları, Sınıflandırma Algoritmaları ve Kümeleme Algoritmaları. Sınıflandırma algoritmaları, veri kümelerini belirli bir şekilde sınıflandırmak için kullanılır. Kümeleme algoritmaları, belirli veri noktaları arasındaki farklılıkları ve benzerlikleri bulmak için tüm veri kümelerine uygulanır. Büyük bir müşteri grubu arasında aynı yaştaki insanları belirtmek için kullanılabilir. Regresyon algoritmaları, girdi verilerine bağlı olarak gelecekteki sonuçları tahmin etmede yardımcı olur. Örneğin, hava durumunu tahmin etmek için modeller tasarlamak için regresyon algoritmaları kullanılabilir.