Toplulukla Öğrenmenin Büyüsü

Ey Habr! Veri Mühendislerini ve Makine Öğrenimi uzmanlarını ücretsiz Demo dersine davet ediyoruz “Çevrimiçi öneriler örneğini kullanarak makine öğrenimi modellerinin endüstriyel ortama çıkışı”. Ayrıca CDP SpA'da Finansal Analitik Başkanı Luca Monno adlı makaleyi de yayınlıyoruz.

En kullanışlı ve basit makine öğrenmesi yöntemlerinden biri Topluluk Öğrenmesidir. Topluluk Öğrenme, XGBoost, Bagging, Random Forest ve diğer birçok algoritmanın arkasındaki yöntemdir.

Veri Bilimine Doğru hakkında pek çok harika makale var ancak ben iki hikayeyi seçtim (ilk и ikinci) en çok bunu beğendim. Peki neden EL hakkında başka bir makale yazalım? Çünkü sana göstermek istiyorum basit bir örnekle nasıl çalıştığını, bu da burada sihir olmadığını anlamamı sağladı.

EL'i ilk kez çalışırken gördüğümde (bazı çok basit regresyon modelleriyle çalışırken) gözlerime inanamadım ve bana bu yöntemi öğreten profesörü hala hatırlıyorum.

Metriklerle iki farklı modelim (iki zayıf eğitim algoritması) vardı örnek dışı R² sırasıyla 0,90 ve 0,93'e eşittir. Sonuca bakmadan önce, iki orijinal değer arasında bir yerde bir R² elde edeceğimi düşündüm. Başka bir deyişle, EL'in bir modelin en kötü model kadar kötü değil ama en iyi model kadar iyi performans göstermemesini sağlamak için kullanılabileceğine inanıyordum.

Tahminlerin ortalamasını almak benim için büyük bir sürpriz oldu ve R² değeri 0,95 oldu. 

İlk başta hatayı aramaya başladım ama sonra burada bir sihir saklanıyor olabileceğini düşündüm!

Topluluk Öğrenme Nedir?

EL ile daha sağlam ve performanslı bir model üretmek için iki veya daha fazla modelin tahminlerini birleştirebilirsiniz. Model topluluklarla çalışmanın birçok metodolojisi vardır. Burada genel bir bakış sağlamak için en yararlı iki tanesine değineceğim.

Ile gerileme Mevcut modellerin performansının ortalamasını almak mümkündür.

Ile sınıflandırma Modellere etiket seçme fırsatı verebilirsiniz. En sık seçilen etiket, yeni modelin de seçeceği etikettir.

EL neden daha iyi çalışıyor?

EL'nin daha iyi performans göstermesinin temel nedeni, her tahminde bir hatanın bulunmasıdır (bunu olasılık teorisinden biliyoruz), iki tahminin birleştirilmesi hatanın azaltılmasına yardımcı olabilir ve dolayısıyla performans metriklerini (RMSE, R², vb.) geliştirebilir. d.).

Aşağıdaki diyagram iki zayıf algoritmanın bir veri seti üzerinde nasıl çalıştığını göstermektedir. İlk algoritmanın eğimi gerekenden daha büyükken, ikincisinin eğimi neredeyse sıfırdır (muhtemelen aşırı düzenleme nedeniyle). Ancak topluluk çok daha iyi sonuçlar göstermektedir. 

R² göstergesine bakarsanız, birinci ve ikinci eğitim algoritması için sırasıyla -0.01¹, 0.22, topluluk için ise 0.73 olacaktır.

Toplulukla Öğrenmenin Büyüsü

Bunun gibi basit bir örnekte bile bir algoritmanın kötü bir model olabilmesinin birçok nedeni vardır: Belki aşırı uyumu önlemek için düzenlileştirmeyi kullanmaya karar verdiniz, ya da bazı anormallikleri göz ardı etmemeye karar verdiniz, ya da belki polinom regresyonunu kullandınız ve yanlış anladınız. derece (örneğin, ikinci dereceden bir polinom kullandık ve test verileri, üçüncü derecenin daha uygun olacağı açık bir asimetri gösteriyor).

EL daha iyi çalıştığında

Aynı verilerle çalışan iki öğrenme algoritmasına bakalım.

Toplulukla Öğrenmenin Büyüsü

Burada iki modeli birleştirmenin performansı pek artırmadığını görebilirsiniz. Başlangıçta, iki eğitim algoritması için R² göstergeleri sırasıyla -0,37 ve 0,22'ye eşitti ve topluluk için -0,04 olduğu ortaya çıktı. Yani EL modeli göstergelerin ortalama değerini almıştır.

Ancak bu iki örnek arasında büyük bir fark var: İlk örnekte model hataları negatif korelasyonluydu, ikincisinde ise pozitif korelasyon vardı (üç modelin katsayıları tahmin edilmedi, sadece model tarafından seçildi). Örnek olarak yazar.)

Bu nedenle Topluluk Öğrenme her durumda önyargı/varyans dengesini iyileştirmek için kullanılabilir, ancak Model hataları pozitif yönde ilişkili değildir; EL kullanımı performansın artmasına yol açabilir.

Homojen ve heterojen modeller

EL genellikle homojen modellerde kullanılır (bu örnekte veya rastgele ormanda olduğu gibi), ancak aslında farklı modelleri (doğrusal regresyon + sinir ağı + XGBoost) farklı açıklayıcı değişken kümeleriyle birleştirebilirsiniz. Bu muhtemelen ilişkisiz hatalara ve performansın artmasına neden olacaktır.

Portföy çeşitlendirmesiyle karşılaştırma

EL, portföy teorisindeki çeşitlendirmeye benzer şekilde çalışır, ancak bizim için çok daha iyi. 

Çeşitlendirme yaparken ilişkisiz hisse senetlerine yatırım yaparak performansınızdaki varyansı azaltmaya çalışırsınız. İyi çeşitlendirilmiş bir hisse senedi portföyü, en kötü bireysel hisse senedinden daha iyi performans gösterir, ancak asla en iyisinden daha iyi performans göstermez.

Warren Buffett'tan alıntı yapmak gerekirse: 

"Çeşitlendirme cehalete karşı bir savunmadır; ne yaptığını bilmeyen biri için bu [çeşitlendirme] çok az anlam ifade eder."

Makine öğreniminde EL, modelinizin varyansını azaltmaya yardımcı olur, ancak genel performansın en iyi orijinal modelden daha iyi olduğu bir modelle sonuçlanabilir.

Toparlamak

Birden fazla modeli tek bir modelde birleştirmek, varyans yanlılığı sorununu çözmeye ve performansı artırmaya yol açabilecek nispeten basit bir tekniktir.

İyi çalışan iki veya daha fazla modeliniz varsa aralarında seçim yapmayın: hepsini kullanın (ancak dikkatli olun)!

Bu yönde gelişmekle ilgileniyor musunuz? Ücretsiz Demo dersi için kaydolun “Çevrimiçi öneriler örneğini kullanarak makine öğrenimi modellerinin endüstriyel ortama çıkışı” ve katılmak Andrey Kuznetsov ile çevrimiçi toplantı — Mail.ru Group'ta Makine Öğrenimi Mühendisi.

Kaynak: habr.com

Yorum ekle