Keterampilan yang sulit ditemukan di pembelajar mesin?

71

Tampaknya penambangan data dan pembelajaran mesin menjadi sangat populer sehingga sekarang hampir setiap siswa CS tahu tentang pengklasifikasian, pengelompokan, statistik NLP ... dll. Jadi, menemukan penambang data bukanlah hal yang sulit saat ini.

Pertanyaan saya adalah: Apa keterampilan yang bisa dipelajari oleh penambang data yang akan membuatnya berbeda dari yang lain? Untuk menjadikannya tipe orang yang tidak mudah ditemukan.

Jack Twain
sumber
6
Meskipun ini merupakan jawaban atas pertanyaan yang berbeda, beberapa poin dalam jawaban lama saya dapat dibawa ke sini. Assad membuat beberapa pernyataan serupa dalam jawabannya yang sangat bagus di bawah ini.
kardinal

Jawaban:

62

Saya telah melihat beberapa kali pengembang menggunakan teknik ML. Ini adalah pola yang biasa:

  1. unduh perpustakaan dengan nama mewah;
  2. menghabiskan 10 menit membaca cara menggunakannya (melewatkan statistik, matematika, dll);
  3. beri makan dengan data (tanpa preprocessing);
  4. mengukur kinerja (misalnya akurasi bahkan jika kelas sama sekali tidak seimbang) dan beri tahu semua orang betapa hebatnya dengan akurasi 99%;
  5. digunakan dalam produksi dengan hasil gagal epik;
  6. temukan seseorang yang mengerti apa yang terjadi untuk membantu mereka karena buku petunjuk tidak masuk akal sama sekali.

Jawaban sederhananya adalah (kebanyakan) insinyur perangkat lunak sangat lemah dalam hal statistik dan matematika. Ini adalah keunggulan siapa pun yang ingin bersaing dengan mereka. Tentu saja statistik orang keluar dari zona nyaman mereka jika mereka perlu menulis kode produksi. Jenis peran yang menjadi sangat langka adalah Data Scientist. Seseorang yang dapat menulis kode untuk mengakses dan bermain dengan jumlah data yang sangat besar dan menemukan nilainya di dalamnya.

iliasfl
sumber
14
LOL di "beri tahu semua orang betapa hebatnya dengan keakuratan 99%"
Jack Twain
2
+1 Saya setuju dengan semuanya. "[...] Ilmuwan Data. Ini adalah seseorang yang dapat menulis kode untuk mengakses dan bermain dengan jumlah data yang sangat besar dan menemukan nilai di dalamnya." Yang bagi saya menyarankan itu harus tetap alami langka, karena tampaknya tidak mungkin bagi kebanyakan manusia untuk mengatasi masalah statistik dan dasar yang kompleks serta mengubah sesuatu menjadi kode produksi. Ini juga menjelaskan mengapa kita memiliki ahli bedah jantung, anestesi, ahli saraf, perawat, administrator rumah sakit dll Atau sipil, aeronautika, pertambangan, kimia, insinyur mekanik dll
Thomas Speidel
2
Bagi saya, ini sebenarnya bukan deskripsi tentang apa yang dibutuhkan seseorang untuk menjadi calon ML yang menonjol - lebih dari pesta ML. Kedengarannya seperti Anda menggambarkan seseorang yang terlalu fokus untuk mendapatkan "jawaban" sebelum mereka bahkan yakin dengan apa pertanyaannya. Pada dasarnya, orang "khas ML" Anda adalah seseorang yang memiliki keterampilan perencanaan yang buruk, dan seseorang yang tidak membahas apa yang ingin mereka lakukan dengan "klien" sebelum membajak, dan kembali dengan "jawabannya". Ini bukan sesuatu yang terbantu dengan memiliki matematika / statistik yang baik - ini adalah sesuatu yang membutuhkan keterampilan komunikasi yang baik.
probabilityislogic
61

Tentang apa ini?

Mengetahui tentang teknik mirip dengan mengenal binatang di kebun binatang - Anda dapat memberi nama, menggambarkan sifat-sifatnya, mungkin mengidentifikasi mereka di alam liar.

Memahami kapan harus menggunakannya, merumuskan, membangun, menguji, dan menggunakan model matematika yang berfungsi dalam area aplikasi sambil menghindari jebakan --- ini adalah keterampilan yang membedakan, menurut pendapat saya.

Penekanannya harus pada sains , menerapkan pendekatan sistematis, ilmiah untuk masalah bisnis, industri, dan komersial. Tapi ini membutuhkan keterampilan yang lebih luas daripada data mining & pembelajaran mesin, seperti yang dikemukakan Robin Bloor secara persuasif dalam "A Data Science Rant" .

Jadi apa yang bisa dilakukan?

Area aplikasi : pelajari tentang berbagai area aplikasi yang dekat dengan minat Anda, atau area perusahaan Anda. Area ini sering kurang penting daripada memahami bagaimana model itu dibangun dan bagaimana itu digunakan untuk menambah nilai pada area itu. Model-model yang berhasil dalam satu area seringkali dapat ditransplantasikan dan diterapkan ke area berbeda yang bekerja dengan cara yang sama.

Kompetisi : coba situs kompetisi penambangan data Kaggle , lebih baik bergabung dengan tim lain. (Kaggle: platform untuk kompetisi pemodelan prediktif. Perusahaan, pemerintah, dan peneliti menyajikan kumpulan data dan masalah dan ilmuwan data terbaik dunia berlomba untuk menghasilkan solusi terbaik.)

Fundamental : Ada empat: (1) landasan yang kuat dalam statistik, (2) keterampilan pemrograman yang cukup baik, (3) memahami bagaimana menyusun kueri data yang kompleks, (4) membangun model data. Jika ada yang lemah, maka itu adalah tempat yang penting untuk memulai.


Beberapa kutipan dalam hal ini:

“Saya belajar sejak dini perbedaan antara mengetahui nama sesuatu dan mengetahui sesuatu. Anda dapat mengetahui nama burung di semua bahasa di dunia, tetapi ketika Anda selesai, Anda tidak akan tahu apa-apa tentang burung itu ... Jadi mari kita lihat burung itu dan lihat apa yang dilakukannya - itu apa yang diperhitungkan. '' - Richard Feynman, "The Making of a Scientist", h14 di What Do You Care What Other People Think, 1988

Ingat:

`` Kombinasi keterampilan yang diperlukan untuk melaksanakan proyek-proyek ilmu [ilmu data] bisnis ini jarang berada dalam satu orang. Seseorang memang bisa mendapatkan pengetahuan luas dalam tiga bidang: (i) apa yang dilakukan bisnis, (ii) cara menggunakan statistik, dan (iii) bagaimana mengelola data dan aliran data. Jika demikian, ia memang bisa mengklaim sebagai ilmuwan bisnis (alias, "ilmuwan data") di sektor tertentu. Tetapi orang-orang seperti itu hampir sama langka dengan gigi ayam. '' - Robin Bloor, A Data Science Rant , Agu 2013, Inside Analysis

Dan akhirnya:

`` Peta ini Bukan Wilayah. '' - Alfred Korzybski, 1933, Sains & Sanitas.

Sebagian besar masalah nyata yang diterapkan tidak dapat diakses hanya dari `` peta ''. Untuk melakukan hal-hal praktis dengan pemodelan matematika kita harus mau menjadi kotor dengan detail, seluk-beluk, dan pengecualian. Tidak ada yang bisa menggantikan untuk mengetahui wilayah itu secara langsung.


Assad Ebrahim
sumber
6
+1. Solusi out of the box jarang berhasil untuk masalah bisnis spesifik organisasi Anda. Anda perlu menyesuaikan dan meningkatkan, dan untuk itu Anda perlu memahami apa yang ada di bawah tenda.
Zhubarb
4
@ Zhubarb - Saya pikir ini hanya sebagian saja yang benar. Solusi "Out of the box" dapat digunakan untuk efek besar, tidak hanya sepanjang waktu, dan juga biasanya tidak untuk menyelesaikan tugas dari awal hingga selesai. Kuncinya adalah mengetahui kapan Anda bisa menggunakan "solusi out of the box", dan kapan diperlukan pendekatan yang lebih khusus.
probabilityislogic
41

Saya setuju dengan semua yang dikatakan. Yang menonjol bagi saya adalah:

  1. Betapa sedikit "pakar" pembelajaran mesin benar-benar tertarik dengan materi yang ingin mereka terapkan ML
  2. Betapa sedikit yang benar-benar memahami akurasi prediksi dan aturan penilaian yang tepat
  3. Betapa sedikit yang memahami prinsip validasi
  4. Betapa sedikit yang tahu kapan harus menggunakan kotak hitam vs. model regresi tradisional
  5. Bagaimana tidak ada "pakar" yang pernah mempelajari Bayes fungsi keputusan atau kerugian / utilitas / biaya optimal [kurangnya pemahaman ini ditampilkan hampir setiap saat seseorang menggunakan klasifikasi alih-alih risiko yang diprediksi]
Frank Harrell
sumber
3
Maukah Anda menguraikan 4? Saya tidak begitu mengerti apa yang Anda maksud
17
Saya akan berpikir bahwa barang itu adalah yang paling mudah untuk dipahami. Berikut ini sebuah contoh: dalam bidang studi tertentu anggaplah bahwa kami memiliki pengalaman sebelumnya bahwa sebagian besar variabel beroperasi secara aditif. Menyesuaikan model regresi aditif yang tidak menganggap prediktor beroperasi secara linier (misalnya, menggunakan splines regresi) akan memberikan model statistik yang dapat ditafsirkan dan bermanfaat. Menggunakan svm atau hutan acak di sisi lain akan sangat sulit untuk ditafsirkan, tidak memiliki efek yang dapat dipisahkan, dan tidak akan memprediksi lebih baik daripada model aditif nonlinier.
Frank Harrell
7
Ya benar untuk kedangkalan materi pelajaran. Bahkan di dunia ML, saya sering melihat kecenderungan ini ingin menyekop data mentah ke dalam kotak ajaib dan memiliki wawasan yang sangat bagus. Apa yang dicari orang-orang ini adalah otak buatan.
DarenW
3
+1 untuk item 1 khususnya. Bukti kurangnya minat pada domain adalah bahwa menerapkan pengetahuan domain akan membutuhkan pengetahuan bagaimana 'membuka' kotak hitam dan memodifikasi. Dengan kotak hitam, maksud saya untuk banyak entry level ML bahkan teknik pemodelan statistik dasar ada di kotak hitam itu. Jika minat / kemampuan tidak ada maka jauh lebih sulit untuk menerapkan pengetahuan domain.
Meadowlark Bradsher
7
@ DarenW: Kecenderungan juga tercermin dalam nama: "Machine Learning" dengan konotasi bahwa mesin belajar ... dengan sendirinya ... hanya menyekop data mentah. Bandingkan nama yang kurang glamour (tetapi lebih akurat IMO) yang dipilih oleh Hastie, Tibshirani, et.al .: "Pembelajaran Statistik". Konotasi berbeda, penjelasan berbeda, semuanya merujuk kembali pada prinsip statistik.
Assad Ebrahim
11

Berikut adalah beberapa hal yang membuat Anda menonjol di antara kerumunan:

  • Memahami domain aplikasi atau domain. Yaitu, lingkungan bisnis atau konteks lainnya.
  • Pahami gambaran besarnya. Ini sangat penting! Orang yang mempelajari pembelajaran mesin sering tersesat dalam detailnya. Pikirkan gambaran keseluruhan yang akan cocok dengan model ML Anda. Seringkali bagian ML hanyalah segmen kecil dari sistem yang jauh lebih besar. Pahami keseluruhan sistem.
  • Studi utilitas dan teori keputusan dan inferensi Bayesian, bukan hanya apa pun yang sekarang dianggap sebagai model ML "biasa". Bayesian inference hanyalah cara untuk memformalisasikan gagasan membawa semua informasi kontekstual untuk menanggung masalah. Teori utilitas dan keputusan adalah tentang membawa nilai ke dalam gambar.

Pesan keseluruhan yang berlaku untuk ketiga poin: Lihatlah gambaran besarnya, jangan sampai tersesat dalam detailnya.

Robert Dodier
sumber
4

Keterampilan yang membedakan satu penambang data dari yang lain adalah kemampuan untuk menafsirkan model pembelajaran mesin. Kebanyakan membangun mesin, melaporkan kesalahan dan kemudian berhenti. Apa hubungan matematis antar fitur? Apakah efeknya additive atau non-additive atau keduanya? Apakah ada fitur yang tidak relevan? Apakah mesin diharapkan di bawah hipotesis nol bahwa hanya ada pola peluang dalam data? Apakah model digeneralisasikan ke data independen? Apa arti pola-pola ini untuk masalah yang sedang dipelajari? Apa kesimpulannya? Apa wawasannya? Mengapa pakar domain harus bersemangat? Akankah mesin mengarah ke pakar domain yang mengajukan pertanyaan baru dan merancang eksperimen baru? Dapatkah penambang data mengkomunikasikan model secara efektif dan implikasinya pada dunia?

Jason Moore
sumber
8
+1 Setuju - meskipun apa yang Anda gambarkan disebut statistik.
Thomas Speidel
4

Saya akan mengedepankan gagasan "soft skill".

  • mengenali siapa yang "ahli" untuk metode X, dan bisa memanfaatkan pengetahuan mereka (Anda seharusnya tidak dapat atau diharapkan tahu segalanya tentang erything). Kemampuan dan kemauan untuk berkolaborasi dengan orang lain.

  • kemampuan menerjemahkan atau mewakili "dunia nyata" dengan matematika yang digunakan dalam ML.

  • kemampuan untuk menjelaskan metode Anda dengan cara yang berbeda untuk audiens yang berbeda - mengetahui kapan harus fokus pada detail dan kapan harus mundur dan melihat konteks yang lebih luas.

  • pemikiran sistem, bisa melihat bagaimana peran Anda memberi makan ke area lain dari bisnis, dan bagaimana area ini memberi umpan balik ke pekerjaan Anda.

  • apresiasi dan pemahaman tentang ketidakpastian, dan memiliki beberapa metode terstruktur untuk menghadapinya. Mampu menyatakan dengan jelas apa asumsi Anda.

probabilityislogic
sumber
4

Mampu menggeneralisasi dengan baik

Inilah esensi dari model yang baik. Dan itu adalah inti dari apa yang membuat para praktisi terbaik dari seni pembelajaran mesin menonjol dari kerumunan.

Memahami bahwa tujuannya adalah untuk mengoptimalkan kinerja pada data yang tidak terlihat, bukan untuk meminimalkan kehilangan pelatihan. Mengetahui bagaimana cara menghindari over-fitting dan under-fitting. Menghadirkan model-model yang tidak terlalu rumit namun tidak terlalu sederhana dalam menggambarkan masalah. Mengekstraksi inti dari set-pelatihan, daripada maksimum yang mungkin.

Sungguh mengejutkan betapa sering, bahkan praktisi pembelajaran mesin yang berpengalaman, gagal mengikuti prinsip ini. Salah satu alasannya adalah bahwa manusia gagal untuk menghargai dua besar teori-vs-praktek perbedaan besarnya :

  • Seberapa besar ruang dari semua contoh yang mungkin dibandingkan dengan data pelatihan yang ada, bahkan ketika data pelatihan sangat besar.
  • Seberapa besar "ruang hipotesis" penuh : jumlah model yang mungkin untuk suatu masalah, dibandingkan dengan "ruang solusi" praktis: semua yang dapat Anda pikirkan, dan semua yang dapat diwakili oleh perangkat lunak / alat Anda.

Yang ke-2 secara khusus tidak dapat dipahami karena bahkan untuk masalah yang paling sederhana dengan input dan hasil biner, ada kemungkinan input-contoh, dan jumlah yang lebih besar 2 ^ dari model yang mungkin.2 N 2 NN2N2N

Ini juga yang sebagian besar jawaban di atas katakan dengan cara yang lebih spesifik dan konkret. untuk menggeneralisasi dengan baik adalah cara terpendek yang bisa saya pikirkan, untuk membuatnya.

diri sendiri
sumber
2

Saya melihat ada dua bagian saat menangani pembelajaran mesin dalam praktek

  1. Rekayasa (yang mencakup semua algoritma, mempelajari berbagai paket, pemrograman).

  2. Curiosity / Reasoning (kemampuan untuk mengajukan pertanyaan yang lebih baik ke data).

Saya pikir 'rasa ingin tahu / alasan' adalah keterampilan yang membedakan satu dari yang lain. Sebagai contoh, jika Anda melihat papan pemimpin dari penyelesaian kaggle, banyak orang mungkin telah menggunakan algoritma umum (mirip), apa yang membuat perbedaannya adalah, bagaimana seseorang secara logis mempertanyakan data dan merumuskannya.

Chitrasen
sumber