Mempelajari algoritma pembelajaran mesin: kedalaman pemahaman vs jumlah algoritma


13

Baru-baru ini saya diperkenalkan ke bidang Ilmu Data (sudah sekitar 6 bulan), dan Ii memulai perjalanan dengan Kursus Pembelajaran Mesin oleh Andrew Ng dan pos yang mulai mengerjakan Spesialisasi Ilmu Data oleh JHU.

Di depan aplikasi praktis, saya telah bekerja membangun model prediksi yang akan memprediksi gesekan. Sejauh ini saya telah menggunakan glm, bayesglm, rf dalam upaya untuk belajar dan menerapkan metode ini, tetapi saya menemukan banyak celah dalam pemahaman saya tentang algoritma ini.

Dilema dasar saya adalah:

Apakah saya harus lebih fokus pada mempelajari seluk-beluk beberapa algoritma atau haruskah saya menggunakan pendekatan untuk mengetahui banyak dari mereka dan kapan dan sebanyak yang diperlukan?

Tolong bimbing saya ke arah yang benar, mungkin dengan menyarankan buku atau artikel atau apa pun yang menurut Anda akan membantu.

Saya akan berterima kasih jika Anda akan menjawab dengan ide membimbing seseorang yang baru saja memulai karirnya di bidang Ilmu Data, dan ingin menjadi orang yang memecahkan masalah praktis untuk dunia bisnis.

Saya akan membaca (sebanyak mungkin) sumber daya (buku, artikel) yang disarankan dalam posting ini dan akan memberikan umpan balik pribadi tentang pro dan kontra yang sama sehingga menjadikan ini posting yang bermanfaat bagi orang-orang yang menemukan pertanyaan serupa di masa depan, dan saya pikir akan lebih baik jika orang menyarankan buku-buku ini dapat melakukan hal yang sama.

Jawaban:


9

Saya akan merekomendasikan membatasi diri Anda pada beberapa algoritma yang telah dicoba dan tepercaya. Saya tidak akan merekomendasikan Elemen pembelajaran statistik (sebagai buku pertama). Itu terlalu teoretis, ditujukan untuk mahasiswa pascasarjana, dengan latihan yang menanyakan bagaimana membuktikan X atau Y ... Saya pikir ISL lebih tepat, dengan saran yang lebih praktis (dalam hal apa pun kedua buku itu gratis seperti unduhan pdf).

Selain statistik, saya akan memastikan Anda merasa nyaman dengan tes desain / AB eksperimental, dan dengan Business Intelligence / Visualization.


Akan menghargai jika Anda dapat menyarankan beberapa Algoritma bahwa seseorang tidak boleh LEWATKAN, atau lebih baik untuk mengatakan adalah yang paling berguna untuk memecahkan masalah bisnis praktis. Jika mungkin, harap sebutkan cara terbaik untuk mempelajarinya (buku-buku tertentu, artikel mandiri atau mungkin coba-coba)

2
Saya akan mengatakan hampir semua algo di ISL: regresi linier, regresi logistik, metode berbasis pohon, SVM; Pengelompokan dan pengurangan dimensi misalnya PCA. Bacalah buku ini dan lihat kursus online yang sesuai ( online.stanford.edu/course/statribution-learning-winter-2014 - mungkin di youtube?).
seanv507

Sumber Daya Hebat, bagus untuk memiliki buku dan video yang sama oleh Penulis sendiri. Terima kasih banyak untuk tautannya, tidak mengetahui hal ini.
Vinay Tiwari

Maaf, tapi ini saran yang buruk . Seorang ilmuwan data tidak boleh mengandalkan beberapa algoritma. Anda perlu mengandalkan keterampilan data dan analisis Anda sendiri dan tidak ada dua masalah data yang sama. Beberapa akan dipecahkan dengan X, yang lain dengan Y. Sama sekali tidak masuk akal untuk mengharapkan semesta data untuk bertingkah ke beberapa algoritma Anda. Bersikaplah penasaran, fleksibel, berpengetahuan luas dan gunakan alat yang tepat untuk pekerjaan itu, bukan hanya yang Anda ketahui.
I_Play_With_Data

5

Seseorang yang menyebut diri mereka seorang ilmuwan data harus tahu lebih banyak tentang seluk-beluk algoritma yang ia gunakan — misalnya apa yang memengaruhi tingkat konvergensi dari algoritma skoring Fisher di GLM — daripada ahli statistik umum atau taman — yang mungkin puas hanya untuk mengetahui bahwa solusi kemungkinan-maksimum akan ditemukan (mungkin setelah mereka membuat secangkir kopi). Dalam kasus apa pun, memahami konsep umum statistik & pembelajaran mesin adalah penting selain memahami metode yang Anda gunakan — teori di baliknya, asumsi yang mereka buat, pemeriksaan diagnostik apa yang harus Anda lakukan, bagaimana menafsirkan hasil. Hindari menjadi parodi ini .

Anda mungkin senang membaca Hastie et al. (2009), Elemen Pembelajaran Statistik .


Tentunya akan membacanya! Sangat menyukai baris terakhir ... saya pikir dorongan dan kadang-kadang tekanan untuk mendapatkan hasil secepatnya sering mengarah ke parodi seperti itu. Dan sama pentingnya untuk menghindari kebalikan dari ini, di mana seseorang pergi begitu dalam dalam pembelajaran sehingga menjadi tidak berguna untuk masalah-masalah dunia nyata. sementara tumbuh / belajar kadang-kadang lebih penting untuk mengetahui apa yang TIDAK harus dilakukan, terima kasih banyak atas bimbingannya untuk melihat lebih banyak wawasan seperti itu yang akan mencerahkan saya dan orang lain pada Perjalanan yang serupa.

"apa yang memengaruhi tingkat konvergensi algoritma skor Fisher di GLM" - Saya kira Anda kehilangan 99% dari Data Scientists di sini.

@Momo: Ya, "ilmuwan data" adalah salah satu istilah yang buruk bintangnya yang hampir tidak pernah mendapatkan mata uang sebelum mulai didevaluasi.
Scortchi

2

Yah, saya akan mengatakan mengetahui seluk-beluk 1 atau 2 algoritma secara detail (seperti inner parameter mereka) jelas lebih baik daripada mengetahui cara menjalankan banyak dari mereka.

Saya telah berada di area Analytics selama sekitar 11 tahun dan seorang Ilmuwan Data selama 2,5 tahun dan saya berbicara dari pengalaman. Di sisi lain, Anda harus benar-benar mengetahui hal-hal lain di luar sana (algoritma yang lebih baru seperti pembelajaran yang mendalam, SVM, XGboost dll) yang mungkin lebih berlaku untuk masalah Anda saat ini.

Saya pikir tentu saja Dr. Andrew Ng membahas beberapa detail dari beberapa algoritma dan ini merupakan awal yang baik. Seperti yang orang lain tunjukkan, http://statweb.stanford.edu/~tibs/ElemStatLearn/ adalah buku yang bagus dan memiliki video untuk dibarengi.

Ini adalah pendapat pribadi saya, algoritma yang tidak boleh Anda lewatkan adalah: (Ketahui ini secara terperinci):

1) Regresi linier berganda 2) Regresi logistik 3) Teknik umum pengurangan dimensi seperti PCA 4) K-means clustering 5) Regresi non-linier 6) Metode optimisasi: metode pencarian berbasis gradien, pemrograman linier dan optimasi diskrit 7) Konsep dan algoritma dalam rekayasa fitur 8) Metode perkiraan waktu-seri sederhana

Lebih banyak algoritma Esoterik:

1) Hutan Acak 2) SVM 3) pembelajaran dalam 4) Metode lain pengurangan dimensi seperti LDA 5) Metode berbasis kernel lainnya 6) Algoritma genetika 7) XgBoost 8) Regresi dinamis 9) Metode GARCH / ARCH 10) Pemodelan persamaan struktural 11) Metode Box Jenkins dalam peramalan deret waktu 12) Teori informasi: perolehan informasi, saling menguntungkan, dll.


0

Saya berada dalam situasi yang sama. Saya mulai dengan masing-masing dan setiap algoritma di sini (dan sangat detail).

masukkan deskripsi gambar di sini

Namun, saya segera menemukan bahwa akademisi dalam pembelajaran mesin / mendalam bergerak sangat cepat, dan selalu datang dengan algoritma yang lebih cepat / canggih yang jauh lebih baik daripada algoritma tradisional dalam banyak aplikasi dunia nyata . Jadi, selalu lebih disukai untuk diperbarui dengan tren terbaru. Saya menyarankan (seperti biasanya saya lakukan sendiri) untuk mengambil langganan umpan berita yang baik (seperti Medium) atau jurnal penelitian mutakhir yang menakjubkan dan mengikutinya. Banyak kali algoritma yang luar biasa datang dari makalah penelitian yang menangani masalah tertentu (mungkin mirip dengan Anda).

Intinya adalah, untuk menjadi ilmuwan data yang baik (atau insinyur ML), Anda perlu perpaduan antara kedalaman dan lebar. Saya pribadi merasa berguna untuk mengetahui banyak algoritma di permukaan mereka (hanya apa yang mereka lakukan, kapan mereka digunakan, pro dan kontra). Saya kembali kepada mereka ketika saya merasa ( hanya merasa ) mereka mungkin membantu saya memecahkan masalah tertentu. Saya membacanya secara terperinci dan melihat apakah itu cocok. Mereka mungkin, atau mungkin juga tidak. Tetapi memikirkan detailnya sangat penting untuk memastikan Anda tidak melewatkan pendekatan yang luar biasa untuk masalah Anda karena kurangnya wawasan tentang pendekatan itu. Misalnya, ketika saya sedang mengerjakan sesuatu yang membutuhkan deteksi objek (sangat sederhana sekalipun). Saya membaca tentang R-CNN, Fast-CNN, YOLO. Saya segera menoleh ke mereka untuk melihat apakah mereka cocok. Hari itu saya mengenal mereka lebih detail.

Apakah saya harus lebih fokus pada mempelajari seluk-beluk beberapa algoritma atau haruskah saya menggunakan pendekatan untuk mengetahui banyak dari mereka dan kapan dan sebanyak yang diperlukan?

Mempelajari seluk beluk itu luar biasa. Namun, dunia bergerak sangat cepat. Mungkin ada algoritma baru yang mengalahkan yang Anda pelajari dengan sangat rinci. Oleh karena itu, sudah waktunya untuk menghapus penggunaan itu dan melihat apakah yang baru lebih baik bagi Anda.

Belajar hal-hal ketika dibutuhkan. Dan ketika dibutuhkan, pelajari secara detail. Anda harus dapat menerapkan hal-hal jika Anda merasa hal itu mungkin dapat bekerja. Dan wawasan ini berasal dari pengetahuan.

Semoga berhasil.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.