Ini adalah data pelatihan saya: 200.000 Contoh x 10.000 Fitur. Jadi matriks data pelatihan saya adalah - 200.000 x 10.000.
Saya berhasil menyimpan ini dalam file datar tanpa memiliki masalah memori dengan menyimpan setiap dataset satu per satu (satu contoh demi satu) karena saya menghasilkan fitur untuk setiap contoh.
Tapi, sekarang ketika saya menggunakan Milk , SVM light , atau Algoritma Pembelajaran Mesin lainnya, semuanya mencoba memuat seluruh data pelatihan ke dalam memori alih-alih melatihnya satu per satu. Namun saya hanya memiliki 8 GB RAM, jadi saya tidak dapat melanjutkan dengan cara ini.
Tahukah Anda bahwa saya bisa melatih algoritma satu set data dengan satu set data? Yaitu, sehingga setiap saat saya hanya memiliki satu dataset dimuat ke dalam memori, saat pelatihan.
sumber
Jawaban:
Saya percaya istilah untuk jenis pembelajaran ini adalah pembelajaran di luar inti . Salah satu saran adalah vowpal wabbit , yang memiliki perpustakaan R yang mudah digunakan , serta perpustakaan untuk banyak bahasa lainnya.
sumber
Saya sungguh-sungguh mendukung saran Zach. vowpal wabbit adalah pilihan yang sangat baik, dan Anda akan terkejut oleh kecepatannya. Set data 200k x 10k tidak dianggap besar menurut norma vowpal wabbit.
vowpal_wabbit (tersedia dalam bentuk sumber melalui https://github.com/JohnLangford/vowpal_wabbit , versi yang lebih lama tersedia sebagai paket standar di alam semesta Ubuntu) adalah pembelajar linear + bilinear yang cepat, dengan input yang sangat fleksibel. Anda dapat mencampur fitur biner dan nilai numerik. Tidak perlu memberi nomor fitur karena nama variabel akan berfungsi "apa adanya". Ia memiliki banyak pilihan, algoritme, reduksi, fungsi kerugian, dan fleksibilitas luar biasa. Anda dapat bergabung dengan milis (temukan melalui github) dan ajukan pertanyaan. Masyarakat sangat berpengetahuan dan mendukung.
sumber
Saya menjawab pertanyaan serupa di sini . Poinnya adalah kebanyakan pembelajaran mesin / algoritma penambangan data adalah pemelajar batch yang memuat semua data ke memori. Oleh karena itu Anda memerlukan alat yang berbeda untuk kumpulan data yang sangat besar seperti yang Anda miliki. Lihat alat pertanyaan itu juga.
Pembelajaran Online adalah cara untuk mengurangi jejak memori dari algoritma.
sumber