Yapay sinir ağlarının güçlendirilmesi


21

Son zamanlarda, adaboost, gradient boost gibi artırıcı algoritmalar öğrenmeye çalışıyordum ve en yaygın kullanılan zayıf öğrenicinin ağaçlar olduğu gerçeğini biliyordum. Gerçekten bilmek istiyorum, sinir ağlarını temel öğrenici olarak kullanmak için bazı başarılı örnekler (bazı makaleleri veya makaleleri kastediyorum) var mı?


Bu sizin için ilginç bir okuma olabilir: arxiv.org/pdf/1706.04964.pdf
Daniel

Yanıtlar:


8

Güçlendirmede zayıf veya dengesiz sınıflandırıcılar temel öğrenenler olarak kullanılır. Durum bu, çünkü amaç oldukça farklı olan karar sınırları oluşturmak. Daha sonra, iyi bir temel öğrenen kişi, çok taraflı olanı ifade eder, başka bir deyişle, temel öğrenenler için eğitim parametreleri biraz değişse bile, çıktı temelde aynı kalır.

Yapay sinir ağlarında bırakma , eğitim topluluklarıyla karşılaştırılabilecek bir düzenlileştirme tekniğidir. Aradaki fark, topluluğun gizli alanda (nöronların var olup olmaması) yapılması ve böylece genelleme hatasını azaltmasıdır.

"Her eğitim örneği bu nedenle farklı, rastgele örneklenmiş bir mimari için degradeler sağlamak olarak görülebilir, böylece son sinir ağı etkin bir şekilde iyi bir genelleme kabiliyetine sahip büyük bir sinir ağı topluluğunu temsil eder" - buradan alıntı yaparak .

Bu tür iki teknik vardır: bırakma işleminde nöronlar düşürülür (yani nöronlar belirli bir olasılıkla bulunur veya olmaz), düşürme bağlantısında ağırlıklar düşürülür.

Şimdi, sorunuzu yanıtlamak için sinir ağlarının (veya algılayıcıların) güçlendirici bir kurulumda temel öğrenenler olarak kullanılmadığına, çünkü daha yavaş eğitildiklerine (çok fazla zaman alır) ve öğrenebildikleri kadar zayıf olmadıklarına inanıyorum. daha dengesiz olmak için hazırlıklı olun. Yani, çabaya değmez.

Bu konuda araştırma yapılmış olabilir, ancak iyi çalışmayan fikirlerin genellikle başarılı bir şekilde yayınlanmaması üzücü. Hiçbir yere götürmeyen, yani "bunu denemekten zahmet etme" yollarını kapsayan daha fazla araştırmaya ihtiyacımız var.

DÜZENLE:

Buna rağmen biraz daha fazla şey yaşadım ve eğer büyük ağların topluluklarıyla ilgileniyorsanız, o zaman bu tür çoklu ağların çıktılarını birleştirme yöntemlerine atıfta bulunabilirsiniz. Çoğu insan, göreve bağlı olarak çoğunluk oyu kullanır veya kullanır - bu uygun olmayabilir. Her bir ağın çıktısının ağırlığını, belirli bir kayıttaki hataya göre değiştirmenin mümkün olacağına inanıyorum. Çıktılar ne kadar az ilişkilendirilirse, montaj kuralınız o kadar iyi olur.


2

Bunun kabul edilmiş bir cevabı olmadığını görüyorum, bu yüzden çok sezgisel bir cevap vereceğim. Evet, yapılır .... örneğin JMP Pro'da mevcuttur (muhtemelen hiç duymadığınız en iyi istatistik paketi). http://www.jmp.com/support/help/Overview_of_Neural_Networks.shtml

Kullanıldığı sayfanın ortasında bir açıklama var. Teoriyi araştırmak için hiçbir döngü oluşturmadım, ancak görünen o ki, aslında daha büyük bir modelde daha fazla düğüm kullanmakla aynı sonuçları elde ettiklerini ima ediyorlar. [İddia ettikleri] avantaj model uydurma hızında.

Sadece çok kaba bir ölçüm için, 2 sigmoid ve 2 Gauss düğümü ile sahip olduğum bir veri setiyle karşılaştırdım ve tek bir modelde 6x modelini 12 sigmoid ve 12 Gauss düğümü ile güçlendirdim ve sonuçlar test verilerimle neredeyse aynıydı .

Herhangi bir hız farkını da fark etmedim ... ama veri kümesi sadece 1600 puan ve sadece 12 değişken kullanıyorum, bu yüzden daha büyük değişkenli daha büyük bir veri setinde fark edilebilir bir hesaplama farkı olduğu doğru olabilir.

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.