Regresi logistik adalah model untuk klasifikasi biner. Model ini menggabungkan fitur input menjadi sebuah skor linear, mengalirkan skor itu melalui fungsi sigmoid, lalu menghasilkan angka antara 00 dan 11 yang ditafsirkan, berdasarkan model yang telah di-fit, sebagai estimasi probabilitas kelas positif.

Meskipun namanya mengandung kata "regresi", regresi logistik biasanya digunakan untuk memutuskan antara dua kelas seperti lulus/tidak lulus, spam/bukan spam, atau gagal bayar/tidak gagal bayar. Kata "regresi" merujuk pada rumus linear di dalam model, bukan pada prediksi keluaran kontinu.

Rumus regresi logistik secara singkat

Regresi logistik biner menggunakan

p(y=1x)=σ(z),z=β0+β1x1++βnxnp(y=1 \mid x) = \sigma(z), \qquad z = \beta_0 + \beta_1 x_1 + \cdots + \beta_n x_n

dengan fungsi sigmoid

σ(z)=11+ez\sigma(z) = \frac{1}{1 + e^{-z}}

Bagian linear zz dapat berupa bilangan real apa pun. Sigmoid memampatkan nilai itu ke dalam (0,1)(0,1), sehingga outputnya dapat digunakan sebagai estimasi probabilitas.

Mengapa fungsi sigmoid penting

Jika Anda menggunakan skor linear mentah zz sebagai probabilitas, Anda bisa mendapatkan nilai yang tidak mungkin seperti 1.71.7 atau 0.4-0.4. Sigmoid memperbaiki hal itu dengan memetakan skor negatif besar mendekati 00, skor positif besar mendekati 11, dan skor di sekitar 00 mendekati 0.50.5.

Ini memberi pembacaan yang praktis:

  • jika zz sangat negatif, model cenderung ke kelas 00
  • jika zz dekat 00, model tidak yakin
  • jika zz sangat positif, model cenderung ke kelas 11

Kurva paling curam di sekitar z=0z=0. Jadi perubahan kecil pada skor dapat banyak mengubah probabilitas di dekat 0.50.5, tetapi jauh lebih kecil pengaruhnya ketika probabilitas sudah dekat ke 00 atau 11.

Contoh regresi logistik yang dikerjakan

Misalkan sebuah model menggunakan satu fitur xx dan memiliki

z=7+0.1xz = -7 + 0.1x

Anda bisa menganggap xx sebagai nilai ujian dan y=1y=1 sebagai "lulus". Koefisien di sini hanya contoh untuk menunjukkan mekanismenya.

Jika x=65x = 65, maka

z=7+0.1(65)=0.5z = -7 + 0.1(65) = -0.5

Jadi probabilitas prediksinya adalah

p(y=1x=65)=σ(0.5)=11+e0.50.378p(y=1 \mid x=65) = \sigma(-0.5) = \frac{1}{1 + e^{0.5}} \approx 0.378

Jika x=80x = 80, maka

z=7+0.1(80)=1z = -7 + 0.1(80) = 1

dan

p(y=1x=80)=σ(1)=11+e10.731p(y=1 \mid x=80) = \sigma(1) = \frac{1}{1 + e^{-1}} \approx 0.731

Jadi model yang sama memberikan peluang lulus sekitar 37.8%37.8\% pada x=65x=65 dan sekitar 73.1%73.1\% pada x=80x=80. Skornya naik sebesar 1.51.5, tetapi output akhirnya tetap berada di antara 00 dan 11 karena sigmoid membengkokkan hasilnya menjadi probabilitas.

Jika sekarang Anda memilih ambang batas 0.50.5, kasus pertama diklasifikasikan sebagai kelas 00 dan kasus kedua sebagai kelas 11. Langkah terakhir itu bergantung pada ambang batas. Estimasi probabilitasnya sendiri tidak.

Satu jalan pintas yang berguna: dengan ambang batas 0.50.5, kelas berubah tepat saat z=0z=0, karena σ(0)=0.5\sigma(0)=0.5.

Bagaimana regresi logistik menjadi pengklasifikasi

Output model adalah estimasi probabilitas. Aturan klasifikasi ditambahkan setelahnya.

Sebagai contoh, dengan ambang batas 0.50.5:

  • prediksi kelas 11 jika p(y=1x)0.5p(y=1 \mid x) \ge 0.5
  • prediksi kelas 00 jika p(y=1x)<0.5p(y=1 \mid x) < 0.5

Namun, 0.50.5 tidak selalu merupakan ambang batas yang tepat. Jika false positive dan false negative memiliki biaya yang berbeda, atau jika kelas-kelasnya sangat tidak seimbang, ambang batas lain mungkin bekerja lebih baik.

Apa arti koefisien

Tanda dari sebuah koefisien memberi tahu arah pengaruhnya terhadap skor linear zz:

  • jika βi>0\beta_i > 0, menaikkan xix_i akan menaikkan zz dan cenderung meningkatkan p(y=1x)p(y=1 \mid x)
  • jika βi<0\beta_i < 0, menaikkan xix_i akan menurunkan zz dan cenderung menurunkan p(y=1x)p(y=1 \mid x)

Bagian itu cukup langsung. Poin yang lebih halus adalah bahwa probabilitas tidak berubah secara linear terhadap fitur, karena kurva sigmoid bukan garis lurus.

Dalam regresi logistik standar, model linear berada pada skala log-odds:

log(p1p)=β0+β1x1++βnxn\log\left(\frac{p}{1-p}\right) = \beta_0 + \beta_1 x_1 + \cdots + \beta_n x_n

Artinya, setiap kenaikan satu unit pada sebuah fitur mengubah log-odds secara linear ketika fitur-fitur lain dijaga tetap. Ini lebih tepat daripada mengatakan bahwa probabilitas berubah sebesar jumlah tetap.

Kesalahan umum dalam regresi logistik

Menganggap output sebagai kelas yang pasti

Prediksi seperti 0.730.73 tidak berarti peristiwa itu pasti terjadi. Itu berarti model memberikan estimasi probabilitas sekitar 73%73\% untuk kelas positif pada input tersebut.

Menganggap ambang batas harus 0.50.5

0.50.5 memang umum, tetapi itu adalah pilihan, bukan aturan mutlak. Ambang batas terbaik bergantung pada aplikasinya.

Mengira probabilitas berubah secara linear

Skor zz bersifat linear terhadap input, tetapi probabilitas tidak. Perubahan satu unit pada sebuah fitur dapat memberi pengaruh yang berbeda saat p=0.5p=0.5 dibandingkan saat p=0.95p=0.95.

Lupa bahwa model ini bersifat biner kecuali diperluas

Regresi logistik dasar menangani dua kelas. Versi multi-kelas memang ada, tetapi itu adalah perluasan, bukan pengaturan biner yang sama hanya ditulis dengan cara berbeda.

Kapan regresi logistik digunakan

Regresi logistik sering digunakan ketika targetnya adalah ya/tidak, seperti deteksi spam, keberadaan penyakit, customer churn, gagal bayar pinjaman, atau hasil lulus/tidak lulus.

Metode ini tetap populer karena sederhana, cepat, dan cukup mudah diinterpretasikan. Metode ini sangat berguna ketika Anda menginginkan pengklasifikasi dasar, ketika dataset tidak terlalu besar, atau ketika Anda membutuhkan estimasi probabilitas, bukan hanya label tegas.

Cara sederhana untuk membayangkannya

Bayangkan regresi logistik sebagai mesin dua langkah:

  1. Jumlahkan bukti dengan skor linear.
  2. Ubah skor itu menjadi probabilitas dengan sigmoid.

Gambaran ini cukup untuk memahami sebagian besar contoh pengantar dan untuk melihat mengapa regresi logistik berada di antara model linear dan tugas klasifikasi.

Coba soal regresi logistik yang mirip

Pilih skor sederhana seperti

z=3+0.5xz = -3 + 0.5x

Hitung σ(z)\sigma(z) untuk beberapa nilai xx, seperti 22, 66, dan 1010. Perhatikan bagaimana skor linear berubah secara stabil sementara probabilitas membengkok mengikuti kurva berbentuk S. Lalu coba ambang batas yang berbeda dan lihat kapan kelas prediksi berubah.

Butuh bantuan mengerjakan soal?

Unggah pertanyaanmu dan dapatkan solusi terverifikasi langkah demi langkah dalam hitungan detik.

Buka GPAI Solver →