Saya mulai ingin memajukan keahlian saya sendiri dan saya selalu terpesona dengan pembelajaran mesin. Namun, enam tahun yang lalu alih-alih mengejar ini, saya memutuskan untuk mengambil gelar yang sama sekali tidak terkait dengan ilmu komputer.
Saya telah mengembangkan perangkat lunak dan aplikasi selama sekitar 8-10 tahun sekarang, jadi saya memiliki pegangan yang baik tetapi saya sepertinya tidak dapat menembus sisi matematika dari pembelajaran mesin / probabilitas / statistik.
Saya mulai melihat materi pembelajaran dan pada halaman pertama itu mungkin termasuk sesuatu yang membingungkan saya dan segera membuat hambatan dalam pembelajaran saya.
- Apakah latar belakang yang kuat dalam matematika merupakan syarat total untuk ML? Haruskah saya mencoba mengisi kekosongan matematika saya sebelum melanjutkan dengan ML? Dapatkah belajar mandiri benar-benar berfungsi hanya untuk pengembang tanpa latar belakang ilmu komputer yang keras?
Pertanyaan terkait:
Jawaban:
Stanford (Ng) dan Caltech (Abu-Mostafa) telah menempatkan kelas pembelajaran mesin di YouTube. Anda tidak bisa melihat tugas, tetapi ceramah tidak bergantung pada itu. Saya sarankan mencoba menonton yang pertama, karena itu akan membantu Anda untuk mengetahui matematika apa yang perlu Anda pelajari. Saya percaya kelas yang sangat mirip dengan tugas diajarkan oleh Andrew Ng di Coursera, yang membantu Ng untuk membuatnya.
Satu pengecualian: Jika saya ingat dengan benar, di awal kuliah Stanford, Ng melakukan beberapa perhitungan yang melibatkan turunan dari jejak produk dari matriks. Itu agak terisolasi, jadi jangan khawatir jika Anda tidak mengikuti perhitungan itu. Saya bahkan tidak tahu jalan mana yang akan membahasnya.
Anda ingin memiliki pengetahuan tentang probabilitas, aljabar linier, pemrograman linier, dan kalkulus multivariabel. Namun, Anda perlu jauh lebih sedikit daripada apa yang terkandung dalam banyak kelas kuliah lengkap tentang mata pelajaran tersebut.
sumber
Bergantung pada jenis aplikasi, Anda tidak perlu banyak matematika sebagai praktisi ML.
Sebagai programmer otodidak (~ 15 tahun) dan sering putus kuliah tanpa banyak latar belakang matematika (Kalkulus III) atau statistik, saya mulai dengan pembelajaran mesin / penambangan data dengan beberapa sumber:
Buku "Menguasai Data Mining: Seni dan Ilmu Manajemen Hubungan Pelanggan" oleh Berry dan Linoff
Buku "Teknik Penambangan Data" oleh penulis yang sama
R, khususnya dan paket partai dan nnet
Saya bekerja di bagian pemasaran dan operasional nirlaba. Terutama pada awalnya, saya menggunakan data mining terutama untuk permohonan surat langsung.
Kemudian saya mengambil Aljabar Linier, Pembelajaran Mesin Andrew Ng, Pengantar Metode Statistik (STAT 301) di CSU, dll.
Untuk Anda, saya sarankan mulai dengan dua buku, kursus Andrew Ng, dan, tergantung pada aplikasi Anda, pohon keputusan (paket partai dalam R).
sumber
Saya pikir ini adalah pertanyaan yang bagus sebenarnya, dan sangat topikal; Saya tidak yakin apakah ada jawaban. Sebuah artikel baru-baru ini menimbulkan banyak kontroversi (lihat di sini ) dengan menyarankan bahwa ilmu data mudah dipelajari secara online. Satu hal penting tentang sebagian besar studi kasus yang disebutkan dalam artikel itu adalah bahwa studi tersebut berasal dari latar belakang aktuaria atau matematika.
Ini adalah poin yang menarik, karena ini menunjukkan bahwa sementara kursus online seperti Coursera, Stanford dan edX sangat membantu dalam mengajarkan keterampilan ilmu komputer tertentu yang diperlukan, ada kemungkinan bahwa beberapa latar belakang matematika sangat penting untuk memahami apa yang sedang dilakukan oleh model yang Anda laksanakan. . Di sisi lain, argumen yang sama kuatnya dapat dibuat bahwa orang-orang ini semua berpikiran analitik untuk memulai, dan ini adalah alasan mengapa mereka bekerja dalam disiplin kuantitatif serta mengapa mereka mengambil pembelajaran mesin dengan mudah dan memenangkan kompetisi.
Saya pikir secara mendasar bahwa ada tingkat masalah analisis yang terjadi di sini. Sementara keterampilan matematika kadang-kadang membantu dalam memahami akar probabilistik dari algoritma yang Anda terapkan, ada argumen yang sama untuk dibuat bahwa keterampilan rekayasa perangkat lunak yang baik dapat menambahkan sebanyak mungkin dengan memungkinkan Anda melakukan analisis tingkat tinggi dan menyusun bagian-bagian algoritma untuk mencapai tujuan Anda, bahkan jika Anda tidak sepenuhnya mengerti mengapa mereka melakukan itu . Secara umum, ilmu data (dan pembelajaran mesin oleh asosiasi) adalah bidang yang menarik justru karena luasnya ini - Anda bisa menjadi orang basis data dan menggunakan kekuatan kasar untuk menyelesaikan masalah, atau ahli matematika yang menggunakan simulasi, atau ilmuwan komputer yang memanfaatkan rekayasa dengan baik kode untuk mengumpulkan berbagai algoritma dan pendekatan secara optimal.
Semua pendekatan yang menambah prediksi itu baik, jadi saya katakan bahwa belajar matematika mungkin merupakan ide yang bagus untuk memberi Anda peluang sukses terbaik di bidang ini. Jika Anda ingin beberapa titik awal yang baik, MIT memiliki kursus aljabar linier yang bagus , dengan beberapa aplikasi komputasi yang bagus, yang menurut saya mudah dipahami. Mereka juga memiliki kursus lain tentang proses stokastik dan kalkulus multivariabel yang mungkin juga menarik dalam membangun pengetahuan Anda.
sumber
Apakah latar belakang yang kuat dalam matematika merupakan syarat total untuk ML? - jawaban dan spekulasi untuk ML dikonseptualisasikan sebagai statistik ;-)
Sekitar tahun 1990 saya memiliki harapan untuk aljabar komputer menjadi bantuan, saya pikir itu tetapi sangat terbatas. Tetapi tentu saja membantu dengan mempercepat pembelajaran matematika (kurang perlu mengembangkan keterampilan manipulasi dengan berlatih atau mencoba bertahan dengan hanya mampu melakukan latihan sederhana). Saya menemukan Aljabar Linear Fred Szabo dengan Mathematica contoh yang sangat baik tentang ini (tapi saya sudah mengambil kursus aljabar linier tingkat teori lanjut.)
Saya telah bekerja sejak 1988 (Menggunakan Metode Intensif Komputer untuk "Mengkonkretkan" Teorema dan Prinsip-prinsip dari Statistik - Tepatnya) untuk membuat jawaban tidak atau setidaknya tidak perlu (untuk statistik). Seseorang akan selalu dapat memahami lebih cepat dan lebih umum dengan keterampilan dan pemahaman matematika tambahan. Saya pikir saya sudah mulai dekat, tetapi orang membutuhkan representasi yang mampu memanipulasi model dan kesimpulan yang valid dan berguna untuk lebih dari sekedar masalah mainan.
Haruskah saya mencoba mengisi kekosongan matematika saya sebelum melanjutkan dengan ML?
Itu usaha keras - di MHO hampir semua orang yang memahami statistik sampai di sana dengan menjadi sangat nyaman memanipulasi standar dan terutama tidak begitu representasi matematis standar model probabilitas menghasilkan dan karakterisasi matematika inferensi (x% tertinggi dari statistik matematika Phds). Jadi bukan hanya mendapatkan dasar tetapi benar-benar nyaman dengan matematika. (Sebagai tambahan, bagi saya Teori Fourier sangat penting.)
Mengapa representasi ini sulit (bahkan dengan banyak matematika)?
Gerd Gigerenzer telah cukup banyak menetapkan bahwa tidak ada tantangan dengan penyakit sederhana positif / negatif yang diberikan tes positif / masalah negatif menggunakan frekuensi alami ". Referensi dari pertanyaan terkait tampaknya memanfaatkan http://www.autonlab.org/tutorials/prob18.pdf
Mengapa ini sulit digeneralisasikan?
Untuk tes k (diulang dan atau berbeda) - 2 ^ k
Untuk tes yang mengambil nilai v - v ^ k
Jadi untuk biner tidak diketahui - 2 * v ^ k probabilitas jalur sampel
Untuk p multiple binary tidak diketahui 2 ^ p * v ^ k
Untuk p multiple rasional tidak diketahui Q ^ p * v ^ k
Seseorang dengan cepat pindah ke matematika dengan jumlah tak terbatas yang tak terhitung dan tak terhitung untuk mengatasi hal ini, yang bahkan dengan keahlian matematika menyebabkan banyak kesalahpahaman dan paradoks yang tampak (misalnya paradoks Borel?)
Selain itu ada kesalahpahaman berbahaya linear ke non-linear (misalnya Bahaya Tersembunyi Menentukan Winbugs Prior Noninformatif Primer dan MCMC lainnya tanpa informasi untuk distribusi sebelumnya ) dan interaksi dan efek acak, dll.
sumber