Makine öğrenmesinde torbalama, güçlendirme ve istifleme


245

Bu 3 yöntem arasındaki benzerlik ve farklar nelerdir:

  • torbalama,
  • Arttırılması,
  • İstifliyorsun?

En iyisi hangisi? Ve neden?

Bana her biri için bir örnek verebilir misiniz?


3
Bir ders kitabı referans için, ben tavsiye: "Ensemble yöntemler: temeller ve algoritmalar" Zhou, Zhi-Hua tarafından
Vadim Smolyakov

1
Burada Bkz ilgili soru .
Ricardo Cruz

Yanıtlar:


252

Her üç "meta algoritmaları" sözde gibidir: yaklaşımları varyans (azaltmak için bir tahmin modeli içine birkaç makine öğrenme teknikleri birleştirmek için torbalama ), önyargı ( artırma ) veya akıllı gücünün gelişmesine ( istifleme takma ensemble ).

Her algoritma iki adımdan oluşur:

  1. Orijinal verilerin alt kümelerinde basit ML modellerinin bir dağılımını üretmek.

  2. Dağıtımı bir "toplanmış" modelde birleştirmek.

Her üç yöntemin de kısa bir açıklaması:

  1. Torbalama (açılımı B ootstrap Agg Regat ing kullanarak orijinal veri kümesinden eğitim için ilave veriler elde göre tahmin varyansını azaltmak için bir yöntemdir) tekrarlar ile kombinasyonu üretmek için MULTISETS orijinal veri aynı önem düzeyi / boyutta. Eğitim setinizin boyutunu artırarak modelin öngörü kuvveti geliştiremezsiniz, ancak öngörüyü beklenen sonuca göre daraltmak için sadece varyansı azaltabilirsiniz.

  2. Yükseltme , ilk olarak bir dizi ortalama performans modeli üretmek için orijinal verilerin altkümelerini kullandığı ve daha sonra belirli bir maliyet işlevi (= çoğunluk oyu) kullanarak bunları birleştirerek performanslarını "artırdığı" iki aşamalı bir yaklaşımdır. Torbalamadan farklı olarak, klasik desteklemede alt küme oluşturma rastgele değildir ve önceki modellerin performansına bağlıdır: her yeni alt küme, önceki modellerin yanlış sınıflandırdığı öğeleri içerir.

  3. İstifleme artırmaya benzer: orijinal verilerinize birkaç model de uygularsınız. Bununla birlikte, buradaki fark, ağırlık işleviniz için sadece ampirik bir formüle sahip olmamanızdır, bunun yerine bir meta-seviye tanıtırsınız ve ağırlıkları tahmin etmek için her modelin çıktıları ile birlikte girdiyi tahmin etmek için başka bir model / yaklaşım kullanırsınız veya Başka bir deyişle, hangi modellerin iyi performans gösterdiğini ve bu girdi verisine ne verildiğini belirlemek.

İşte bir karşılaştırma tablosu:

Karşılaştırmalı masa

Gördüğünüz gibi, bunların hepsi birkaç modeli daha iyi bir modelde birleştirmeye yönelik farklı yaklaşımlar ve burada tek bir kazanan yok: her şey etki alanınıza ve ne yapacağınıza bağlı. İstiflemeyi daha da artıracak bir dizi ilerleme olarak kabul edebilirsiniz , ancak meta seviyeniz için iyi bir yaklaşım bulma zorluğu bu yaklaşımı pratikte uygulamanızı zorlaştırır.

Her birine kısa örnekler:

  1. Torbalama : Ozon verileri .
  2. Yükseltme : optik karakter tanıma (OCR) doğruluğunu arttırmak için kullanılır .
  3. İstifleme : Tıpta kanser mikrodizilerinin sınıflandırılmasında kullanılır .

8
Takviye tanımınız, wiki'deki (sizin için bağlantı verdiğiniz) veya bu yazıdakinden farklı görünüyor . Her ikisi de, bir sonraki sınıflandırıcının güçlendirilmesinde daha önce eğitilmiş olanların sonuçlarını kullandığını söylüyor, ancak bundan bahsetmediniz. Diğer taraftan tarif ettiğiniz yöntem bazı oylama / model ortalama tekniklerine benzer.
Alexander Rodin,

2
@ a-rodin: Bu önemli yönü gösterdiğiniz için teşekkürler, bu bölümü daha iyi yansıtmak için bu bölümü tamamen yeniden yazdım. İkinci görüşünüze göre, benim fikrim, artırmanın aynı zamanda bir oy / ortalama türü olduğudur, yoksa sizi yanlış mı anladım?
Alexander Galkin

@AlexanderGalkin Aklımdaydı Yorum sırasında Gradyanı artırıyor: oylama gibi gözükmüyor, fakat yinelemeli bir işlev yaklaşım tekniği gibi görünüyor. Ancak, örneğin AdaBoost daha çok oy vermeye benziyor, bu yüzden tartışmıyorum.
Alexander Rodin

3
İlk cümlede Boostting'in önyargıyı azalttığını söylüyorsun, ama karşılaştırma tablosunda prediktif kuvveti arttırdığını söylüyorsun. Her ikisi de doğru mu?
Ben Lindsay

68

Torbalama :

  1. paralel topluluk: her model bağımsız inşa edilmiştir

  2. amaçlayan varyansı azaltmak değil, önyargı

  3. yüksek varyanslı düşük yanlı modeller için uygundur (karmaşık modeller)

  4. ağaç tabanlı bir yönteme örnek olarak tamamen büyümüş ağaçlar gelişen rastgele ormanlar (RF'nin ağaçlar arasındaki korelasyonu azaltmak için yetiştirme prosedürünü değiştirdiğine dikkat edin)

Artırılması :

  1. sıralı topluluk: önceki modellerin olmadığı yerlerde iyi olan yeni modeller eklemeye çalışın

  2. sapmayı azaltmayı amaçlar , varyansı değil

  3. düşük varyanslı yüksek önyargılı modeller için uygun

  4. ağaç tabanlı bir yönteme örnek olarak gradyan artırma


5
Her sorunun neden böyle olduğunu ve nasıl elde edildiğini yanıtlamak için yorumların cevabı, cevabınızda büyük bir gelişme olacaktır.
Tim

2
Yükseltmenin varyansı azalttığını ve nasıl yaptığını açıklayan herhangi bir belge / bağlantıyı paylaşır mısınız? Sadece daha derinlemesine anlamak istiyorum
GeorgeOfTheRF

1
Teşekkürler Tim, daha sonra bazı yorumlar ekleyeceğim. @ML_Pro, artırma prosedüründen (örn., Cs.cornell.edu/courses/cs578/2005fa/ ), sayfa 23 ), artırmanın yanlılığı azaltabileceği anlaşılabilir.
yuqian

43

Sadece Yuqian'ın cevabını biraz detaylandırmak için. Torbalamanın arkasındaki fikir, parametrik olmayan bir regresyon yöntemiyle (genellikle regresyon veya sınıflandırma ağaçları, ancak hemen hemen herhangi bir parametrik olmayan yöntem olabilir) OVERFIT yaptığınızda, önyargının yüksek bir sapmasına, hiçbir (veya düşük) yanlılığına gitme eğiliminde olmamanızdır. varyans değişimi. Bunun nedeni, çok esnek bir modelin çok esnek olmasıdır (eğer varsa, aynı popülasyondan birçok numuneye karşı çok düşük önyargılı olmaları) ancak değişkenliği yüksektir (eğer bir örnek toplar ve üst üste getirirsem, ve bir örnek toplar ve üst üste parametrik olmayan regresyonun verilerdeki gürültüyü takip etmesi nedeniyle sonuçlar farklılık gösterecektir). Ne yapabiliriz? Her biri fazla donatan ve her birini bir arada tutan birçok örnek alabiliriz (önyüklemeden). Bu aynı önyargıya (düşük) yol açmalı fakat bazı varyansı iptal etmeli,

Kalbinde yükselen gradyan UNDERFIT parametrik olmayan regresyonlarla çalışır, bunlar çok basittir ve bu nedenle verilerdeki gerçek ilişkiyi tanımlamak için yeterince esnek değildir (yani önyargılı) ancak uygun olmaları nedeniyle düşük varyansa sahiptir ( yeni veri setleri toplarsanız aynı sonucu elde etmek için). Bunun için nasıl düzeltiyorsunuz? Temel olarak, eğer uygun olursanız, modelinizin KONUTLARI hala faydalı bir yapı (nüfus hakkında bilgi) içerir, bu nedenle sahip olduğunuz ağacı (veya parametrik olmayan kestiriciyi ne olursa olsun) kalıntıların üzerine inşa edersiniz. Bu, orijinal ağaçtan daha esnek olmalıdır. Her seferinde, k-l adımındaki kalıntılara takılan bir ağaca dayanan ağırlıklı bir ağaç tarafından artırılan, her k adımında art arda daha fazla ağaç üretirsiniz. Bu ağaçlardan biri optimal olmalı, bu yüzden ya tüm bu ağaçları bir araya getirerek ya da en uygun olanı seçerek bitirdiniz. Bu nedenle degrade yükseltme, daha fazla sayıda esnek aday ağacı oluşturmanın bir yoludur.

Tüm parametrik olmayan regresyon veya sınıflandırma yaklaşımları gibi, bazen torbalama veya güçlendirme harika işler, bazen bir veya diğer yaklaşım vasattır ve bazen bir veya diğer yaklaşım (veya her ikisi) çarpışıp yanar.

Ayrıca, bu tekniklerin her ikisi de ağaçlar dışındaki regresyon yaklaşımlarına uygulanabilir, ancak bunlar genellikle ağaçlarla ilişkilendirilir, belki de takma veya takma işleminden kaçınmak için parametrelerin ayarlanması zordur.


3
Overfit için +1 = varyans, underfit = önyargı argümanı! Karar ağaçları kullanmanın bir nedeni, yapısal olarak dengesiz olmalarıdır, dolayısıyla koşullardaki küçük değişikliklerden daha fazla yararlanırlar. ( abbottanalytics.com/assets/pdf/… )
Mark Horvath


3

Kısaca özetlemek için, Torbalama ve Yükseltme normal olarak bir algoritma içerisinde kullanılırken, İstifleme genellikle farklı algoritmalardan elde edilen birkaç sonucu özetlemek için kullanılır.

  • Torbalama : Varyansı ortadan kaldıran ve fazla uydurma sorunu olmayan çeşitli tahminler ve ortalama (veya başka yollar) elde etmek için özelliklerin ve örneklerin önyükleme alt kümeleri Random Forest.
  • Arttırılması : den farkı Torbalama sonradan modeli örneğin bir öncekine göre yapılan hatayı, öğrenmeye çalışıyor olmasıdır GBMve XGBoostvaryans ortadan kaldırmak ancak aşırı oturma sorunun olduğunu.
  • İstifleme : Normalde, aynı veri setinde antrenman yapmak için birden fazla algoritma kullanıldığında ve sonuçta daha yüksek bir tahmin doğruluğu elde etmek için sonuç (ortalama, maksimum, minimum veya diğer kombinasyonlar) kullanıldığında, müsabakalarda kullanılır.

2

Hem torbalama hem de yükseltme, tüm adımlar için tek bir öğrenme algoritması kullanır; ancak eğitim örneklerinin işlenmesinde farklı yöntemler kullanıyorlar. her ikisi de birden fazla modelin kararlarını birleştiren basit öğrenme yöntemidir.
Torbalama :
1. M alt kümelerini (önyükleme) almak için eğitim verilerini yeniden örnekler ;
2. M veri setlerine (farklı örnekler) dayanarak M sınıflandırıcılarını (aynı algoritma) eğitir;
3. son sınıflandırıcı, M çıktılarını oylama yoluyla birleştirir;
eşit ağırlıkta örnekler;
sınıflandırıcılar eşit ağırlıkta;
varyans azaltarak hatayı azaltır
Arttırılması : burada Adaboost algoritması odak
ilk tur tüm numuneler için eşit ağırlık 1. başlangıç;
2. Aşağıdaki M-1 turlarında, son turda yanlış sınıflandırılmış numunelerin ağırlıklarını arttırın, son turda doğru şekilde sınıflandırılmış numunelerin ağırlıklarını azaltın
3. ağırlıklı oylama kullanarak, son sınıflandırıcı daha önceki turlardan birden fazla sınıflandırıcıyı birleştirir ve daha büyük ağırlıklar verir daha az yanlış sınıflandırma ile sınıflandırıcılar.
kademeli yeniden değerlendirme örnekleri; Her bir tur için ağırlıklar
, yeniden örnekleme (torbalama) yerine son tur tekrar ağırlık numunelerinden (takviye etme) elde edilen sonuçlara göredir.


0

Torbalama ve yükseltme, birçok homojen model kullanma eğilimindedir.

İstifleme, heterojen model tiplerinin sonuçlarını birleştirir.

Tek bir model türü, tüm dağıtım boyunca en uygun olma eğiliminde olmadığından, bunun neden tahmin gücünü arttırdığını görebilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.