Banyak masalah yang memerlukan estimasi probabilitas sebagai output. Regresi logistik adalah mekanisme yang sangat efisien untuk menghitung probabilitas. Secara praktek, Anda dapat menggunakan probabilitas yang ditampilkan dengan salah satu dari dua cara berikut:
Diterapkan "sebagaimana adanya". Misalnya, jika model prediksi spam menggunakan email sebagai input dan menghasilkan nilai
0.932
, ini menyiratkan probabilitas93.2%
bahwa email tersebut adalah spam.Dikonversi ke kategori biner seperti
True
atauFalse
,Spam
atauNot Spam
.
Modul ini berfokus pada penggunaan output model regresi logistik apa adanya. Di kolom Modul klasifikasi, Anda akan mempelajari cara mengonversi {i>output<i} ini menjadi kategori biner.
Fungsi sigmoid
Anda mungkin bertanya-tanya bagaimana model regresi logistik dapat memastikan outputnya mewakili probabilitas, yang selalu menghasilkan nilai antara 0 dan 1. Ternyata, ada kumpulan fungsi yang disebut fungsi logistik yang output-nya memiliki karakteristik yang sama. Fungsi logistik standar, juga dikenal sebagai fungsi sigmoid (sigmoid berarti "berbentuk s"), memiliki formula:
\[f(x) = \frac{1}{1 + e^{-x}}\]
Gambar 1 menunjukkan grafik fungsi sigmoid yang sesuai.
Seiring input, x
, meningkat, output fungsi sigmoid mendekati
tetapi tidak pernah mencapai 1
. Demikian pula, saat input menurun, nilai sigmoid
output fungsi mendekati tetapi tidak pernah mencapai 0
.
Klik di sini untuk mempelajari matematika lebih dalam di balik fungsi sigmoid
Tabel di bawah ini menunjukkan nilai {i> output<i} dari fungsi sigmoid untuk memasukkan nilai dalam rentang –7 hingga 7. Perhatikan seberapa cepat sigmoid mendekati 0 untuk menurunkan nilai input negatif, dan seberapa cepat mendekati sigmoid 1 untuk meningkatkan nilai input positif.
Namun, tidak peduli seberapa besar atau kecilnya nilai input, output selalu lebih besar dari 0 dan kurang dari 1.
Input | Output sigmoid |
---|---|
-7 | 0,001 |
-6 | 0,002 |
-5 | 0,007 |
-4 | 0,018 |
-3 | 0,047 |
-2 | 0,119 |
-1 | 0,269 |
0 | 0,50 |
1 | 0,731 |
2 | 0,881 |
3 | 0,952 |
4 | 0,982 |
5 | 0,993 |
6 | 0,997 |
7 | 0,999 |
Mengubah output linear menggunakan fungsi sigmoid
Persamaan berikut mewakili komponen linear dari model regresi logistik:
\[z = b + w_1x_1 + w_2x_2 + \ldots + w_Nx_N\]
dalam hal ini:
- z adalah output dari persamaan linear, yang juga disebut log odds.
- b adalah biasnya.
- Nilai w adalah bobot model yang dipelajari.
- Nilai x adalah nilai fitur untuk contoh tertentu.
Untuk mendapatkan prediksi regresi logistik, nilai z kemudian diteruskan ke fungsi sigmoid, yang menghasilkan nilai (probabilitas) antara 0 dan 1:
\[y' = \frac{1}{1 + e^{-z}}\]
dalam hal ini:
- y' adalah output dari model regresi logistik.
- z adalah output linear (seperti yang dihitung dalam persamaan sebelumnya).
Klik di sini untuk mempelajari log-odds lebih lanjut
Dalam persamaan $z = b + w_1x_1 + w_2x_2 + \ldots + w_Nx_N$, z disebut sebagai log-odds karena jika Anda memulai dengan fungsi sigmoid berikut (dengan $y$ adalah output dari model regresi logistik, yang mewakili probabilitas):
$$y = \frac{1}{1 + e^{-z}}$$
Kemudian, cari z:
$$ z = \log\left(\frac{y}{1-y}\right) $$
Kemudian, z ditentukan sebagai log rasio probabilitas dari dua kemungkinan hasil: y dan 1 – y.
Gambar 2 mengilustrasikan bagaimana output linear ditransformasikan menjadi output regresi logistik menggunakan penghitungan ini.
Pada Gambar 2, persamaan linear menjadi input untuk fungsi sigmoid, yang melengkungkan garis lurus menjadi bentuk huruf s. Perhatikan bahwa persamaan linear dapat menghasilkan nilai z yang sangat besar atau sangat kecil, tetapi output fungsi sigmoid, y', selalu antara 0 dan 1, secara eksklusif. Misalnya, warna kuning pada grafik sebelah kiri memiliki nilai z -10, tetapi fungsi sigmoid pada grafik kanan memetakan bahwa -10 ke y' sebesar 0,00004.
Latihan: Memeriksa pemahaman Anda
Model regresi logistik dengan tiga fitur memiliki bias dan bobot berikut:
\[\begin{align} b &= 1 \\ w_1 &= 2 \\ w_2 &= -1 \\ w_3 &= 5 \end{align} \]
Dengan nilai input berikut:
\[\begin{align} x_1 &= 0 \\ x_2 &= 10 \\ x_3 &= 2 \end{align} \]
Jawab dua pertanyaan berikut.
Seperti yang dihitung di #1 di atas, log-odds untuk nilai input adalah 1. Memasukkan nilai tersebut untuk z ke dalam fungsi sigmoid:
\(y = \frac{1}{1 + e^{-z}} = \frac{1}{1 + e^{-1}} = \frac{1}{1 + 0.367} = \frac{1}{1.367} = 0.731\)