Lensa ML

Klasifikasi vs Regresi

Langkah 1 dari 6: Dua Jenis Prediksi

Kategori vs angka

UkuranHarga $kFeature 1Feature 2
Tugas
Regresi
Output
Angka
Contoh
$180k

Regresi memprediksi angka kontinu, misalnya harga rumah atau suhu besok. Output-nya bisa berupa bilangan real apa pun.

Ganti antara Regresi dan Klasifikasi, lalu bandingkan kedua plotnya. Input yang sama bisa dipakai untuk kedua tugas. Feature rumah bisa memprediksi harga jual (regresi) atau apakah rumah itu terjual di atas harga yang diminta (klasifikasi). Jenis tugas ditentukan oleh tipe targetnya. Ada juga target yang berada di tengah-tengah. Rating bintang 1 sampai 5 adalah kategori berurutan, jadi bisa diperlakukan sebagai lima kelas, sebagai angka, atau dengan ordinal regression, yang memperhatikan urutan tanpa menganggap jaraknya sama.

Langkah 2 dari 6: Regresi

Memprediksi nilai kontinu

UkuranHarga $k
Slope40
Intercept50
MSE
296
Slope
40
Intercept
50

Regresi mencocokkan garis ŷ = 40x + 50. Garis merah menunjukkan residual, yaitu error tiap titik. MSE = 296 mengukur rata-rata kuadrat error. Garisnya sudah pas.

Geser Slope (−20 sampai 80) dan Intercept (−50 sampai 200) agar garisnya pas dengan 25 titik. Datanya berasal dari y = 50 + 40x ditambah noise acak sampai ±30, jadi garis awalnya adalah garis yang sebenarnya, dengan MSE sekitar 296. Garis terbaik yang bisa dicapai slider, slope 39 dan intercept 58, mendapat skor sekitar 263 karena sedikit bergeser mengikuti noise pada data ini. Tidak ada garis yang bisa jauh lebih baik pada data baru, karena noise sebesar itu punya varians 30²/3 = 300.

Langkah 3 dari 6: Klasifikasi Biner

Ya atau tidak

Kurva probabilitas
1.00.50.0Feature 1θ=0.50P(class=1)
Scatter plot
Feature 1Feature 2
Decision thresholdθ = 0.50
Akurasi
83%
True pos
11
False pos
1
Threshold
0.50

Kurva sigmoid (atas) memetakan Feature 1 ke probabilitas. Batas vertikal (bawah) menunjukkan tempat keputusan terbelah di feature space. Geser threshold dan perhatikan batasnya ikut berpindah. Titik bercincin kuning salah diklasifikasikan.

Geser Decision threshold antara 0,05 dan 0,95. Modelnya P = σ(2(x − 2.5)), jadi batasnya ada di x = 2.5 + ln(θ / (1 − θ)) / 2. Pada θ = 0.5 batasnya di 2,5 dan 25 dari 30 titik benar. Akurasi memuncak di 28 dari 30 untuk θ antara 0,34 dan 0,38, dengan batas di sekitar 2,2, karena beberapa titik kelas 1 berada di kiri tengah. Pada θ = 0.8 batasnya pindah ke 3,19 dan akurasi turun ke 73%. Menaikkan threshold menukar false positive dengan false negative. Skrining kanker memakai threshold rendah karena kasus yang terlewat berakibat lebih mahal daripada alarm palsu.

Langkah 4 dari 6: Klasifikasi Multi-class

Lebih dari dua kategori

Kelas AKelas BKelas C
Kelas A
99.1%
Kelas B
0.0%
Kelas C
0.9%
TemperatureT = 1.00
Prediksi
Kelas A
Sebenarnya
Kelas A
Keyakinan
99%

Softmax mengubah skor mentah menjadi probabilitas untuk 3 kelas. Pada temperature sedang, probabilitas tetap dekat dengan softmax biasa (T = 1). Klik titik mana saja untuk melihat probabilitas kelasnya.

Klik titik mana saja, lalu geser Temperature dari 0,10 sampai 5,00. Setiap kelas punya skor liniernya sendiri, dan satu titik masuk ke kelas dengan skor tertinggi. Setiap batas antara dua kelas berupa garis lurus, jadi setiap wilayah kelas berbentuk poligon cembung. Ketiga skor ini mengklasifikasikan 42 dari 45 titik dengan benar. Temperature tidak pernah mengubah kelas yang menang, hanya seberapa yakin model terlihat: titik yang terpilih di awal, dari Kelas A, mendapat 99,1% pada T = 1 dan 64,6% pada T = 5.

Langkah 5 dari 6: Memilih Loss yang Tepat

MSE vs Cross-Entropy

Prediksi P(class=1)Loss (label benar = 1)00.51MSECE
Model memberi P(class=1) = … (jawaban benar: 1)P = 0.70
MSE loss
0.090
CE loss
0.357
CE / MSE
4.0×

MSE memperlakukan klasifikasi seperti menebak angka: yang dihitung hanya seberapa jauh probabilitasnya dari 1. Cross-entropy (CE) mengukur seberapa terkejut model oleh label yang benar. Geser slider ke kiri: CE melonjak, sedangkan MSE tetap landai.

Geser P(class=1) dari 0,01 sampai 0,99; label sebenarnya adalah 1. Gradient lebih menentukan daripada nilai loss. Dengan output sigmoid, gradient cross-entropy terhadap logit adalah P − 1. Pada P = 0.01 nilainya −0,99, dorongan yang kuat. Gradient MSE mendapat faktor tambahan P(1 − P) dari sigmoid: 2(P − 1) × P(1 − P) ≈ −0.02 pada P = 0.01. Model yang yakin tetapi salah dan dilatih dengan MSE nyaris tidak bergerak. Itu sebabnya classifier memakai cross-entropy.

Langkah 6 dari 6: Kapan Memakai yang Mana

Panduan memilih

InputHarga RumahNeural NetHidden layerOutput linearRegresiŷ ∈ ℝMSE
Jenis tugas
Regresi
Loss
MSE
Output
ŷ ∈ ℝ

Harga Rumah: Ini regresi: memprediksi nilai kontinu. Pakai output layer linear dan loss MSE atau MAE.

Klik kelima masalah untuk melihat output layer dan loss yang dibutuhkan masing-masing. MAE cocok untuk target yang punya outlier karena naik linear mengikuti error, bukan mengkuadratkannya. Huber loss memadukan keduanya. Harga rumah sering dimodelkan sebagai log(price), karena error membesar seiring harga dan log membuatnya sebanding antara rumah murah dan mahal. Masalah yang beberapa labelnya bisa benar sekaligus, misalnya memberi tag pada foto, disebut multi-label: pakai satu sigmoid per label dengan binary cross-entropy, bukan softmax.

Apa beda klasifikasi dan regresi?

Klasifikasi dan regresi adalah dua jenis utama supervised learning. Klasifikasi memprediksi kategori, misalnya spam atau bukan spam. Regresi memprediksi angka pada skala kontinu, misalnya harga atau suhu. Bedanya ada pada target yang dipelajari model, bukan pada input atau keluarga modelnya.

Pilihan ini menentukan susunan lainnya: output layer, loss function, dan metriknya. Model regresi biasanya diakhiri output linear dan dilatih dengan mean squared error. Classifier diakhiri sigmoid atau softmax dan dilatih dengan cross-entropy. Credit scoring, diagnosis medis, dan pengenalan gambar termasuk masalah klasifikasi. Peramalan permintaan, estimasi harga, dan prediksi lama rawat pasien termasuk regresi.

Ide utama

  • Klasifikasi memprediksi kategori, sedangkan regresi memprediksi angka kontinu.
  • Jenis tugas ditentukan oleh variabel target, bukan oleh feature input.
  • Regresi biasanya memakai output linear dengan loss MSE atau MAE.
  • Klasifikasi biner memakai output sigmoid dengan binary cross-entropy.
  • Klasifikasi multi-class memakai output softmax dengan categorical cross-entropy.
  • Threshold pada classifier menukar false positive dengan false negative.

Pertanyaan umum

Apakah logistic regression termasuk metode klasifikasi atau regresi?

Termasuk metode klasifikasi. Namanya berasal dari cara kerjanya: ia mencocokkan linear regression pada log-odds kelas positif, lalu meneruskan hasilnya ke sigmoid untuk mendapat probabilitas. Menerapkan threshold pada probabilitas itu menghasilkan kelasnya.

Apakah satu masalah bisa dirumuskan sebagai klasifikasi atau regresi?

Sering kali bisa. Usia bisa diprediksi sebagai angka atau kelompok usia, dan sentimen bisa berupa skor dari −1 sampai 1 atau kelas positif, netral, dan negatif. Regresi mempertahankan urutan dan jarak antarnilai. Klasifikasi lebih mudah ditafsirkan ketika hanya ada beberapa hasil yang berujung pada keputusan berbeda.

Metrik apa yang dipakai untuk klasifikasi dan regresi?

Regresi diukur dengan MAE, RMSE, atau R², yang membandingkan angka prediksi dengan angka sebenarnya. Klasifikasi memakai akurasi, precision, recall, F1 score, dan ROC AUC. Pada data tidak seimbang, akurasi bisa menyesatkan karena model yang selalu memprediksi kelas mayoritas tetap mendapat skor bagus.

Apakah algoritma yang sama bisa melakukan klasifikasi sekaligus regresi?

Kebanyakan bisa. Decision tree, random forest, gradient boosting, k-nearest neighbors, dan neural network semuanya punya versi classifier dan regressor. Struktur modelnya tetap, sedangkan output dan loss-nya berubah: leaf memprediksi rata-rata, bukan kelas mayoritas, atau network diakhiri unit linear, bukan softmax.

Penjelasan terkait

Referensi

  1. James, Witten, Hastie & Tibshirani, "An Introduction to Statistical Learning" (ISLR), chapters 3 and 4
  2. Goodfellow, Bengio & Courville (2016), "Deep Learning", chapter 5: Machine Learning Basics
  3. Zhang et al., "Dive into Deep Learning", Linear Regression
  4. Bishop (2006), "Pattern Recognition and Machine Learning"

Terakhir diperbarui