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.
machine-learning
data-mining
Jack Twain
sumber
sumber
Jawaban:
Saya telah melihat beberapa kali pengembang menggunakan teknik ML. Ini adalah pola yang biasa:
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.
sumber
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:
Ingat:
Dan akhirnya:
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.
sumber
Saya setuju dengan semua yang dikatakan. Yang menonjol bagi saya adalah:
sumber
Berikut adalah beberapa hal yang membuat Anda menonjol di antara kerumunan:
Pesan keseluruhan yang berlaku untuk ketiga poin: Lihatlah gambaran besarnya, jangan sampai tersesat dalam detailnya.
sumber
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?
sumber
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.
sumber
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 :
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 NN 2N 2N
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.
sumber
Saya melihat ada dua bagian saat menangani pembelajaran mesin dalam praktek
Rekayasa (yang mencakup semua algoritma, mempelajari berbagai paket, pemrograman).
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.
sumber