Genel veri setleri için veri büyütme teknikleri?


21

Birçok makine öğrenim uygulamasında, veri yükseltme yöntemleri daha iyi modeller oluşturmaya izin verdi. Örneğin, kedi ve köpek görüntüsünün eğitim setini alın . Döndürmek, yansıtmak, kontrastı ayarlamak, vb. İle orijinallerinden ek görüntüler elde etmek mümkündür.100

Görüntüler durumunda, veri arttırma nispeten basittir. Ancak, (örneğin) birinin örnek bir eğitim seti ve farklı şeyleri temsil eden birkaç yüz sürekli değişken olduğunu varsayalım . Veri büyütme artık çok sezgisel görünmüyor. Böyle bir durumda ne yapılabilir?100


2
PCA veya AE gibi bazı yöntemlerin hala veri büyütme için sezgisel olduğunu düşünüyorum. İlk yöntemler PCA'yı uygular ve ilk özdeğerleri tutar ve dağınıklık, gauss vb. Gizli birimlerin sayısı görünür birimlere yakınsa, inşaatın kendisi oldukça iyi olabilir. Yeniden yapılandırılmış veriler, verilerin artırılmış bir parçası olarak kullanılabilir.
yasin.yazici

@ mmh, bu sorunuza cevap verdi mi?
shf8888

@ yasin.yazici Merhaba. pca kullanarak veri artırma hakkında biraz bilgi verebilir misiniz? Diyelim ki olan ve 50 özellik boyutu olan bir veri var . Şimdi PCA yapıyorum ve ilk 30 en yüksek özvektörün yeterli olduğunu buldum . Önümüzdeki 20 özvektörde ne yapmalıyım ve rasgeleliği nasıl tanıtmalıyım? 100x50503020
roni

Bkz benim ustaları tezi, sayfa 80 görüntüler için veri büyütme techinques genel bir bakış için.
Martin Thoma

Veri büyütme, görüntüler için çok anlamlı. Nesnenin döndürülmüş bir görüntüsü hala nesnenin bir görüntüsüdür ve bu modele maruz kalmanız gerekir, ancak muhtemelen veri kümenizde böyle bir görüntünün olması gerekmez. Bu durumda veri büyütme ihtiyacı / noktası artırımı nedir? Bunu yapman gerektiği benim için net değil.
gung - Reinstate Monica

Yanıtlar:


17

Bu soruyu hem özellik inşasını hem de zaten sahip olduğunuz + yapacakları özelliklerle uğraşırken, gözlemlerinize ( N << P) göre anlıyorum .

Özellik İnşaatı

@ Yasin.yazici'nin yorumuna bakıldığında, verileri artırmak için bazı olası yollar olabilir:

  • PCA
  • Otomatik kodlama
  • Günlük, güç vb. Gibi dönüşümler.
  • Sürekli değişkenleri ayrık kategorilere bölmek (yani sürekli değişken ortalamanın 1 SD üstünde, ortalamanın 1 altında vb.)
  • Kompozit değişkenler (örneğin, buraya bakınız )

Eminim çok daha fazlasını özlüyorum.

Özellik Seçimi / Boyutluluk azaltma

PCA gibi tekniklerle boyutsallığı azaltabilirsiniz (belki de verilerinizi PCA değişkenleriyle artırdıktan sonra olmasa da). Alternatif olarak, kement, rastgele ormanlar gibi sizin için özellik seçimi yapan algoritmalar kullanabilirsiniz.


2
Özellik kodlaması için otomatik kodlamanın nasıl kullanılabileceğini lütfen söyleyebilir misiniz?
roni

1
@roni Bir otomatik kodlayıcıyı başarılı bir şekilde eğitmek, verilerin daha yüksek bir soyutlama düzeyinde temsilini sağlar. Umarım bir sınıflandırıcıda kullanabileceğiniz daha faydalı bir ifadedir.
Chris Anderson

0

Etiketlenmemiş sayısal verileri arttırmak istediğimde benzer bir problemle karşılaştım. Verileri şu şekilde artırdım: (100 * 10 boyutunda bir veri kümem olduğunu söyleyin.)

  1. {0,1} 'den değerleri rasgele örnekleyerek bir liste oluşturun, öyle ki sıfır sayısı 1'den az olacak şekilde, bu durumda 0s oranının% 20 olduğunu söyleyin. Böylece, biri 0s ve 100ss. 1 lere sahip olacaktır.
  2. Bu listeyi bağımlı değişken olarak kullanın ve daha fazla veri noktası oluşturmak için smote'e aktarın. (Burada smote, oluşturulan listede 0 değerine karşılık gelen veri noktalarını birleştiren kenarlarda noktalar oluşturacaktır).
  3. İstenen boyutta veri seti elde edilinceye kadar bu işlemi tekrarlayın.

1
Lütfen birden fazla konuya aynı cevapları göndermeyin. Gerçekten başka bir yere gönderdiğiniz cevapla aynı cevabın başka bir soruyu tamamen cevapladığına inanıyorsanız, bu soruyu birincinin kopyası olarak işaretleyin.
gung - Reinstate Monica
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.