Jenis machine learning secara umum adalah supervised learning, unsupervised learning, dan reinforcement learning. Perbedaan dari ketiganya dapat dilihat melalui halaman ini. Rangkuman berbagai jenis algoritma machine learning dan kasus penggunaannya akan disajikan disini.
Pernahkan anda berpikit dan mempelajari bagaimana Baidu menggunakan pengenalan wajah berbasis supervised learning untuk check-in bandara yang cerdas? Dan juga bagaimana Google menggunakan Reinforcement Learning untuk mengembangkan platform cerdas yang akan menjawab query yang Anda masukkan di mesin pencari?.
Machine Learning
Machine Learning adalah bidang keilmuan computer science yang sifatnya umum. Machine learning dapat diklasifikasikan menjadi tiga kelas yaitu supervised learning, unsupervised learning, dan reinforcement learning. Ketiga pengelompokan ini digunakan di berbagai aplikasi cerdas.
Machine Learning (ML) adalah bagaimana membuat mesin bekerja lebih baik pada beberapa tugas, menggunakan data yang diberikan. Machine learning adalah bidang ilmu komputer yang mempelajari bagaimana membangun algoritma yang membuat mesin mampu belajar dari data masukan.
Machine learning juga dapat didefinisikan sebagai proses penyelesaian masalah praktis dengan 1) mengumpulkan dataset, dan 2) secara algoritmik membangun model statistik berdasarkan pada dataset tersebut. Model statistik itu diasumsikan digunakan entah bagaimana untuk menyelesaikan masalah praktis[1].
Aplikasi Machine Learning
Machine learning memungkinkan sistem membuat keputusan secara mandiri tanpa dukungan dari eksternal dalam bentuk apa pun. Keputusan ini dibuat ketika mesin dapat belajar dari data dan memahami pola dasar yang terkandung di dalam data. Kemudian, melalui pencocokan pola dan analisis lebih lanjut, machine learning mengembalikan hasil yang dapat berupa klasifikasi atau prediksi.
Implementasi machine learning sendiri dapat dilihat pada diagram berikut ini:

Machine learning merupakan sains (dan seni) memprogram komputer agar mereka dapat belajar dari data.
Jenis-Jenis Machine Learning
Ada begitu banyak jenis Machine Learning sehingga sehingga diperlukan klasifikasi dalam beberapa kategori yang berdasarkan[2] :
- Apakah mereka dilatih dengan pengawasan manusia atau tidak (supervised learning, unsupervised learning, semi supervised learning, dan reinforcement learning)
- Apakah mereka dapat belajar secara bertahap dengan cepat (online learning, batch learning)
- Apakah mereka bekerja hanya dengan membandingkan titik data baru dengan titik data yang diketahui, atau malah mendeteksi pola dalam data pelatihan dan membangun model prediktif, seperti yang dilakukan ilmuwan (instance-based learning, model-based learning)
Kriteria pengelompokan di atas tidaklah kaku; kita dapat menggabungkan mereka sesuka hati. Misalnya, filter spam canggih dapat belajar dengan cepat menggunakan model deep neural network yang dilatih menggunakan contoh spam dan ham (bukan spam); ini menjadikan sistem tersebut sebuah sistem supervised learning dan berbasis model online learning.
Metode pembelajaran mesin berdasar data latih dikelompokkan ke dalam supervised, semi-supervised, unsupervised and reinforcement. Mari kita lihat perbedaannya:

Supervised Learning
Algoritma supervised learning digunakan untuk menyelesaikan berbagai persoalan yang terkait dengan:
- Classification (klasifikasi)
- Regression (regresi)
Algoritma supervised learning membutuhkan sekumpulan data set yang “berpasangan”, yaitu data set yang memiliki input variable dan output variable. Data set ini digunakan dalam proses training untuk melatih komputer. Umumnya data set yang tersedia berjumlah sangat banyak, sehingga sangat sulit untuk dievaluasi tanpa bantuan komputer.
Selama proses training inilah komputer akan belajar memahami data set guna menghasilkan model yang diharapkan. Data set (D) yang digunakan oleh algoritma supervised learning didefinisikan:
D = {(x0,y0), (x1,y1), … , (xn,yn)}
Supervised learning menggunakan labeled training data (training set yang sudah diberi label) untuk belajar melakukan mapping fungsi (function). Function ini menghubungkan input (x) dengan output (y). Kaitan keduanya dirumuskan sebagai:
y = f(x)
Setelah proses traning selesai maka akan terbentuk sebuah model. Model ini perlu diuji kembali dengan data set lain, bukan data set yang digunakan selama training (test set) sehingga dapat diketahui apakah fase training sudah dianggap berhasil atau tidak.
Selanjutnya, untuk mengetahui apakah model yang dihasilkan sudah cukup bagus maka dilakukan uji statistika.
Pada Supervised Learning: (1) komputer dituntun melakukan sesuatu; (2) dataset berpasangan ada variabel input dan output D = {(x0,y0), (x1,y1), … , (xn,yn)}; dan (3) digunakan menyelesaikan masalah yang berkaitan dengan Classification, dan Regression. Algoritma yang termasuk supervised learning:
- Support Vector Machine
- Linear Regression
- Logistic Regression
- Naïve Bayes
- Linear Discriminant Analysis (LDA)
- Decision Tree
- K-nearest neighbor
- Neural Networks (multilayer perceptron)
- Similiarity Learning, dll
Unsupervised Learning
Pada algoritma supervised learning komputer akan “dituntun” melakukan sesuatu, tapi pada algoritma unsupervised learning komputer “dibiarkan” belajar sendiri. Disebabkan komputer hanya menerima input variable dari data set, tanpa ada output variable yang bisa menuntunnya selama proses training.
Unsupervised Learning: (1) komputer dibiarkan belajar sendiri; (2) dataset tidak berpasangan hanya variabel input D = {x0, x1, … , xn}; dan (3) digunakan untuk menyelesaikan persoalan Association, dan Clustering. Algoritma yang termasuk unsupervised learning:
- K-means
- Hierarchical Clustering
- DBSCAN
- Fuzzy C-means
- Local Outlier Factor
- Deep Belief Nets
- Generative Adversarial Networks
- Expectation Maximization (EM), dll
Reinforcement Learning
reinforcement learning adalah subbidang machine learning dimana mesin bisa “hidup” dalam lingkungan dan mampu memahami state lingkungan tersebut sebagai vektor fitur. Mesin dapat menjalankan action di setiap state. Action yang berbeda membawa reward yang berbeda dan juga dapat memindahkan mesin ke state lingkungan lain.
Tujuan dari algoritma reinforcement learning adalah untuk mempelajari suatu policy. Policy adalah fungsi f (mirip dengan model dalam supervised learning) yang mengambil vektor fitur suatu state sebagai masukan dan keluaran sebagai action optimal untuk dijalankan dalam state tersebut. Action akan menjadi optimal jika memaksimalkan expected avearge reward.
Reinforcement Learning: (1) komputer melakukan pencarian sendiri –self discovery dengan cara berinteraksi dengan lingkungan; (2) dataset didapatkan dari pengalaman / experience, input didapatkan dari proses training; dan (3) digunakan untuk menyelesaikan persoalan Classification, dan Control.
Algoritma yang termasuk reinforcement learning: Q-Learning, State-Action-Reward-State-Action (SARSA), Deep Q Network (DQN), Deep Deterministic Policy Gradient (DDPG), Actor Critic, Monte Carlo Tree Search (MCTS).
Referensi
- Burkov, Andriy, 2019, The Hundred-Page Machine Learning Book
- Russel, Rudolph, 2018, Machine Learning: Step-by-Step Guide To Implement Machine Learning Algorithms with Python,