Algoritma Machine Learning: Jenis-jenis dan Contoh Algoritmanya

jenis jenis algoritma machine learning

Pada artikel ini, kita akan belajar mengenai algoritma machine learning, meliputi jenis-jenis dan pengelompokkannya, disertai dengan penjelasan singkat beberapa algoritma machine learning paling populer yang sering digunakan oleh para praktisi.

Algoritma machine learning adalah adalah algoritma yang digunakan dalam proses machine learning, di mana sistem melakukan pembelajaran berdasarkan data. Jenis-jenis algoritma machine learning dapat dikelompokkan menjadi supervised learning, unsupervised learning dan reinforcement learning. Pemilihan algoritma machine learning didasarkan pada tujuan atau jenis masalah, sumber daya komputasi, dan sifat data.

Beberapa algoritma machine learning paling sering digunakan antara lain:

  1. Linear regression
  2. Logistic regression
  3. K-means clustering
  4. Hierarchical clustering
  5. K Nearest Neighbor (KNN)
  6. Decision Tree
  7. Random Forest
  8. Support Vector Machine (SVM)
  9. Naïve Bayes
  10. Neural Network
  11. Principal Component Analysis (PCA)

Mari kita bahas lebih lanjut.

Apa itu algoritma Machine Learning?

Algoritma machine learning 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.

Jenis-jenis algoritma machine learning

Ada banyak pengelompokan algoritma dalam machine learning.

Berikut 3 jenis atau macam-macam kelompok algoritma machine learning:

  • Supervised learning
  • Unsupervised learning
  • Reinforcement learning

Mari kita ulas satu-per satu.

Supervised learning

Supervised learning atau pembelajaran yang diawasi adalah metode pembelajaran mesin (machine learning) yang ditentukan berdasarkan penggunaan kumpulan data berlabel. Pada dataset ini terdapat “label”, yaitu kolom yang menjadi target keluaran model.

Dalam pembelajaran terawasi, model dilatih menggunakan satu set data training dan dilatih dengan pengawasan (supervise) untuk mengklasifikasikan atau memprediksi output berdasarkan

data berlabel yang telah ditentukan sebelumnya.

Supervised learning dapat dibagi menjadi dua kategori, yaitu:
  • Klasifikasi
  • Regresi

Unsupervised learning

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).

Unsupervised learning digunakan untuk melakukan:

  • clustering
  • asosiasi
  • dimensionality reduction

Penjelasan lebih lengkap mengenai supervised dan non supervised learning, berikut perbedaan dan contoh penerapannya dapat dibaca di artikel berikut ini:

LANJUT BACA: Supervised dan unsupervised learning dalam machine learning: penjelasan, perbedaan dan contohnya

Reinforcement learning

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.

Beberapa Algoritma Machine Learning yang sering digunakan

Setelah memahami jenis-jenis algoritma machine learning, berikutnya akan dijelaskan beberapa algoritma yang populer atau yang paling sering digunakan.

#1 Linear regression

Regresi linier atau linear regression merupakan jenis algoritma supervised learning yang digunakan untuk mengidentifikasi hubungan antara variabel dependen/terikat dan satu atau lebih variabel independen/bebas dan biasanya digunakan untuk membuat prediksi di masa depan.

Dalam proses ini, hubungan antara variabel bebas dan terikat dihitung dengan menyesuaikan mereka ke garis regresi. Garis regresi diwakili oleh persamaan linier

Y= a *X + b.

BACA JUGA:  Support Vector Machine, Algoritma untuk Machine Learning

Di mana:

  • Y – Variabel Dependen
  • a – Slope
  • X – Variabel bebas
  • b – Intercept

Koefisien a & b diperoleh dengan meminimalkan jumlah selisih kuadrat jarak antara titik data dan garis regresi.

Bila hanya ada satu variabel bebas dan satu variabel terikat, maka disebut regresi linier sederhana.

Jika jumlah variabel bebas lebih dari satu, analisis ini disebut sebagai regresi linier berganda.

#2 Logistic regression

Logistic regression atau regresi logistik adalah algoritma supervised learning yang digunakan untuk memperkirakan nilai diskrete (biasanya nilai biner seperti 0/1, ya/tidak, benar//salah) dari sekumpulan variabel independen dengan memprediksi probabilitas suatu peristiwa dengan menyesuaikan data ke fungsi logit.

Jika regresi linier dimanfaatkan ketika variabel dependen adalah kontinu, regresi logistik dipilih ketika variabel dependen adalah kategoris, yang berarti mereka memiliki keluaran biner.

#3 K-means clustering

K-means clustering adalah salah satu algoritma analisis klaster (cluster analysis) non hirarki. Analisis  klaster  merupakan  salah  satu  alat  untuk  mengelompokkan  data berdasarkan variabel atau feature.

Algoritma K-means clustering mengelompokkan data berdasarkan jarak antara data terhadap titik centroid klaster yang didapatkan melalui proses berulang. Analisis perlu menentukan jumlah K sebagai input algoritma.

Dalam ranah machine learning, algoritma k-means clustering termasuk ke dalam jenis unsupervised learning.

Baca artikel ini untuk belajar lebih lanjut: K-Means Clustering: Pengertian, Metode dan Contohnya

k means clustering

#4 Hierarchical clustering

Metode analisis klaster dapat dibagi menjadi dua jenis:

  • Analisis klaster non hirarki (tidak bertingkat)
  • Analisis klaster hirarki (bertingkat)

Hierarchical clustering atau analisis cluster hirarki menggunakan proses klasterisasi bertingkat.

Analisis klaster bertingkat dapat dibagi menjadi dua tipe:

  • Divisive (top-down): dimulai dari klaster yang besar lalu dipisah, dibagi menjadi klaster-klaster yang lebih kecil. Contoh: taksonomi tumbuhan.
  • Agglomerative (bottom-up): dimulai dari setiap observasi dan dikelompokkan melalui penggabungan klaster secara bertahap, sampai didapatkan satu klaster yang mencakup semuanya.

Untuk lebih memahami mengenai analisis klaster, baca artikel ini: Cluster Analysis: Hirarki vs Non Hirarki.

hierarchical clustering

#5 K Nearest Neighbor

K-nearest neighbor (KNN) merupakan salah satu algoritma machine learning dengan pendekatan supervised learning yang paling sederhana.

Algoritma ini mengkelaskan data baru menggunakan kemiripan antara data baru dengan sejumlah data (k) pada lokasi yang terdekat yang telah tersedia.

KNN merupakan algoritma non parametrik, yaitu tidak membuat asumsi apapun terhadap data.

Algoritma KNN dapat digunakan untuk kasus klasifikasi (classification) maupun regresi (regression). Meskipun demikian, KNN lebih sering digunakan dalam proses klasifikasi.

Pelajari lebih lanjut: K-Nearest Neighbor: Algoritma Populer dalam Machine Learning

K nearest neighbour

#6 Decision Tree

Decision tree adalah jenis algoritma supervised learning yang banyak digunakan untuk masalah klasifikasi. Algoritma ini dapat bekerja pada variabel dependen dengan data kategorikal dan kontinu.

Dalam algoritma ini, kita membagi populasi menjadi dua atau lebih kelompok homogen. Pembagian dilakukan berdasarkan atribut/variabel independen atau feature yang paling signifikan untuk membuat kelompok yang berbeda sebanyak mungkin. Proses ini dilakukan berulang sampai target kelas sudah tercapai.

#7 Random Forest

Algoritma random forest adalah bentuk ensemble learning dengan metode bagging yang mengkombinasikan banyak “tree” hasil algoritma decision tree yang tidak berkorelasi satu sama lain. Untuk mendapatkan hasil akhir, hasil model dari setiap “tree” dilakukan voting, atau dihitung rata-ratanya.

Random forest ini merupakan algoritma supervised learning yang fleksibel, yang bisa digunakan untuk tugas klasifikasi maupun regresi.

Untuk memahami lebih dalam mengenai random forest, simak video ini:

#8 Support Vector Machine

Support Vector Machine (SVM) adalah salah satu algoritma machine learning dengan pendekatan supervised learning yang bekerja dengan mencari hyperplane atau fungsi pemisah terbaik untuk memisahkan kelas.

Algoritma SVM memiliki konsep dan dasar matematis yang mapan sehingga menjadi algoritma yang populer.

Algoritma ini dapat digunakan untuk klasifikasi (SVM classification) dan regresi (SVM regression).

Pelajari lebih lanjut: Support Vector Machine, sebuah algoritma Machine Learning

support vector machine

#9 Naïve Bayes

Naive Bayes adalah algoritma klasifikasi yang mengadopsi prinsip dari Teorema Bayes. Algoritma ini menganggap bahwa kehadiran satu fitur tidak memengaruhi keberadaan fitur lain dalam probabilitas hasil yang diberikan, dan setiap prediktor memiliki efek yang sama pada hasil tersebut.

Dengan demikian, ini memungkinkan kita untuk memprediksi kelas/kategori, berdasarkan serangkaian fitur tertentu, menggunakan probabilitas.

BACA JUGA:  Supervised dan Unsupervised Learning: Penjelasan, Perbedaan dan Contoh

Ada tiga jenis algoritma klasifikasi Naïve Bayes:

  • Multinomial Naive Bayes,
  • Bernoulli Naive Bayes, dan
  • Gaussian Naïve Bayes.

Teknik ini terutama digunakan dalam klasifikasi teks, identifikasi spam, dan sistem rekomendasi.

#10 Artificial Neural Network

Artificial Neural Network atau jaringan syaraf tiruan merupakan algoritma yang meniru operasi otak manusia untuk mengenali hubungan dalam data.

Algoritma jaringan syaraf tiruan yang paling populer adalah:

  • Perceptron
  • Multilayer Perceptron (MLP)
  • Back-propagation

#11 Principal Component Analysis

Analisis komponen utama/ Principal Component Analysis (PCA) adalah jenis algoritma pengurangan dimensi (dimensionality reduction) yang digunakan untuk mengurangi redundansi dan untuk mengompresi dataset melalui ekstraksi fitur.

Metode ini menggunakan transformasi linier untuk membuat representasi data baru, menghasilkan sejumlah set “principal component” atau PC sesuai dengan jumlah feature.

PCA menghitung varians maksimum dalam dataset, sehingga PC 1 dan PC 2 sama sekali tidak berkoleasi. Proses perhitungan ini dilakukan berulang sampai sejumlah dimensi datanya.

Biasanya, sejumlah feature pada dataset awal selanjutnya sudah terwakili oleh PC1 dan PC 2.

Pengelompokan algoritma berdasarkan aspek lainnya

Selain berdasarkan cara belajarnya, kita bisa mengelompokkan algoritma berdasarkan kesamaan-kesamaan lainnya. Pengelompokkan ini bisa banyak sekali, jadi di artikel ini saya hanya sebutkan beberapa yang penting saja.

Tujuan melakukan pengelompokkan algoritma ini adalah untuk memudahkan kita memahami setiap algoritma itu sendiri.

Satu algoritma tertentu dapat masuk ke dalam berbagai kategori, tergantung berdasarkan apa kita melakukan pengelompokannya.

Misal, algoritma KNN, dia akan masuk dalam algoritma supervised learning, instance-based learning, dan sebagainya.

Kelompok algoritma Instance-based Learning

Algoritma yang termasuk “lazy learning” atau “instant based learning” adalah algoritma yang tidak melakukan proses training. Algoritma ini menyimpan set data training dan “belajar” atau melakukan learning darinya hanya pada saat membuat prediksi secara real-time.

Contoh dari algoritma dengan Instant-based learning adalah:

  • K Nearest Neighbor
  • Support Vector Machine
  • Learning Vector Quantization
  • Locally Weighted Learning

Kelompok algoritma Transfer Learning

Transfer learning adalah suatu teknik atau metode yang memanfaatkan model yang sudah dilatih (pre-trained model) terhadap suatu dataset dan digunakan pada dataset yang baru untuk menyelesaikan permasalahan lain yang serupa.

Model awal ini digunakan sebagai starting point, kemudian memodifikasi dan mengupdate parameternya sehingga sesuai dengan dataset yang baru.

Teknik ini sangat bermanfaat pada saat dataset yang ada tidak cukup ideal untuk melakukan proses training dari awal.

Kelompok algoritma Association Rule Learning

Association rule adalah metode unsupervised learning berbasis aturan (rule-based) yang digunakan untuk menentukan hubungan penting antara variabel atau feature.

Association rule learning mengidentifikasi korelasi tersembunyi dalam dataset dengan menerapkan beberapa ukuran ketertarikan untuk menghasilkan aturan asosiasi untuk pencarian baru.

Cara kerja algoritma ini adalah dengan menghitung frekuensi kemunculan kejadian/ objek/ fenomena yang terjadi bersamaan (atau berasosiasi) dalam suatu dataset. Lalu, algoritma ini akan menemukan asosiasi yang lebih sering terjadi dibandingkan dengan kemungkinan asosiasi yang terjadi secara acak.

Contohnya dapat dilihat pada sistem rekomendasi playlist “Discover Weekly” Spotify yang dihasilkan dari riwayat lagu atau musik yang sering kita dengarkan sebelum-sebelumnya.

Beberapa algoritma association rule learning antara lain:

Meskipun ada beberapa algoritma berbeda yang digunakan untuk menghasilkan Association Rule seperti Eclat, dan FP-Growth, algoritma Apriori paling banyak digunakan.

Kelompok algoritma Ensemble Learning

Ensemble Learning adalah metode di mana beberapa algoritma pembelajaran digunakan secara bersamaan, lalu dikombinasikan untuk mendapatkan hasil pemodelan yang lebih akurat.

Beberapa jenis Ensemble learning di antaranya:

  • Bagging (misal Random Forest)
  • Boosting (misal Adaboost, XGBoost)
  • Stacking

Silakan pelajari lebih lanjut di tulisan ini: Ensemble Learning dalam Machine Learning: Bagging dan Boosting

Kelompok algoritma untuk dimensionality reduction

Dimensionality reduction adalah teknik untuk mengurangi jumlah variabel atau feature data input atau data training.

Proses ini dilakukan karena kita data dengan variabel yang sangat besar atau sering disebut dengan high dimensional data. Data seperti ini lebih menantang jika dilakukan pemodelan, sering disebut kutukan dimensionalitas (dimensionality curse).

Semakin tinggi feature-nya, model menjadi lebih kompleks. Semakin tinggi feature-nya, semakin tinggi kemungkinan untuk overfitting.

Ada dua pendekatan untuk melakukan dimensionality reduction, yaitu:

  • Feature selection: teknik yang digunakan untuk menilai feature mana yang terpilih dan dipertahankan, dan feature mana yang dihapus.
  • Feature extraction: proses ini mereduksi data dalam ruang berdimensi tinggi (high dimensional space) ke ruang berdimensi lebih rendah (lower dimensional space)

Beberapa algoritma untuk dimensionality reduction antara lain:

  • Principle Component Analysis (PCA)
  • Principle Component Regression (PCR)
  • Linear Discriminat Analysis (LDA)
  • Mixed Discriminat Analysis (MDA)
BACA JUGA:  14 Contoh Penerapan Machine Learning dalam Kehidupan Sehari-hari

Kelompok algoritma Deep Learning

Metode Deep Learning adalah pembaruan algoritma neural network. Algoritma ini membangun jaringan saraf yang jauh lebih besar dan lebih kompleks.

Contoh algoritma deep learning yang paling populer adalah:

  • Convolution Neural Network (CNN)
  • Recurrent Neural Network (RNN)
  • Deep Boltzman Machine (DBM)

FAQ mengenai algoritma machine learning

Bagaimana cara mempelajari algoritma machine learning?

Banyaknya algoritma dalam machine learning beserta kerumitannya kadang bisa membuat kita overwhelm atau takut sebelum mempelajarinya.

Tentu ada berbagai cara atau pendekatan untuk mempelajarinya. Kita perlu menyesuaikan setiap pendekatan dengan gaya belajar kita.

Meskipun demikian kita dapat belajar dengan menggunakan sebuah template dengan menjawab beberapa pertanyaan berikut:

  • Apa tujuan (objective) dari algoritma machine learning?
  • Bagaimana algoritma tersebut bekerja?
  • Apa kelebihan dan kekurangannya?
  • Kapan waktu atau kasus terbaik untuk menggunakannya?
  • Pada kasus seperti apa algoritma tersebut tidak boleh/bisa digunakan?
  • Apa saja tips dan trik dalam proses implementasinya?
  • Metode evaluasi seperti apa yang digunakan untuk evaluasi model dari algoritma ini?
  • Buat daftar bacaan/ referensi di mana kita bisa mempelajari algoritma ini lebih lanjut.

Setelah itu, praktekkan algoritma dalam sebuah kasus menggunakan data yang sudah banyak tersedia. Dalam proses ini, kita fokus pada: Jawabannya adalah tidak ada. Tidak ada algoritme ML terbaik untuk setiap kasus yang kita miliki.

  • Bagaimana proses implementasinya (R/ python)
  • Parameter apa saja yang dibutuhkan
  • Rule of thumb untuk setiap parameter (untuk hyperparameter tuning)
  • Bagaimana evaluasi model pada algoritma

Setidaknya, ini yang saya lakukan. Hasil catatan saya untuk setiap algoritma yang saya pelajari kemudian saya post juga dalam blog Geospasialis ini. Jadi, saya bisa akses kapanpun saya butuh membaca ulang.

Apa algoritma machine learning terbaik?

Jawabannya adalah tidak ada. Tidak ada algoritme ML terbaik untuk setiap kasus yang kita miliki.

Merangkum dari jawaban Machine Learning Mastery:

  • Tidak ada algoritma terbaik yang dapat digunakan untuk semua tujuan
  • Tidak ada pengaturan parameter algoritma terbaik untuk semua tujuan
  • Transferabilitas kemampuan sebuah algoritma dari satu kasus ke kasus lain dipertanyakan.
  • Solusinya adalah melakukan kajian pada setiap algoritma untuk setiap kasus yang kita miliki.
  • Kita bisa menggunakan pendekatan berbasis data (data-driven) untuk mengecek algoritma, menentukan parameter terbaik, dan mendapatkan model dengan hasil yang akurat, cepat dan dapat dipercaya.

Bagaimana memilih algoritma machine learning yang sesuai?

Banyaknya algoritma ML yang sudah ada bisa jadi membuat kita kebingungan untuk menggunakan algoritma yang mana.

Tidak ada jawaban pasti untuk pertanyaan ini. Pemilihan algoritma terbaik dilakukan dengan mempertimbangkan beberapa faktor:

  • Ukuran/ banyaknya training data
  • Akurasi dan interpretability dari output model
  • Kecepatan (training time)
  • Linieritas data
  • Jumlah feature.

Langkah-langkah menentukan algoritma terbaik adalah:

  1. Tentukan secara spesifik tujuan (objective) masalah atau kasus
  2. Eksplorasi data dan kenali data dengan baik
  3. Mulai dari model dasar untuk  membangun model baseline dan cobakan metode yang lebih kompleks.

Diagram dari Scikit-learn ini akan banyak membantu.

Memilih algoritma machine learning
Panduan memilih algoritma Machine Learning

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.

Kesimpulan

Melalui artikel ini, kita telah mengenal dan mempelajari dasar-dasar algoritma machine learning, mulai dari pengertian, jenis-jenisnya, serta menjawab beberapa pertanyaan yang sering diajukan.

Kita juga membaca secara singkat penjelasan-penjelasan mengenai berbagai algoritma yang sering digunakan dalam proses machine learning.

Jika masih ada pertanyaan, silahkan tanyakan di kolom komentar dan kita akan diskusikan bersama-sama.

About The Author

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top