Teknik augmentasi data untuk dataset umum?

21

Dalam banyak aplikasi pembelajaran mesin, metode augmentasi data yang disebut telah memungkinkan membangun model yang lebih baik. Misalnya, asumsikan satu set pelatihan gambar kucing dan anjing. Dengan memutar, mirroring, menyesuaikan kontras, dll. Dimungkinkan untuk menghasilkan gambar tambahan dari yang asli.100

Dalam hal gambar, augmentasi data relatif mudah. Namun, anggaplah (misalnya) bahwa seseorang memiliki serangkaian pelatihan sampel dan beberapa ratus variabel kontinu yang mewakili hal-hal yang berbeda. Augmentasi data tidak lagi tampak intuitif. Apa yang bisa dilakukan dalam kasus seperti itu?100

mmh
sumber
2
Saya pikir beberapa metode seperti PCA atau AE masih intuitif untuk augmentasi data. Metode pertama adalah menerapkan PCA dan menjaga nilai eigen k pertama dan mengatur nilai eigen kn secara acak dari distribusi, gaussian dll. Jika metode lain menggunakan Auto-encoders untuk membangun data itu sendiri. Jika jumlah unit yang tersembunyi dekat dengan unit yang terlihat, dapat membangun itu sendiri cukup bagus. Data yang direkonstruksi dapat digunakan sebagai bagian data yang diperbesar.
yasin.yazici
@mmh, apakah ini menjawab pertanyaan Anda?
shf8888
@ yasin.yazici Hai. Bisakah Anda menjelaskan sedikit tentang augmentasi data menggunakan PCA? Misalkan saya memiliki data dengan sebagai dimensi fitur. Sekarang saya melakukan PCA dan menemukan bahwa vektor eigen top pertama sudah cukup. Apa yang harus saya lakukan dalam vektor eigen berikutnya dan bagaimana saya harus memperkenalkan keacakan? 50 30 20100x50503020
roni
Lihat tesis master saya, halaman 80 untuk tinjauan umum teknik augmentasi data untuk gambar.
Martin Thoma
Augmentasi data sangat masuk akal untuk gambar, misalnya. Gambar yang diputar objek masih merupakan gambar objek, dan Anda perlu model untuk terkena itu, tetapi Anda mungkin tidak perlu memiliki gambar seperti itu dalam dataset Anda. Apa perlunya / titik augmentasi data dalam kasus ini? Tidak jelas bagi saya bahwa Anda harus melakukan ini.
gung - Reinstate Monica

Jawaban:

17

Saya memahami pertanyaan ini karena melibatkan konstruksi fitur dan berurusan dengan kekayaan fitur yang sudah Anda miliki akan membangun, relatif terhadap pengamatan Anda ( N << P).

Konstruksi Fitur

Memperluas komentar @ yasin.yazici, beberapa cara yang mungkin untuk menambah data adalah:

  • PCA
  • Pengkodean otomatis
  • Transformasi seperti log, kekuatan, dll.
  • Binning variabel kontinu ke dalam kategori diskrit (yaitu, variabel kontinu adalah 1 SD di atas rata-rata, 1 di bawah rata-rata, dll.)
  • Variabel komposit (misalnya, lihat di sini )

Saya yakin masih banyak lagi yang saya lewatkan.

Seleksi Fitur / Pengurangan Dimensi

Anda dapat mengurangi dimensi dengan teknik seperti PCA (meskipun mungkin tidak setelah menambah data Anda dengan variabel PCA). Atau, Anda dapat menggunakan algoritma yang melakukan pemilihan fitur untuk Anda, seperti laso, forest acak, dll.

shf8888
sumber
2
Bisakah Anda jelaskan bagaimana pengkodean otomatis dapat digunakan untuk konstruksi fitur?
roni
1
@roni Pelatihan sukses autoencoder menghasilkan beberapa representasi data pada tingkat abstraksi yang lebih tinggi. Semoga representasi yang lebih bermanfaat yang bisa Anda gunakan di classifier.
Chris Anderson
0

Saya menghadapi masalah yang sama di mana saya ingin menambah data numerik yang tidak berlabel. Saya menambah data dengan cara berikut: (Katakanlah saya memiliki kumpulan data ukuran 100 * 10.)

  1. Buat daftar dengan nilai sampling acak dari {0,1}, sehingga jumlah nol lebih kecil dari jumlah 1s, katakanlah proporsi 0s adalah 20% dalam kasus ini. Jadi seseorang akan memiliki daftar 0s dan 1s dengan panjang 100.
  2. Gunakan daftar ini sebagai variabel dependen dan meneruskannya ke smote untuk menghasilkan lebih banyak poin data. (Di sini smote akan menghasilkan titik di tepi yang menghubungkan titik data yang sesuai dengan 0s dalam daftar yang dihasilkan).
  3. Ulangi proses ini sampai kumpulan data dari ukuran yang diperlukan diperoleh.
Harshita Vemula
sumber
1
Tolong jangan posting jawaban yang identik ke beberapa utas. Jika Anda benar-benar percaya bahwa jawaban yang sama seperti yang Anda posting di tempat lain sepenuhnya menjawab pertanyaan lain, tandai pertanyaan itu sebagai duplikat dari yang pertama.
gung - Reinstate Monica