Apa itu Algoritma Machine Learning?
Algoritma machine learning (pembelajaran mesin) adalah algoritma yang digunakan dalam proses machine learning, di mana sistem melakukan pembelajaran berdasarkan data.
Algoritma machine learning diterapkan dalam membuat model, berdasarkan kumpulan data. Semakin banyak data, algoritma akan menyesuaikan diri agar model dapat bekerja lebih baik.
Apa perbedaan algoritma vs model dalam Machine Learning?
Kita sering mendengar istilah algoritma machine learning dan model machine learning. Keduanya merupakan hal yang berbeda.
“Algoritma” machine learning adalah prosedur yang dijalankan pada data untuk membuat “model” machine learning.
Sebuah “model” machine learning adalah output dari algoritma machine learning yang dijalankan pada data.
Contoh:
Algoritma decision tree menghasilkan model yang terdiri dari sebuah “tree” dalam logika if-then dengan nilai tertentu.
Jenis Algoritma Machine Learning.
Ada banyak pengelompokan algoritma dalam machine learning. Berikut 4 jenis atau macam-macam kelompok algoritma machine learning:
- Supervised learning atau pembelajaran yang diawasi adalah pendekatan machine learning yang ditentukan berdasarkan penggunaan dataset berlabel (labeled dataset). Dalam dataset ini, terdapat sebuah “label”, yaitu satu kolom yang menjadi target output model.
- Unsupervised learning merupakan metode pembelajaran dengan menggunakan algoritme machine learning untuk menganalisis dan mengelompokkan kumpulan data yang tidak berlabel (unlabelled data). Algoritme ini menemukan pola tersembunyi dalam data tanpa perlu campur tangan manusia, sehingga disebut dengan unsupervised (tanpa pengawasan).
- Semi-supervised learning adalah pendekatan machine learning dengan mengkombinasikan data berlabel dan data tidak berlabel dalam proses trainingnya. Dalam praktiknya, biasanya jumlah data yang tidak berlabel lebih banyak daripada data yang ada labelnya.
- Reinforcement learning adalah model machine learning yang mirip dengan supervised learning, tetapi algoritme tidak dilatih menggunakan data sampel atau data training. Pada reinforcement learning, model ini belajar sambil berjalan dengan menggunakan trial and error. Metode ini diterapkan pada agen cerdas agar ia dapat menyesuaikan dengan kondisi lingkungannya.
Dibawah ini adalah beberapa contoh algoritma berdasarkan teknik atau metode pembelajarannya yang paling sering digunakan antara lain:
- Regresi
- Regresi Linier Sederhana
- Regresi Linier Berganda
- Regresi Logistik
- Decision Tree
- Algoritma CHART
- Algoritma ID3
- Algortima C4.5
- Bayesian
- Naive Bayes
- Artificial Neural Network
- Multi Layer Perceptron
- Probabilistic Neural Network
- Backpropagation
- Gradient Descent
- Support Vector Machine
- Instance-Based Learning
- k-Nearest Neighbor (k-NN)
- Unsupervised Learning
- K-Means Clustering
- Hierarchical Clustering
- Ensemble Learning
- Bagging
- Random Forest
- Gradient Boosting
- Deep Learning
Bagaimana Tahapan Membangun Machine Learning?
Dalam membangun Machine Learning terdapat beberapa tahapan yang harus dilaksanakan. Berikut adalah tahap-tahap pengembangan Machine Learning menurut (Harrington, 2012), seperti dikutip dalam buku Fundamental of Python For Machine Learning karya Teguh Wahyono:
- Pengumpulan Data, merupakan proses pengumpulan data dari berbagai sumber.
- Mempersiapkan Data Masukan, merupakan proses mempersiapkan data masukan yang sesuai dengan format yang dibutuhkan untuk analisis.
- Menganalisis Data Masukan, merupakan proses menganalisis data masukan yang dapat dilakukan dengan melihat pola data dan juga dengan memisahkan data berdasarkan dimensi masing-masing data.
- Mengikutsertakan Keterlibatan Manusia, merupakan keterlibatan manusia dalam proses Machine Learning untuk meyakinkan bahwa tidak ada garbage atau data yang tidak berguna pada data yang akan digunakan baik untuk data testing maupun data training.
- Melatih Algoritma, pada langkah ini pengguna memberikan data yang berkualitas sebagai data training untuk diproses dalam sebuah model atau algoritma, dimana algoritma tersebut akan mengolah data menjadi informasi serta menyimpannya.
- Menguji Algoritma, merupakan proses untuk melihat seberapa baik kualitas algoritma yang telah dilatih pada tahap sebelumnya. Proses menguji algoritma dilakukan dengan data uji serta akan dilihat efesiensi dari algoritma tersebut.
- Menggunakan Model, merupakan tahapan akhir untuk algoritma yang diterapkan dalam suatu program, sehingga dapat melakukan suatu hal. Kemudian dilakukan pengecekan ulang terhadap langkah-langkah sebelumnya.
Apa Komponen pada Algoritma Machine Learning?
Terdapat banyak sekali jenis algoritma Machine Learning yang terus dikembangkan dari waktu kewaktu. Tetapi pada dasarnya setiap algoritma Machine Learning memiliki tiga komponen (Brownlee, 2015), yaitu:
- Representasi, komponen ini adalah tentang bagaimana merepresentasikan sebuah pengetahuan dalam bentuk yang formal, sehingga bisa dilakukan inferensi dengan operasi logika, fuzzy, decision tree, neural network, support vector machine dan sebagainya.
- Evaluasi, komponen ini adalah tentang bagaimana cara mengevaluasi prediksi dan hipotesis. Beberapa indikator yang digunakannya misalnya accuracy, prediction and recall, squared error, likelihood, posterior probability, cost, margin, entropy k-L divergence, dan sebagainya.
- Optimasi, komponen ini merupakan proses pencarian model terbaik yang dihasilkan serta pencarian parameter yang optimal (nilai efektif yang dapat dicapai), contohnya adalah combinatorial optimization, convex optimization, dan constrained optimization.
Pada dasarnya semua algoritma pembelajaran mesin adalah kombinasi dari ketiga komponen ini, sehingga dapat menjadi kerangka kerja untuk memahami semua algoritma.
Referensi:
Teguh Wahyono, 2018. Fundamental of Python For Machine Learning.
Geospasialist, Algoritma Machine Learning, https://geospasialis.com/algoritma-machine-learning