Boyut Azaltma için Derin İnanç Otomatik Kodlayıcı Oluşturun

Aug 18 2020

Büyük bir veri kümesiyle çalışıyorum (yaklaşık 50K gözlem x 11K özellik) ve boyutsallığı azaltmak istiyorum. Bu, sonunda çok sınıflı sınıflandırma için kullanılacaktır, bu nedenle verileri ayırmak için yararlı olan özellikleri çıkarmak istiyorum. Şimdiye kadar, PCA'yı (Doğrusal SVM'de yaklaşık% 70'lik genel bir doğrulukla OK gerçekleştirdi), LDA (yaklaşık% 96'lık çok yüksek eğitim doğruluğu ile gerçekleştirildi, ancak test doğruluğu yaklaşık% 61 idi) ve bir otomatik kodlayıcı (3 sırasıyla 13000-1000-136 birim içeren, PCA ile yaklaşık aynı performansı gösteren katman yoğun kodlayıcı. Bu problemde Derin İnanç Ağı'nı (Sınırlı Boltzmann Makineleri yığını) denemem istendi.

Şimdiye kadar iki zorluk öngörüyorum. İlk olarak, kullanılabilen bir GPU'ya erişimim var, ancak sinir ağı topluluğundaki büyük oyuncuların (örneğin, TensorFlow / Keras, PyTorch) DBN'lerin pek çok uygulamasını görmüyorum, bu da bunun olması gerektiği anlamına gelir bir CPU üzerinde uygulandı ve iki numaralı zorluğu gündeme getirdi. İkinci olarak, bunu uygulamak önemli bir bellek gerektirecek ve oldukça yavaş olacaktır. Bu, sorumu gündeme getiriyor: Python'da (veya R) güvenilir ve en iyi şekilde GPU kullanan DBN otomatik kodlayıcı uygulamaları var mı? Değilse, Python'da bir DBN oluşturmanın tercih edilen yöntemi nedir? Sklearn kullanmalı mıyım?

Yanıtlar

1 hH1sG0n3 Aug 18 2020 at 21:16

Otomatik kodlayıcıların aksine, Botzmann Makineleri (kısıtlı veya kısıtlı) bir çıktı katmanına sahip değildir ve bu nedenle derin üretici modeller olarak sınıflandırılır.

Pytorch'ta çeşitli uygulamalar vardır. Bu, GPU uyumludur (https://github.com/GabrielBianconi/pytorch-rbm) ve bunu geçmişte özellikle yararlı buldum.

RBM'ler aşağıdaki gibi çeşitli görevlerde oldukça kullanışlı olabilir:

  • Boyutsal küçülme
  • Tavsiye sistemleri için işbirliğine dayalı filtreleme
  • Öğrenmeyi ve diğerlerini öne çıkarın.

Bu, RBM'ler hakkında daha fazla bilgi edinmek istemeniz durumunda ilginç bir okumaydı. https://heartbeat.fritz.ai/guide-to-restricted-boltzmann-machines-using-pytorch-ee50d1ed21a8