Berurusan dengan dataset time-series yang sangat besar

10

Saya memiliki akses ke dataset yang sangat besar. Data tersebut dari rekaman MEG dari orang yang mendengarkan kutipan musik, dari satu dari empat genre. Data adalah sebagai berikut:

  • 6 mata pelajaran
  • 3 pengulangan Eksperimental (zaman)
  • 120 Percobaan per zaman
  • 8 detik data per percobaan pada 500Hz (= 4000 sampel) dari 275 saluran MEG

Jadi setiap "contoh" di sini adalah matriks ukuran [4000x275], dan ada 2160 contoh seperti itu, dan itu sebelum ekstraksi fitur apa pun. Tujuannya adalah untuk memprediksi genre berdasarkan sinyal otak (klasifikasi 4-kelas).

Jelas ada beberapa masalah yang menantang di sini, yaitu:

  1. Dataset tidak sesuai dengan memori
  2. Akan ada korelasi temporal yang kuat dalam data, dan variasi antar subjek akan sangat besar. Akibatnya tidak jelas bagaimana cara membagi data
  3. Rasio signal-to-noise sangat rendah
  4. Tidak jelas apa fitur yang benar untuk classifier

Ambil ini pada gilirannya:

  1. Ada berbagai hal yang dapat dilakukan seseorang. Pertama, kita dapat dengan aman menurunkan sampel dari 500Hz hingga ~ 200Hz, karena bahkan dengan mempertimbangkan batas Nyquist, aktivitas otak tidak benar-benar terjadi pada lebih dari 100Hz. Kami juga dapat melakukan subsampel dari himpunan saluran (misalnya pusat atas area pendengaran) tetapi kami lebih suka tidak melakukan ini secara apriori , karena mungkin ada aktivitas di area lain (frontal dll) yang mungkin menarik. Kami mungkin juga dapat menjatuhkan sebagian dari jendela waktu. Mungkin hanya 2s pertama yang penting untuk tugas ini? Itu tidak benar-benar diketahui. Tentu saja semua orang akan berteriak " Pengurangan dimensi! ", tapi itu juga tidak sepele. Pertama, kita harus sangat berhati-hati tentang pemisahan kereta / uji kami (lihat 2.) dan juga tidak jelas apakah akan melakukan ini sebelum atau setelah pembuatan fitur. Kedua, selain mahal validasi silang, atau inspeksi visual yang melelahkan, tidak ada cara yang jelas untuk memilih metode yang sesuai atau jumlah dimensi yang sesuai. Kita tentu saja dapat menggunakan misalnya PCA, ICA, atau proyeksi acak dan berharap yang terbaik ....

  2. Ini rumit. Jika kita memiliki sampel berturut-turut di set pelatihan, kita cenderung untuk mengganti set pelatihan, sedangkan jika kita memiliki sampel berturut-turut dibagi ke dalam kereta dan set tes kita cenderung kurang dari set pelatihan, tetapi masih bisa menyesuaikan set pengujian. Tampaknya ada berbagai opsi di sini:

    • Klasifikasi Subjek Tunggal . Ambil masing-masing subjek secara terpisah, dan bagi sesuai zaman. Ini harus menjadi tugas termudah, karena kami tidak mencoba untuk memprediksi seluruh otak. Dalam yang satu ini bisa menggunakan dua zaman tetap untuk validasi silang. Untuk kelengkapannya, seseorang harus memutar semua kombinasi. Kami hanya akan melaporkan akurasi rata-rata untuk semua mata pelajaran. Tentu saja kami tidak berharap model ini dapat digeneralisasikan dengan baik sama sekali.
    • Dalam klasifikasi mata pelajaran . Kumpulkan semua subjek, dan bagi sesuai zaman. Ini mungkin sebenarnya tugas yang paling mudah, karena kita akan melihat semua mata pelajaran dalam pelatihan. Namun kami mungkin tidak akan mengharapkan model untuk menggeneralisasi dengan baik untuk mata pelajaran baru. Dalam yang satu ini bisa menggunakan dua zaman tetap untuk validasi silang. Untuk kelengkapannya, seseorang harus memutar semua kombinasi.
    • Klasifikasi antar mata pelajaran . Juga dikenal sebagai "tinggalkan satu", di mana satu subjek diambil sebagai data uji, dan sisanya digunakan untuk pelatihan. Kami kemudian akan memutar semua subjek. Validasi silang kemudian akan dilakukan pada subjek. Kami akan mengharapkan ini menjadi tugas yang jauh lebih sulit, karena kami mencoba untuk memprediksi pada "otak baru" setiap kali. Di sini kita akan mengharapkan model untuk menggeneralisasi dengan baik untuk populasi yang lebih besar, meskipun ada masalah reliabilitas uji-ulang (yaitu seberapa banyak overfitting disebabkan oleh korelasi temporal).
  3. Ini adalah masalah klasik "jarum di tumpukan jerami" - sinyal aktual yang berkaitan dengan pengakuan genre musik, atau pemrosesan genre spesifik apa pun, cenderung sangat kecil dibandingkan dengan "sup" aktivitas di otak. Ada juga artefak terkenal yang hanya dapat dihilangkan sebagian (terutama terkait dengan pergerakan). Setiap fitur yang kami peroleh dari data, dan segala cara perlakuan terhadap data, harus menghindari penghancuran bagian dari sinyal yang diinginkan.

  4. Di sini orang bisa membayangkan melakukan berbagai hal. Yang pertama adalah dengan hanya menggunakan data mentah (digabungkan ke dalam vektor) sebagai vektor fitur. Saya tidak yakin seberapa berbuahnya itu - saya pikir vektor-vektor ini mungkin pada dasarnya acak secara seragam. Ini kemudian benar-benar pertanyaan pemrosesan sinyal, tetapi ada beberapa pedoman umum yang dapat diikuti. Salah satunya adalah melakukan Analisis Fourier standar melalui jendela geser, dari mana komponen dapat dibagi menjadi pita frekuensi yang berbeda (alpha / beta / gamma dll), dan statistik ini (rata-rata, deviasi std.) Dapat digunakan sebagai fitur. Atau seseorang dapat menggunakan Wavelet, Hilbert Transforms, atau bahkan berusaha mencari penarik yang kacau. Tentu saja kemudian kita memiliki pilihan kernel (linear, polinomial, RBF dll) yang mengalikan jumlah permutasi. Mungkin hal terbaik untuk dilakukan di sini adalah menghasilkan sebanyak mungkin set fitur yang berbeda, dan kemudian menggunakan MKL atau meningkatkan metode untuk menggabungkannya.

Bagaimana Anda mendekati dataset semacam ini (jika tidak yang khusus ini)? Apakah ada sesuatu yang saya lewatkan? Apa strategi yang paling mungkin untuk berhasil, tanpa menghabiskan waktu peneliti dan sumber daya komputasi yang tidak terbatas?

tdc
sumber

Jawaban:

4

@tdc. Semua dan banyak lagi masalah yang telah Anda sebutkan di sini mengenai analisis data ilmu saraf termasuk: Pengurangan dimensi, Klasifikasi dalam / antara subjek, rasio sinyal-ke-kebisingan, dll. Sedang ditangani oleh kotak alat EEGLAB , yang dirancang khusus untuk menangani data neuroscience semacam itu:

EEGLAB adalah kotak alat Matlab interaktif untuk memproses EEG, MEG, dan data elektrofisiologis terkait lainnya yang berkesinambungan yang menggabungkan analisis komponen independen (ICA), analisis waktu / frekuensi, penolakan artefak, statistik terkait peristiwa, dan beberapa mode visualisasi berguna dari rata-rata dan data uji coba tunggal.

Dengan demikian, sehubungan dengan pertanyaan Anda, "Apa strategi yang paling mungkin untuk berhasil, tanpa menghabiskan waktu peneliti yang tak terbatas" Saya ingin mendorong Anda untuk menonton EEGLAB pada lokakarya online , dan untuk melanjutkan dari sana ...

Pembaruan: untuk lebih banyak hal ML lihat model BCILAB (baru)

Dov
sumber
1
Saya sebenarnya telah menggunakan EEGLAB di masa lalu, meskipun terutama itu fungsi yang mendasari daripada GUI penuh (yang cenderung agak lambat dan tidak stabil). Namun sebagian besar diarahkan untuk analisis massa univariat daripada analisis multivariat, meskipun saya akui saya belum melihatnya dalam beberapa saat. Apakah Anda pernah mengalaminya?
tdc
Saya pikir Mereka telah membuat kemajuan besar dalam dua tahun terakhir ... dan saya menggunakan GUI dan fungsi matlab. Lokakarya ini dari tahun 2010 sangat berguna dan banyak bug diperbaiki, banyak model ditambahkan seperti STUDY dan lainnya. Saya sangat senang dengan itu menghemat waktu dan uang saya tetapi harap dicatat bahwa saya bekerja terutama dengan data EEG dan bukan MEG.
Dov
1
ok, menarik. Pada prinsipnya saya tidak melihat perbedaan antara EEG & MEG, karena mereka pada dasarnya mengukur aktivitas otak listrik, terlepas dari jenis artefak dan jumlah sensor. Sudahkah Anda menggabungkan EEGLAB dengan Machine Learning?
tdc
Tentu. sepanjang waktu. semuanya ada di matlab ... jadi setelah Anda memuat data Anda ke EEGLAB. Anda dapat menggunakan PCA / ICA (ini yang saya lakukan) dan kemudian melatih classifier / clustering favorit Anda SVM, fisher atau k-mean..hanya beri nama.
Dov
1
Ini adalah jawaban yang bagus untuk cakupannya, tetapi akan menyenangkan untuk melihat ringkasan tentang bagaimana masing-masing masalah ini ditangani secara independen dari kotak alat yang mengandalkan sistem berpemilik.
Bintang terang