Skip to main content

Jenis-jenis Algoritma Manchine Learning

· 10 min read
Ucup TopekoX
Ucup TopekoX
TimposuLabs creator

1. Pengantar Machine Learning

Machine Learning (ML) adalah cabang dari Artificial Intelligence (AI) yang berfokus pada pengembangan algoritma statistik.

Algoritma Machine Learning belajar dari data untuk menemukan pola dan melakukan generalisasi terhadap data baru tanpa harus diprogram secara eksplisit untuk setiap kemungkinan.

Secara umum, Machine Learning terbagi menjadi dua kategori utama:

Supervised Learning

Supervised Learning adalah metode Machine Learning yang menggunakan data yang memiliki label atau target output yang sudah diketahui.

Contoh:

  • Memprediksi harga rumah.
  • Mengklasifikasikan foto kucing dan anjing.
  • Memprediksi apakah sebuah email merupakan spam atau bukan spam.

Unsupervised Learning

Unsupervised Learning menggunakan data yang tidak memiliki label atau jawaban yang diketahui.

Algoritma akan mencari pola, struktur, atau kelompok berdasarkan kemiripan data secara mandiri.

Contoh:

  • Mengelompokkan pelanggan berdasarkan perilaku belanja.
  • Mengelompokkan dokumen berdasarkan kemiripan isi.
  • Mengelompokkan email berdasarkan kategori tanpa label awal.

Machine Learning


2. Supervised Learning

Supervised Learning memiliki dua jenis tugas utama:

Regresi

Regresi digunakan untuk memprediksi nilai numerik yang bersifat kontinu.

Contoh:

  • Memprediksi harga rumah.
  • Memprediksi suhu.
  • Memprediksi jumlah penjualan.

Alur sederhana:

Luas Rumah -> Model -> Prediksi Harga

Klasifikasi

Klasifikasi digunakan untuk memprediksi kategori atau kelas yang bersifat diskret.

Contoh:

  • Spam atau bukan spam.
  • Kucing atau anjing.
  • Lulus atau tidak lulus.
  • Positif atau negatif.

Alur sederhana:

Isi Email -> Model -> Spam atau Bukan Spam

A. Linear Regression

Linear Regression digunakan untuk menemukan hubungan linier antara variabel input dan variabel output.

Konsep

Model mencoba membuat garis lurus terbaik atau regression line yang menggambarkan hubungan antara data input dan output.

Alur sederhana:

Input -> Linear Regression -> Output

Persamaan dasar Linear Regression:

y = mx + b

Keterangan:

  • y = nilai yang diprediksi.
  • x = variabel input.
  • m = kemiringan garis atau slope.
  • b = titik potong atau intercept.

Cara Kerja

Model mencari garis yang memiliki kesalahan prediksi sekecil mungkin.

Salah satu metode yang digunakan adalah Least Squares, yaitu meminimalkan jumlah kuadrat jarak antara nilai sebenarnya dengan nilai prediksi.

Contoh

Memprediksi ukuran sepatu berdasarkan tinggi badan.

Tinggi Badan -> Linear Regression -> Ukuran Sepatu

B. Logistic Regression

Logistic Regression merupakan algoritma yang digunakan untuk tugas klasifikasi.

Meskipun memiliki kata "Regression", algoritma ini umumnya digunakan untuk menentukan kelas suatu data.

Konsep

Logistic Regression menggunakan fungsi sigmoid untuk menghasilkan probabilitas antara 0 dan 1.

Fungsi sigmoid:

sigma(x) = 1 / (1 + e^(-x))

Contoh:

Data
|
v
Logistic Regression
|
v
Probabilitas
|
v
Kelas

Misalnya:

Probabilitas = 0.85
Threshold = 0.5

0.85 lebih besar dari 0.5
Hasil = Kelas Positif

Contoh Penggunaan

  • Spam atau bukan spam.
  • Lulus atau tidak lulus.
  • Pelanggan membeli atau tidak membeli.
  • Positif atau negatif.

C. K-Nearest Neighbors (KNN)

K-Nearest Neighbors (KNN) adalah algoritma yang menentukan prediksi berdasarkan data yang berada paling dekat dengan data baru.

KNN termasuk algoritma non-parametric, yaitu tidak membuat asumsi kuat mengenai bentuk distribusi data.

Cara Kerja

  1. Tentukan nilai K.
  2. Hitung jarak data baru dengan data lainnya.
  3. Ambil K data yang paling dekat.
  4. Tentukan hasil berdasarkan tetangga tersebut.

Untuk klasifikasi, hasil biasanya ditentukan berdasarkan mayoritas kelas.

Untuk regresi, hasil dapat ditentukan berdasarkan rata-rata nilai tetangga.

Alur sederhana:

Data Baru
|
v
Cari K Tetangga Terdekat
|
v
Lihat Mayoritas Kelas
|
v
Prediksi

Hyperparameter K

K merupakan hyperparameter yang menentukan jumlah tetangga yang digunakan.

Jika K terlalu kecil:

K kecil
|
v
Model terlalu mengikuti data lokal
|
v
Risiko Overfitting

Jika K terlalu besar:

K besar
|
v
Model terlalu general
|
v
Risiko Underfitting

D. Support Vector Machine (SVM)

Support Vector Machine (SVM) adalah algoritma yang mencari batas keputusan atau decision boundary terbaik untuk memisahkan kelas-kelas data.

Konsep

SVM berusaha menemukan hyperplane yang memisahkan data dengan margin terbesar.

Kelas A Kelas B

O O O O X X X
O O O X X X
O O X X

|
|
|
Decision Boundary

Support Vectors

Support Vectors adalah titik data yang berada paling dekat dengan decision boundary.

Titik-titik tersebut memiliki peran penting dalam menentukan posisi batas pemisah.

Kernel Trick

Kernel Trick digunakan ketika data tidak dapat dipisahkan dengan garis lurus.

Data dapat dipetakan ke dimensi yang lebih tinggi sehingga pemisahan menjadi lebih mudah.

Alurnya:

Data 2D
|
v
Kernel Trick
|
v
Dimensi Lebih Tinggi
|
v
Data Dapat Dipisahkan

E. Naive Bayes Classifier

Naive Bayes adalah algoritma klasifikasi yang berdasarkan pada Teorema Bayes.

Konsep

Naive Bayes menghitung probabilitas suatu data termasuk ke dalam kelas tertentu berdasarkan fitur yang dimilikinya.

Algoritma ini memiliki asumsi sederhana bahwa setiap fitur dianggap independen satu sama lain.

Inilah alasan algoritma tersebut disebut Naive.

Contoh

Untuk menentukan apakah email merupakan spam:

Email
|
v
Analisis Kata
|
v
Hitung Probabilitas
|
v
Spam atau Bukan Spam

Keunggulan

Naive Bayes memiliki beberapa keunggulan:

  • Cepat dalam proses pelatihan.
  • Efisien untuk data berdimensi tinggi.
  • Cocok untuk klasifikasi teks.
  • Banyak digunakan pada spam filtering.

Contoh Penggunaan

  • Spam filter.
  • Analisis sentimen.
  • Klasifikasi dokumen.
  • Kategorisasi berita.

F. Decision Trees

Decision Tree adalah algoritma yang menggunakan struktur seperti pohon untuk mengambil keputusan.

Model membuat serangkaian pertanyaan untuk membagi data menjadi kelompok yang semakin spesifik.

Contoh sederhana:

Apakah suhu lebih dari 30 C?
/ \
Ya Tidak
| |
v v
Panas Tidak Panas

Struktur utama Decision Tree terdiri dari:

  • Root Node - titik awal pengambilan keputusan.
  • Decision Node - titik yang berisi pertanyaan atau kondisi.
  • Branch - jalur hasil keputusan.
  • Leaf Node - hasil akhir prediksi.

Tujuan pembagian data adalah menghasilkan kelompok yang semakin homogen atau murni.

G. Bagging dan Random Forest

Bagging atau Bootstrap Aggregating adalah teknik ensemble yang melatih beberapa model menggunakan sampel data yang berbeda, kemudian menggabungkan hasil prediksi.

Salah satu algoritma terkenal yang menggunakan konsep ini adalah Random Forest.

Random Forest

Random Forest menggabungkan banyak Decision Tree yang bekerja secara paralel.

Data
|
+-----------+-----------+
| | |
v v v
Tree 1 Tree 2 Tree 3
| | |
v v v
Prediksi Prediksi Prediksi
\ | /
\ | /
+---------+---------+
|
v
Majority Vote
|
v
Hasil Akhir

Untuk klasifikasi, setiap tree memberikan suara.

Kelas dengan suara terbanyak menjadi hasil akhir.

Keunggulan

Random Forest dapat membantu:

  • Mengurangi risiko overfitting.
  • Meningkatkan stabilitas model.
  • Menangani banyak fitur.
  • Menghasilkan prediksi yang lebih robust dibandingkan satu Decision Tree.

H. Boosting

Boosting merupakan teknik ensemble yang melatih model secara berurutan atau sequential.

Model berikutnya berusaha memperbaiki kesalahan yang dibuat oleh model sebelumnya.

Konsepnya:

Data
|
v
Model 1
|
v
Kesalahan
|
v
Model 2
|
v
Memperbaiki Kesalahan
|
v
Model 3
|
v
Model Akhir

Contoh algoritma boosting:

  • AdaBoost.
  • Gradient Boosting.
  • XGBoost.

Perbedaan sederhana:

BaggingBoosting
Model dilatih secara paralelModel dilatih secara berurutan
Fokus mengurangi varianceFokus memperbaiki kesalahan
Contoh: Random ForestContoh: XGBoost

3. Deep Learning dan Neural Networks

Deep Learning merupakan pengembangan dari konsep Neural Network yang menggunakan banyak lapisan untuk mempelajari pola kompleks dari data.

Konsep Neural Network

Neural Network terinspirasi dari cara kerja neuron biologis.

Struktur sederhananya:

Input Layer
|
v
Hidden Layer
|
v
Output Layer

Setiap neuron menerima input, melakukan perhitungan, kemudian meneruskan hasilnya ke neuron berikutnya.

Deep Learning

Deep Learning menggunakan banyak hidden layers.

Input
|
v
Hidden Layer 1
|
v
Hidden Layer 2
|
v
Hidden Layer 3
|
v
Hidden Layer
|
v
Output

Semakin dalam jaringan, model dapat mempelajari representasi data yang semakin kompleks.

Implicit Feature Engineering

Salah satu keunggulan Deep Learning adalah kemampuannya untuk mempelajari fitur secara otomatis.

Pada Machine Learning tradisional, manusia sering perlu menentukan fitur yang penting.

Pada Deep Learning:

Raw Data
|
v
Neural Network
|
v
Belajar Fitur
|
v
Belajar Pola
|
v
Prediksi

Keunggulan

Deep Learning sangat cocok untuk data kompleks seperti:

  • Gambar.
  • Suara.
  • Video.
  • Bahasa alami.
  • Data dengan dimensi tinggi.

Contoh:

Foto Wajah
|
v
Neural Network
|
v
Belajar Pola Wajah
|
v
Identifikasi

4. Unsupervised Learning

Unsupervised Learning digunakan untuk menemukan struktur, pola, atau hubungan tersembunyi dalam data yang tidak memiliki label.

Berbeda dengan Supervised Learning:

Supervised Learning

Data + Label
|
v
Model
|
v
Prediksi

Sedangkan:

Unsupervised Learning

Data
|
v
Model
|
v
Cari Pola atau Struktur

Dua teknik penting dalam Unsupervised Learning adalah:

  • Clustering.
  • Dimensionality Reduction.

A. Clustering

Clustering adalah teknik untuk mengelompokkan data berdasarkan kemiripan karakteristik.

Contoh:

Data Pelanggan
|
v
Clustering
|
v
+-----+-----+-----+
| C1 | C2 | C3 |
+-----+-----+-----+

Misalnya pelanggan dapat dikelompokkan menjadi:

  • Pelanggan dengan pengeluaran rendah.
  • Pelanggan dengan pengeluaran sedang.
  • Pelanggan dengan pengeluaran tinggi.

B. K-Means Clustering

K-Means merupakan salah satu algoritma clustering yang paling populer.

Huruf K menunjukkan jumlah cluster yang ingin dibuat.

Cara Kerja

Secara umum, K-Means bekerja melalui langkah berikut:

  1. Menentukan jumlah cluster K.
  2. Menentukan posisi awal centroid.
  3. Menghitung jarak setiap data terhadap centroid.
  4. Menempatkan data ke centroid terdekat.
  5. Menghitung ulang posisi centroid.
  6. Mengulangi proses sampai posisi cluster stabil.

Contoh:

Data
|
v
Tentukan K
|
v
Pilih Centroid
|
v
Hitung Jarak
|
v
Kelompokkan Data
|
v
Update Centroid
|
v
Ulangi
|
v
Cluster Final

Contoh

Jika:

K = 3

maka algoritma akan berusaha membagi data menjadi:

Cluster 1
Cluster 2
Cluster 3

Algoritma Clustering Lain

Selain K-Means, terdapat beberapa algoritma clustering lain:

  • Hierarchical Clustering
  • DBSCAN

DBSCAN memiliki keunggulan karena dapat menemukan cluster dengan bentuk yang tidak beraturan dan tidak harus menentukan jumlah K terlebih dahulu.

C. Dimensionality Reduction

Dimensionality Reduction adalah teknik untuk mengurangi jumlah fitur atau dimensi pada dataset dengan tetap mempertahankan informasi penting sebanyak mungkin.

Misalnya sebuah dataset memiliki:

100 fitur

Dengan dimensionality reduction, data dapat direduksi menjadi:

10 fitur utama

Tujuannya antara lain:

  • Mengurangi kompleksitas data.
  • Mengurangi noise.
  • Mempercepat proses pelatihan.
  • Mengurangi jumlah fitur.
  • Mempermudah visualisasi data.

D. Principal Component Analysis (PCA)

Principal Component Analysis (PCA) merupakan salah satu metode dimensionality reduction yang populer.

PCA mencari arah dengan varians terbesar dalam data yang disebut Principal Components.

Secara sederhana:

Banyak Fitur
|
v
PCA
|
v
Fitur Utama
|
v
Dimensi Lebih Rendah

Contoh

Misalnya data ikan memiliki fitur:

Panjang
Tinggi
Lebar
Berat

Beberapa fitur tersebut mungkin memiliki hubungan yang kuat.

PCA dapat mengubah atau menggabungkan informasi tersebut menjadi beberapa Principal Components yang tetap mempertahankan sebagian besar informasi penting.

Contoh sederhana:

Panjang + Tinggi
|
v
PCA
|
v
Komponen "Bentuk"

Manfaat PCA

PCA dapat digunakan untuk:

  • Mengurangi jumlah dimensi.
  • Mengurangi noise.
  • Menghilangkan redundansi fitur.
  • Mempercepat proses Machine Learning.
  • Membantu visualisasi dataset berdimensi tinggi.

5. Ringkasan Algoritma Machine Learning

AlgoritmaJenisKegunaan Utama
Linear RegressionSupervisedPrediksi nilai numerik
Logistic RegressionSupervisedKlasifikasi
KNNSupervisedKlasifikasi dan regresi
SVMSupervisedKlasifikasi
Naive BayesSupervisedKlasifikasi, terutama teks
Decision TreeSupervisedKlasifikasi dan regresi
Random ForestSupervised / EnsembleKlasifikasi dan regresi
BoostingSupervised / EnsemblePrediksi dengan memperbaiki kesalahan model
Neural NetworkSupervisedData kompleks
Deep LearningSupervisedGambar, suara, bahasa, dan data kompleks
K-MeansUnsupervisedClustering
Hierarchical ClusteringUnsupervisedClustering
DBSCANUnsupervisedClustering berbentuk tidak beraturan
PCAUnsupervisedPengurangan dimensi

6. Gambaran Besar Machine Learning

Secara keseluruhan, Machine Learning dapat dipahami melalui struktur berikut:

Machine Learning
|
+-- Supervised Learning
| |
| +-- Regression
| | |
| | +-- Linear Regression
| |
| +-- Classification
| |
| +-- Logistic Regression
| +-- KNN
| +-- SVM
| +-- Naive Bayes
| +-- Decision Tree
| +-- Random Forest
| +-- Boosting
|
+-- Unsupervised Learning
| |
| +-- Clustering
| | |
| | +-- K-Means
| | +-- Hierarchical Clustering
| | +-- DBSCAN
| |
| +-- Dimensionality Reduction
| |
| +-- PCA
|
+-- Deep Learning
|
+-- Neural Networks

Inti Pembelajaran

Secara sederhana:

  • Supervised Learning belajar dari data yang memiliki jawaban.
  • Unsupervised Learning mencari pola dari data tanpa jawaban.
  • Deep Learning menggunakan neural network dengan banyak lapisan untuk mempelajari pola yang kompleks secara otomatis.

Referensi