Setelah memahami masalah pembelajaran mesin yang perlu kita selesaikan (http://machinelearningmastery.com/practical-machine-learning-problems/), kita boleh memikirkan apa data yang perlu kita kumpulkan dan apa algoritma yang boleh kita gunakan. Terdapat banyak algoritma dalam bidang pembelajaran mesin, dan setiap algoritma mempunyai banyak sambungan, jadi sukar untuk menentukan algoritma yang betul untuk masalah tertentu. Dalam artikel ini, saya ingin memberi anda dua cara untuk merangkum algoritma yang akan anda temui di dunia nyata.
Algoritma terbahagi kepada pelbagai jenis berdasarkan bagaimana ia memproses pengalaman, persekitaran atau apa sahaja yang kita panggil input data. Buku teks pembelajaran mesin dan kecerdasan buatan biasanya mempertimbangkan cara pembelajaran yang boleh disesuaikan dengan algoritma.
Hanya beberapa gaya pembelajaran utama atau model pembelajaran yang dibincangkan di sini, dan beberapa contoh asas. Cara pengelompokan atau organisasi ini bagus kerana ia memaksa anda untuk memikirkan peranan input data dan proses penyediaan model, dan kemudian memilih algoritma yang paling sesuai dengan masalah anda, untuk mendapatkan hasil terbaik.
Pembelajaran yang dipantau: data input dipanggil data latihan, dan ada hasil yang diketahui atau ditandakan. Model membuat ramalan, jika salah ia akan dikoreksi, dan proses ini berterusan sehingga ia mencapai standard yang betul untuk data latihan. Contoh masalah termasuk klasifikasi dan masalah regresi, dan contoh algoritma termasuk regresi logik dan rangkaian saraf terbalik. Pembelajaran tanpa pengawasan: data input tidak dilabelkan dan tidak ada keputusan yang pasti. Model mengaitkan struktur dan nilai data. Contoh masalah termasuk pembelajaran peraturan persatuan dan masalah pengumpulan, dan contoh algoritma termasuk algoritma Apriori dan algoritma nilai rata-rata K. Pembelajaran separa diawasi: data input adalah campuran data yang ditandai dan tidak ditandai, ada beberapa masalah ramalan tetapi model juga mesti mempelajari struktur dan komposisi data. Contoh masalah termasuk masalah klasifikasi dan regresi, dan contoh algoritma pada dasarnya adalah lanjutan daripada algoritma pembelajaran yang tidak diawasi. Pembelajaran yang dipertingkatkan: data input dapat merangsang model dan membuat model bertindak balas. Maklum balas boleh diperoleh bukan sahaja dari proses pembelajaran yang dipantau, tetapi juga dari ganjaran atau hukuman di persekitaran.
Apabila memadukan keputusan perniagaan simulasi data, kebanyakannya menggunakan pembelajaran pengawasan dan pembelajaran tanpa pengawasan. Topik hangat berikutnya adalah pembelajaran separa pengawasan, seperti masalah pengelompokan imej, di mana terdapat banyak database masalah, tetapi hanya sebilangan kecil imej yang ditandakan.
Algoritma secara asasnya dikelaskan dari segi fungsi atau bentuk. Sebagai contoh, algoritma berasaskan pokok, algoritma rangkaian saraf. Ini adalah cara pengelompokan yang sangat berguna, tetapi tidak sempurna. Oleh kerana banyak algoritma dapat dengan mudah dikelaskan ke dalam dua kategori, misalnya, Pembelajaran Vector Quantization adalah algoritma rangkaian saraf dan kaedah berasaskan contoh.
Dalam bahagian ini saya senaraikan apa yang saya anggap sebagai kaedah yang paling intuitif untuk mengelaskan algoritma. Saya tidak mempunyai algoritma atau kaedah pengelompokan yang tidak terhingga, tetapi saya fikir ia berguna untuk memberi pembaca gambaran umum. Jika anda tahu apa-apa yang saya tidak senaraikan, sila kongsi dengan kami.
Regression (analisis regresi) adalah berkaitan dengan hubungan antara pembolehubah. Ia menggunakan kaedah statistik, beberapa contoh algoritma termasuk:
Ordinary Least Squares Logistic Regression Stepwise Regression Multivariate Adaptive Regression Splines (MARS) Locally Estimated Scatterplot Smoothing (LOESS)
Pembelajaran berasaskan contoh (instance based learning) mensimulasikan masalah keputusan, contoh yang digunakan atau contoh yang sangat penting untuk model. Kaedah ini membina pangkalan data yang ada dan kemudian menambah data baru, kemudian menggunakan kaedah pengukuran kesamaan untuk mencari kecocokan terbaik dalam pangkalan data, membuat ramalan.
k-Nearest Neighbour (kNN) Learning Vector Quantization (LVQ) Self-Organizing Map (SOM)
Ini adalah lanjutan daripada kaedah-kaedah lain (biasanya kaedah regresi), yang lebih baik untuk model yang lebih mudah, dan lebih baik untuk penjumlahan. Saya senaraikan di sini kerana popular dan kuat.
Ridge Regression Least Absolute Shrinkage and Selection Operator (LASSO) Elastic Net
Decision tree methods membina model keputusan berdasarkan nilai sebenar dalam data. Pohon keputusan digunakan untuk menyelesaikan masalah penyusunan dan regresi.
Classification and Regression Tree (CART) Iterative Dichotomiser 3 (ID3) C4.5 Chi-squared Automatic Interaction Detection (CHAID) Decision Stump Random Forest Multivariate Adaptive Regression Splines (MARS) Gradient Boosting Machines (GBM)
Bayesian method (Bahasa Inggeris: Bayesian method) adalah kaedah yang menggunakan teorema Bayes dalam menyelesaikan masalah klasifikasi dan regresi.
Naive Bayes Averaged One-Dependence Estimators (AODE) Bayesian Belief Network (BBN)
Kaedah Kernel yang paling terkenal ialah Mesin Vektor Sokongan. Kaedah ini memetakan data input ke dimensi yang lebih tinggi, dan beberapa masalah klasifikasi dan regresi lebih mudah dimodelkan.
Support Vector Machines (SVM) Radial Basis Function (RBF) Linear Discriminate Analysis (LDA)
Clustering (atau pengumpulan), sendiri menggambarkan masalah dan kaedah. Kaedah pengumpulan biasanya dikategorikan oleh cara pemodelan. Semua kaedah pengumpulan menggunakan struktur data yang seragam untuk mengatur data sehingga setiap kumpulan mempunyai sebanyak mungkin kesamaan.
K-Means Expectation Maximisation (EM)
Pembelajaran peraturan persatuan (Association rule learning) adalah kaedah yang digunakan untuk mengekstrak peraturan antara data, yang mana hubungan antara sejumlah besar data ruang multidimensi dapat dijumpai, dan hubungan penting ini dapat digunakan oleh organisasi.
Apriori algorithm Eclat algorithm
Jaringan saraf buatan (AI) diilhamkan dari struktur dan fungsi rangkaian saraf biologi. Ia adalah satu jenis padanan yang sering digunakan untuk masalah regresi dan klasifikasi, tetapi ia terdiri daripada beratus-ratus algoritma dan variasi.
Perceptron Back-Propagation Hopfield Network Self-Organizing Map (SOM) Learning Vector Quantization (LVQ)
Kaedah Pembelajaran mendalam (dalam bahasa Inggeris: Deep Learning) adalah pembaruan moden rangkaian saraf buatan. Ia mempunyai lebih banyak dan lebih rumit daripada rangkaian saraf tradisional, dan banyak kaedah yang berkaitan dengan pembelajaran separuh pengawasan, yang mempunyai banyak data dalam masalah pembelajaran ini, tetapi hanya sedikit data yang ditandakan.
Restricted Boltzmann Machine (RBM) Deep Belief Networks (DBN) Convolutional Network Stacked Auto-encoders
Pengurangan dimensi, seperti kaedah pengelompokan, mengejar dan memanfaatkan struktur kesatuan dalam data, tetapi ia menggunakan lebih sedikit maklumat untuk merangkum dan menggambarkan data. Ini berguna untuk memvisualisasikan data atau menyederhanakan data.
Principal Component Analysis (PCA) Partial Least Squares Regression (PLS) Sammon Mapping Multidimensional Scaling (MDS) Projection Pursuit
Ensemble methods terdiri daripada banyak model kecil yang dilatih secara bebas, membuat kesimpulan bebas, dan akhirnya membentuk ramalan keseluruhan. Banyak kajian tertumpu pada model apa yang digunakan dan bagaimana model ini digabungkan. Ini adalah teknik yang sangat kuat dan popular.
Boosting Bootstrapped Aggregation (Bagging) AdaBoost Stacked Generalization (blending) Gradient Boosting Machines (GBM) Random Forest

Ini adalah contoh gabungan yang dilakukan dengan kaedah gabungan (dari wiki), di mana setiap undang-undang kebakaran digambarkan dengan warna kelabu dan perkiraan akhir yang disintesis adalah merah.
Lawatan ke dalam algoritma pembelajaran mesin ini bertujuan untuk memberi anda gambaran keseluruhan mengenai apa algoritma dan beberapa alat untuk algoritma yang berkaitan.
Di bawah ini adalah beberapa sumber lain, jangan terlalu banyak, semakin banyak pengetahuan tentang algoritma akan menjadi lebih baik untuk anda, tetapi pengetahuan yang mendalam tentang beberapa algoritma juga berguna.
Diambil dari Berle Columns/Dafei Python Developer