Algoritma pembelajaran mesin mana yang dapat diskalakan menggunakan hadoop / mengurangi peta

9

Algoritma pembelajaran mesin yang skalabel tampak seperti buzz hari ini. Setiap perusahaan menangani kekurangan data besar . Apakah ada buku teks yang membahas algoritma pembelajaran mesin apa yang dapat diskalakan menggunakan arsitektur paralel seperti Map-Reduce, dan algoritma mana yang tidak bisa? Atau beberapa makalah yang relevan?

Nik
sumber

Jawaban:

4

Vowpal Wabbit, sebuah program pembelajaran mesin yang sangat cepat yang berfokus pada pembelajaran gradient descent online, dapat digunakan dengan Hadoop: http://arxiv.org/abs/1110.4198 Meskipun, saya belum pernah menggunakannya dengan cara ini. Jika saya memahaminya dengan benar, itu benar-benar hanya menggunakan Hadoop untuk keandalan dan menyediakan data untuk proses Vowpal Wabbit. Ini menggunakan sesuatu seperti AllReduce MPI untuk melakukan sebagian besar komunikasi.

ektrules
sumber
4

Seperti yang ditunjukkan oleh Jimmy Lin dan Chris Dyer pada bab pertama dalam buku mereka tentang Penambangan Teks Data-Intensif dengan MapReduce , pada skala data besar, kinerja berbagai algoritma bertemu sehingga perbedaan kinerja hampir hilang. Ini berarti bahwa mengingat kumpulan data yang cukup besar, algoritma yang ingin Anda gunakan adalah salah satu yang secara komputasi lebih murah. Hanya pada skala data yang lebih kecil bahwa perbedaan kinerja antara algoritma penting.

Yang sedang berkata, buku mereka (ditautkan di atas) dan Penambangan Kumpulan Besar oleh Anand Rajaraman, Jure Leskovec, dan Jeffrey D. Ullman mungkin adalah dua buku yang ingin Anda periksa juga, terutama karena mereka berkaitan langsung dengan MapReduce untuk keperluan penambangan data.

Richard D
sumber
1
"..pada skala besar, kinerja berbagai algoritma bertemu ..." Saya tidak tahu ini. Terima kasih atas wawasan yang bermanfaat ini. Juga, saya menemukan "Penambangan Kumpulan Data Besar" dan merasa sangat berguna. Akan melihat buku yang lain juga.
Nik
2

Jika Anda memiliki akses ke cluster Hadoop, saya akan memberi Spark tampilan. https://spark.apache.org/

screechOwl
sumber
MLlib berisi sejumlah algoritma pembelajaran mesin terdistribusi untuk Spark dengan contoh-contoh dalam Scala, Java, Python, dan R: spark.apache.org/docs/latest/ml-guide.html
Vadim Smolyakov
1

Tidak ada yang menyebutkan makalah berikut - http://papers.nips.cc/paper/3150-map-reduce-for-machine-learning-on-multicore.pdf (Andrew Ng adalah salah satu penulis)

Kertas itu sendiri adalah untuk mesin multi-core, tetapi pada dasarnya tentang menyusun kembali masalah pembelajaran mesin sehingga sesuai dengan pola pengurangan peta, dan dapat digunakan untuk sekelompok komputer. (untuk melihat mengapa itu bukan ide yang baik secara umum, Anda mungkin ingin membaca makalah ini - http://arxiv.org/pdf/1006.4990v1.pdf . Ini memiliki ikhtisar yang baik).

pengguna48654
sumber
Juga, Mahout adalah upaya untuk mengimplementasikan makalah Andrew Ng yang saya sebutkan.
user48654
0

Scaling Up Machine Learning : pendekatan paralel dan terdistribusi adalah buku yang bagus oleh John Langford et. Al. yang membahas implementasi paralel dari algoritma yang diawasi dan tidak terawasi. Ini berbicara tentang MapReduce, ansambel pohon keputusan, paralel K-means, paralel SVM, penyebaran kepercayaan, dan AD-LDA.

https://www.amazon.com/Scaling-Machine-Learning-Distributed-Approaches/dp/0521192242

Vadim Smolyakov
sumber