"Tüm Çerezleri Kabul Et" seçeneğine tıklayarak, sitede gezinmeyi geliştirmek, site kullanımını analiz etmek ve pazarlama çabalarımıza yardımcı olmak için cihazınızda çerezlerin saklanmasını kabul edersiniz. Daha fazla bilgi
Çerez Ayarları
"Tüm Çerezleri Kabul Et" seçeneğine tıklayarak, sitede gezinmeyi geliştirmek, site kullanımını analiz etmek ve pazarlama çabalarımıza yardımcı olmak için cihazınızda çerezlerin saklanmasını kabul edersiniz. Daha fazla bilgi
Daha doğru ve istikrarlı tahminler sunmak için toplu öğrenmenin yapay zeka model performansını torbalama, güçlendirme ve istifleme gibi tekniklerle nasıl artırdığını görün.
Öneri motorları ve dolandırıcılık tespit sistemleri gibi yapay zeka yenilikleri, verilere dayalı tahminler ve kararlar almak için makine öğrenimi algoritmalarına ve modellerine dayanır. Bu modeller kalıpları belirleyebilir, eğilimleri tahmin edebilir ve karmaşık görevlerin otomatikleştirilmesine yardımcı olabilir.
Ancak tek bir model gerçek dünya verilerindeki tüm ayrıntıları yakalamakta zorlanabilir. Bazı durumlarda iyi performans gösterirken, yeni işlem türlerini kaçıran bir dolandırıcılık tespit modeli gibi diğer durumlarda yetersiz kalabilir.
Bu sınırlama, yapay zeka mühendislerinin makine öğrenimi modellerini oluştururken ve dağıtırken sıklıkla karşılaştıkları bir durumdur. Bazı modeller eğitim verilerini çok yakından öğrenerek aşırı uyum sağlarken, diğerleri önemli kalıpları kaçırarak yetersiz uyum sağlar. Topluluk öğren imi, temel öğreniciler olarak bilinen birden fazla modeli tek ve daha güçlü bir sistemde birleştirerek bu zorlukların üstesinden gelmeye yardımcı olan bir yapay zeka tekniğidir.
Bunu, bir sorunu çözmek için birlikte çalışan uzmanlardan oluşan bir ekip gibi düşünebilirsiniz. Bu makalede, toplu öğrenmenin ne olduğunu, nasıl çalıştığını ve nerelerde kullanılabileceğini inceleyeceğiz. Hadi başlayalım!
Topluluk öğrenmesi nedir?
Topluluk öğrenmesi, aynı sorunu çözmek ve tek, iyileştirilmiş bir sonuç üretmek için birden fazla modeli birleştiren bir dizi tekniği ifade eder. Hem denetimli öğrenmede (modellerin etiketli verilerden öğrendiği) hem de denetimsiz öğrenmede (modellerin etiketsiz verilerdeki örüntüleri bulduğu) uygulanabilir.
Tahmin yapmak için tek bir modele güvenmek yerine, bir topluluk, her biri verilere kendi yöntemleriyle bakan birkaç model kullanır. Çıktıları birleştirildiğinde, sonuç genellikle herhangi bir modelin tek başına elde edebileceğinden daha doğru, istikrarlı ve genelleştirilebilir olur.
Bunu aynı sorunu ele alan bir analistler paneliyle karşılaştırabilirsiniz. Her analist veya bireysel model verileri farklı yorumlar.
Biri örüntülere, diğeri anormalliklere ve bir başkası da bağlama odaklanabilir. Grup, bakış açılarını bir araya getirerek, herhangi bir bireysel yargıdan daha dengeli ve güvenilir bir karar verebilir.
Bu yaklaşım aynı zamanda makine öğrenimindeki en büyük iki zorluğun üstesinden gelmeye yardımcı olur: önyargı ve varyans. Yüksek önyargıya sahip bir model çok basittir ve önemli örüntüleri gözden kaçırır, yüksek varyansa sahip bir model ise aşırı hassastır ve eğitim verilerine çok yakından uyar. Modelleri birleştirerek, topluluk öğrenimi bu ikisi arasında bir denge bulur ve sistemin yeni, görülmemiş veriler üzerinde ne kadar iyi performans gösterdiğini iyileştirir.
Topluluk öğrenmesinin nasıl çalıştığını anlama
Bir topluluktaki her model temel öğrenici veya temel model olarak bilinir. Bunlar, kullanılan topluluk tekniğine bağlı olarak aynı algoritma türü veya farklı algoritmaların bir karışımı olabilir.
İşte topluluk öğrenmesinde kullanılan farklı modellerin bazı yaygın örnekleri:
Karar ağaçları: Bu modeller, karar vermek için verileri özellik değerlerine göre dallara ayırır. Örneğin, bir müşterinin bir ürünü satın alıp almayacağını tahmin etmek gibi sınıflandırma problemlerinde yaş, gelir ve tarama geçmişi gibi faktörleri dikkate alırlar.
Sinir ağları: İnsan beyninin bilgiyi nasıl işlediğinden esinlenerek, çoğu modern yapay zeka ve makine öğrenimi modelinin arkasındaki temel mimariyi oluştururlar.
Destek vektör makineleri (SVM'ler): Bu algoritmalar, farklı sınıflar arasındaki marjı maksimize eden hiper düzlem adı verilen optimal bir karar sınırı bularak verileri sınıflandırır. Başka bir deyişle, DVM grupları birbirinden ayırırken aralarında en büyük boşluğu bırakan mümkün olan en iyi çizgiyi çizer. Örneğin, kelime sıklığı ve yapısı gibi kalıplara dayanarak bir e-postanın spam olup olmadığını söylemek için kullanılabilir.
Lojistik regresyon modelleri: Olasılıkları tahmin ederler ve genellikle ikili sınıflandırma görevleri için kullanılırlar. Tipik bir örnek, bir işlemin hileli mi yoksa yasal mı olduğunu tahmin etmektir.
Birleştirilmiş model topluluğu genellikle güçlü öğrenici olarak adlandırılır çünkü temel öğrenicilerin (zayıf modeller olarak da adlandırılır) güçlü yönlerini birleştirirken zayıf yönlerini en aza indirir. Bunu, daha doğru bir nihai sonuç üretmek için sınıflandırma görevleri için çoğunluk oylaması veya regresyon görevleri için ağırlıklı ortalama kullanarak her modelin tahminlerini yapılandırılmış bir şekilde birleştirerek yapar.
Çeşitli toplu öğrenme tekniklerine geçmeden önce, bir adım geri atalım ve bu tür bir yaklaşımın bir makine öğrenimi veya yapay zeka projesinde ne zaman kullanılması gerektiğini anlayalım.
Toplu öğrenme, tek bir modelin doğru veya tutarlı tahminler yapmakta zorlandığı durumlarda en etkili yöntemdir. Ayrıca verilerin karmaşık, gürültülü veya öngörülemez olduğu durumlarda da kullanılabilir.
İşte topluluk yöntemlerinin özellikle etkili olduğu bazı yaygın durumlar:
Düşük model doğruluğu: Bir modelin tahminleri yeterince güvenilir olmadığında, birden fazla modelin birleştirilmesi doğruluğu ve performansı önemli ölçüde artırabilir. Örneğin, kredi puanlamasında veya tıbbi teşhislerde, tahmin doğruluğundaki küçük iyileştirmeler bile büyük bir fark yaratabilir.
Gürültülü veya tutarsız veriler: Bir veri kümesi aykırı değerler, hatalar veya rastgele dalgalanmalar içeriyorsa, topluluk öğrenimi birden fazla modelin ortalamasını alarak veya oylayarak bu düzensizlikleri gidermeye yardımcı olur.
Sağlamlık ihtiyacı: Topluluk modelleri küçük veri değişikliklerine daha az duyarlıdır, bu da onları gerçek dünya girdilerinin değişebileceği üretim ortamları için daha istikrarlı ve güvenilir hale getirir.
Karmaşık tahmin görevleri: Görüntü tanıma, dolandırıcılık tespiti veya zaman serisi tahmini gibi görevlerde, topluluklar tek bir modelin kendi başına yapabileceğinden daha geniş bir model ve ilişki yelpazesini yakalar.
Ayrıca eğitilmesi daha basit, yorumlanması daha kolay ve bakımı daha hızlıdır. Bir topluluğu kullanmadan önce, daha yüksek doğruluğun faydasını, gerektirdiği ek zaman, hesaplama gücü ve karmaşıklıkla karşılaştırmak önemlidir.
Topluluk öğrenme tekniklerine genel bir bakış
Daha sonra, makine öğrenimi projelerinde toplu öğrenmenin uygulanabileceği ana yollara bakalım. Modelleri birleştirmek için kullanılan ve her biri kendi yöntemiyle performansı artıran birkaç temel teknik vardır. En yaygın topluluk yöntemleri torbalama, güçlendirme, istifleme ve harmanlamadır.
Torbalama
Bootstrap aggregating'in kısaltması olan Bagging, aynı modelin birden fazla versiyonunu verilerin farklı bölümleri üzerinde eğiterek model kararlılığını ve doğruluğunu artırmaya yardımcı olan bir topluluk öğrenme yöntemidir.
Her bir alt küme, bootstrap örneklemesi adı verilen ve veri noktalarının değiştirilerek rastgele seçildiği bir süreç kullanılarak oluşturulur. Bu, bir veri noktası seçildikten sonra, bir sonraki seçilmeden önce havuza geri konulduğu anlamına gelir, bu nedenle aynı nokta birden fazla kez görünebilirken diğerleri dışarıda bırakılabilir. Bu rastgelelik, her modelin veri kümesinin biraz farklı bir versiyonu üzerinde eğitilmesini sağlar.
Çıkarım sırasında, eğitilen tüm modeller yeni, görülmemiş veriler üzerinde tahminler yapmak için paralel olarak çalışır. Her model öğrendiklerine dayanarak kendi çıktısını üretir ve bu bireysel tahminler daha sonra nihai sonucu oluşturmak için birleştirilir.
Ev fiyatlarını veya satış tahminlerini öngörmek gibi regresyon görevleri için bu genellikle daha düzgün bir tahmin elde etmek için tüm modellerin çıktılarının ortalamasını almak anlamına gelir. Bir işlemin hileli olup olmadığının belirlenmesi gibi sınıflandırma görevleri için, topluluk genellikle nihai sınıfa karar vermek için çoğunluk oyu alır.
Torbalama işlemi: Rastgele Orman algoritması
Torbalama işleminin iyi çalıştığı durumlara iyi bir örnek, tek bir veri kümesi üzerinde eğitildiğinde kolayca aşırı uyum sağlayabilen karar ağaçlarıdır. Birçok ağacı biraz farklı örnekler üzerinde eğiterek ve sonuçlarını birleştirerek, torbalama aşırı uyumu azaltır ve güvenilirliği artırır.
Rastgele Orman algoritmasını düşünün. Bu, her bir ağacın eğitim veri kümesinin rastgele bir alt kümesi ve rastgele bir özellik alt kümesi üzerinde eğitildiği bir karar ağaçları topluluğudur.
Bu özellik rastgeleliği, ağaçların daha az ilişkili olmasını ve genel modelin daha istikrarlı ve doğru olmasını sağlamaya yardımcı olur. Bir Rastgele Orman algoritması görüntüleri sınıflandırmak, dolandırıcılığı tespit etmek, müşteri kaybını tahmin etmek, satışları tahmin etmek veya emlak fiyatlarını tahmin etmek için kullanılabilir.
Şekil 2. Rastgele Orman algoritmasına bir bakış(Kaynak)
Güçlendirme
Boosting, zayıf öğrenicileri (modelleri) paralel yerine sırayla, birbiri ardına eğiterek geliştirmeye odaklanan başka bir topluluk öğrenme tekniğidir. Güçlendirmenin temel kavramı, her yeni modelin öncekilerin hatalarından ders çıkararak genel model performansını kademeli olarak iyileştirmesidir.
Bağımsız modellerin ortalamasını alarak varyansı azaltan torbalamadan farklı olarak, boosting her yeni modelin daha önceki modellerin zorlandığı zor durumlara daha fazla dikkat etmesini sağlayarak önyargıyı azaltır.
Güçlendirme modelleri sırayla eğitildiğinden, tahminlerinin sonunda birleştirilme şekli diğer topluluk yöntemlerinden biraz farklıdır. Her model, eğitim sırasındaki performansıyla orantılı olarak nihai tahmine katkıda bulunur ve daha doğru modeller daha fazla ağırlık alır.
Regresyon görevleri için nihai sonuç genellikle tüm model tahminlerinin ağırlıklı bir toplamıdır. Sınıflandırma görevleri için algoritma, nihai sınıfa karar vermek için modellerden gelen ağırlıklı oyları birleştirir. Bu yaklaşım, diğerlerinden öğrenmeye devam ederken daha doğru olan modellere daha fazla ağırlık vererek güçlü bir genel model oluşturmaya yardımcı olur.
İşte bazı yaygın güçlendirme algoritmaları türleri:
AdaBoost (Adaptive Boosting): Bu yöntem, küçük bir karar ağacı gibi basit bir modeli eğiterek başlar ve ardından yanlış sınıflandırılan veri noktalarının ağırlığını artırır. Bu ağırlıklar bir sonraki modelin zor örneklere daha fazla odaklanmasını sağlar. Birden fazla yineleme boyunca, modeller birbirleri üzerine inşa edilir ve birleşik tahminleri daha güçlü ve daha doğru bir sonuç oluşturur. Örneğin, AdaBoost spam tespitini veya yüz tanıma doğruluğunu artırabilir.
Gradient Boosting: Örnekleri yeniden ağırlıklandırmak yerine, Gradient Boosting her yeni modeli, önceki modeller tarafından yapılan artık hataları, gerçek ve tahmin edilen değerler arasındaki farkları düzeltmek için eğitir. Bu iteratif yaklaşım, satış tahmini ve kredi puanlaması gibi hem regresyon hem de sınıflandırma görevleri için etkili olmasını sağlar.
XGBoost (Extreme Gradient Boosting): Gradyan artırmanın bu gelişmiş versiyonu hem hızı hem de doğruluğu artırır. Eğitim sırasında aşırı karmaşık modelleri hafifçe cezalandıran ve böylece verileri ezberlemek yerine anlamlı kalıplara odaklanmalarını sağlayan düzenlileştirme kullanır. Modeller hala sıralı olarak eğitilse de XGBoost, ağaç oluşturma sırasında paralelleştirme kullanarak süreci hızlandırır. Farklı CPU çekirdeklerinde aynı anda birçok olası bölünme noktasını değerlendirebilir. Bu, yüksek tahmin performansını korurken, özellikle büyük veri kümelerinde eğitimi çok daha hızlı hale getirir.
Şekil 3. Diyabet risk tahmini için boosting yaklaşımı ile eğitilmiş Karar Ağacı Tabanlı (DTB) sınıflandırıcı örneği.(Kaynak)
İstifleme
Yığın genelleme olarak da adlandırılan yığınlama, meta öğrenici olarak bilinen nihai bir model için girdi olarak birkaç modelden gelen tahminleri kullanarak işleri bir adım öteye taşır. Bunu, her biri kendi görüşünü paylaşan bir grup uzmana sahip olmak ve ardından nihai bir karar vericinin mümkün olan en iyi kararı vermek için bu görüşleri nasıl tartacağını öğrenmesi gibi düşünebilirsiniz.
Örneğin, bir model dolandırıcılığı tespit etmede harikayken bir diğeri müşteri kaybını tahmin etmede daha iyi olabilir. Meta öğrenici, her birinin nasıl performans gösterdiğini inceler ve daha doğru bir nihai tahmin yapmak için güçlü yönlerini birlikte kullanır.
Karıştırma
Karıştırma, istiflemeye benzer bir şekilde çalışır çünkü nihai bir karar vermek için birkaç modelden gelen tahminleri de birleştirir, ancak daha basit ve daha hızlı bir yaklaşım benimser. Yığınlama gibi çapraz doğrulama (verileri birkaç parçaya bölen ve modeli daha güvenilir hale getirmek için bunları eğitim ve test arasında döndüren bir yöntem) kullanmak yerine, harmanlama verilerin küçük bir bölümünü bir kenara ayırır ve buna bekletme seti adı verilir.
Temel modeller kalan veriler üzerinde eğitilir ve daha sonra daha önce görmedikleri bekletme kümesi üzerinde tahminler yapar. Bu işlem iki önemli bilgi üretir: gerçek cevaplar veya gerçek etiketler ve her bir temel model tarafından yapılan tahminler.
Bu tahminler daha sonra harmanlama modeli veya meta model adı verilen başka bir modele aktarılır. Bu son model, her bir temel modelin tahminlerinin ne kadar doğru olduğunu inceler ve bunları mümkün olan en iyi şekilde nasıl birleştireceğini öğrenir.
Karıştırma, süreci birkaç kez tekrarlamak yerine yalnızca bir eğit ve test bölmesine dayandığı için daha hızlı çalışır ve kurulumu daha kolaydır. Buna karşılık, öğrenmek için biraz daha az bilgiye sahiptir ve bu da onu biraz daha az hassas hale getirebilir.
Topluluk algoritmalarının değerlendirilmesi
Toplu öğrenmenin önemli bir parçası, bir modelin daha önce görmediği veriler üzerinde ne kadar iyi performans gösterdiğini değerlendirmektir. Bir teknik ne kadar gelişmiş olursa olsun, genelleme yapabildiğinden emin olmak için test edilmelidir, yani sadece eğitim verilerini ezberlemek yerine yeni, gerçek dünya örnekleri üzerinde doğru tahminler yapmalıdır.
İşte yapay zeka modellerini değerlendirmek için kullanılan bazı yaygın performans ölçütleri:
Doğruluk: Bu metrik, model tarafından yapılan tüm tahminler içinde doğru tahminlerin oranını ölçer. Genel performansa hızlı bir genel bakış sağlar.
Hassasiyet: Pozitif olarak tahmin edilen örneklerin kaç tanesinin gerçekten pozitif olduğunu gösterir. Yüksek hassasiyet, modelin az sayıda yanlış pozitif hata yaptığı anlamına gelir.
Hatırlama: Bu ölçü, gerçek pozitif vakaların kaç tanesinin model tarafından doğru şekilde tespit edildiğine odaklanır. Özellikle sağlık hizmetleri gibi, hastalık teşhisi gibi pozitif bir vakanın gözden kaçırılmasının ciddi sonuçlar doğurabileceği alanlarda önemlidir.
Topluluk öğrenmesinin gerçek dünya uygulamaları
Şimdiye kadar topluluk öğrenmesinin nasıl çalıştığını ve arkasındaki teknikleri inceledik. Şimdi bu yaklaşımın nerede etki yarattığına bakalım.
İşte topluluk öğrenmesinin yaygın olarak uygulandığı bazı temel alanlar:
Veri analizi ve tahmin: İş dünyasında ve analitikte, topluluk modelleri, kuruluşların birden fazla modelden gelen içgörüleri birleştirerek daha iyi tahminler yapmasına yardımcı olur. Bu da daha doğru satış tahminleri, daha akıllı talep planlaması ve müşteri davranışlarının daha net anlaşılmasını sağlar.
İkili sınıflandırma: Spam tespiti, dolandırıcılığın önlenmesi ve tıbbi teşhis gibi görevler genellikle iki olası sonuç arasında ayrım yapılmasını gerektirir. Topluluk modelleri, özellikle siber güvenlik ve sağlık hizmetleri gibi alanlarda çok önemli olan yanlış pozitifleri ve yanlış negatifleri azaltmaya yardımcı olur.
Regresyon problemleri: Ev fiyatları, satış gelirleri veya kredi riski gibi sürekli değerleri tahmin ederken, topluluk yöntemleri verilerdeki karmaşık ilişkileri yakalar. Bu, daha iyi finansal ve operasyonel kararları destekleyen daha kesin tahminlerle sonuçlanır.
Topluluk öğrenimi ile yapılandırılmış verilerin ötesine geçme
Topluluk öğrenmesi en yaygın olarak sayısal veya kategorik bilgiler içeren elektronik tablolar gibi yapılandırılmış veya tablo şeklindeki verilerle kullanılsa da metin, görüntü, ses ve video gibi yapılandırılmamış verilere de uygulanabilir.
Bu veri türleri daha karmaşıktır ve modellerin yorumlaması daha zordur, ancak topluluk yöntemleri doğruluğu ve güvenilirliği artırmaya yardımcı olur. Örneğin, bilgisayarla görmede, topluluklar görüntü sınıflandırma ve nesne algılama gibi görevleri geliştirebilir.
Sistem, evrişimli sinir ağları (CNN'ler) gibi birden fazla görme modelinin tahminlerini birleştirerek nesneleri daha doğru bir şekilde tanıyabilir ve tek bir modelin kafasını karıştırabilecek aydınlatma, açı veya arka plan değişikliklerini ele alabilir.
Ultralytics YOLOv5 model topluluğuna bir bakış
Bilgisayarla görmede topluluk öğrenimini kullanmanın ilginç bir örneği, bir mühendisin doğruluğu artırmak için birden fazla nesne algılama modelini birleştirmesidir. Aydınlatmanın, açıların ve nesne boyutlarının sürekli değiştiği bir şantiye için güvenlik izleme sistemi üzerinde çalışan bir mühendis düşünün.
Tek bir model gölgelerdeki bir işçiyi gözden kaçırabilir veya hareket halindeki makineleri karıştırabilir. Her biri farklı güçlere sahip bir modeller topluluğu kullanıldığında, sistem daha güvenilir hale gelir ve bu hataları yapma olasılığı azalır.
Özellikle Ultralytics YOLOv5 gibi modeller, model birleştirme ile el ele gider. Mühendisler, birlikte tahminlerde bulunmak için YOLOv5x ve YOLOv5l6 gibi farklı YOLOv5 varyantlarını birleştirebilir. Her model aynı görüntüyü analiz eder ve kendi tespitlerini üretir, daha sonra bunların ortalaması alınarak daha güçlü ve daha doğru bir nihai sonuç elde edilir.
Şekil 4. YOLOv5 kullanarak bir görüntüdeki nesneleri algılama(Kaynak)
Topluluk öğrenmesinin artıları ve eksileri
İşte topluluk öğrenimini kullanmanın bazı temel faydaları:
Gürültülü verilere karşı dayanıklılık: Topluluklar, birden fazla modele dayandıkları için veri setindeki aykırı değerlerden veya rastgele gürültüden daha az etkilenir.
Daha iyi genelleme: Topluluklar aşırı uyumu azaltarak, modellerin sadece eğitim örneklerini ezberlemek yerine görünmeyen veriler üzerinde iyi performans göstermesine yardımcı olur.
Algoritmalar arasında esneklik: Karar ağaçları, sinir ağları ve doğrusal modeller gibi farklı model türlerini, benzersiz güçlerinden yararlanmak için birleştirebilirsiniz.
Topluluk öğrenimi masaya çeşitli avantajlar getirirken, dikkate alınması gereken bazı zorluklar da vardır. İşte akılda tutulması gereken birkaç faktör:
Daha yüksek hesaplama maliyeti: Birden fazla modelin eğitilmesi ve sürdürülmesi, tek bir modele göre daha fazla bellek, işlem gücü ve zaman gerektirir.
Azaltılmış yorumlanabilirlik: Nihai çıktı birden fazla modelin birleştirilmesiyle elde edildiğinden, belirli bir kararın neden verildiğini anlamak zor olabilir. Ancak bu, kullanılan modellere bağlıdır çünkü karar ağaçları veya destek vektör makineleri gibi yorumlanabilir modeller kullandığınızda sonuçları anlamak genellikle daha kolaydır.
Topluluk tasarımında dikkat edilmesi gerekenler: Bir topluluk oluşturmak, doğru model karışımını seçmeyi ve birlikte iyi çalıştıklarından emin olmayı içerir. Bununla birlikte, bazı durumlarda daha basit de olabilir çünkü her bir modelin hiperparametrelerine ince ayar yapmanız gerekmez.
Önemli çıkarımlar
Topluluk öğrenimi, birden fazla modeli birleştirmenin yapay zeka sistemlerini nasıl daha doğru ve güvenilir hale getirebileceğini gösterir. Farklı görev türlerinde hataları azaltmaya ve performansı artırmaya yardımcı olur. Makine öğrenimi ve yapay zeka büyümeye devam ettikçe, bunun gibi teknikler daha geniş çapta benimsenmeye ve daha pratik, yüksek performanslı yapay zeka çözümlerine yol açıyor.