Klasifikasi: Bias Prediksi

Prediksi regresi logistik tidak boleh bias. Definisinya yaitu:

"rata-rata prediksi" harus ≈ "rata-rata pengamatan"

Bias Prediksi adalah kuantitas yang mengukur seberapa jauh kedua rata-rata tersebut. Definisinya yaitu:

$$\text{prediction bias} = \text{average of predictions} - \text{average of labels in data set}$$

Bias prediksi bukan nol yang signifikan memberi tahu Anda bahwa ada bug di suatu tempat dalam model Anda, karena ini menunjukkan bahwa model tersebut salah mengenai seberapa sering label positif terjadi.

Misalnya, kita tahu bahwa rata-rata 1% dari semua email adalah spam. Jika kita tidak mengetahui apa pun tentang email tertentu, kita harus memprediksi bahwa kemungkinan 1% adalah spam. Demikian pula, model spam yang baik harus memprediksi rata-rata bahwa email 1% kemungkinan besar adalah spam. (Dengan kata lain, jika kita mengambil rata-rata kemungkinan prediksi bahwa sebuah email adalah spam, hasilnya harus 1%.) Jika sebaliknya, prediksi rata-rata model adalah 20% kemungkinan spam, kita dapat menyimpulkan bahwa hal tersebut menunjukkan bias prediksi.

Kemungkinan penyebab bias prediksi adalah:

  • Set fitur tidak lengkap
  • Set data bising
  • Pipeline bermasalah
  • Contoh pelatihan yang bias
  • Regularisasi terlalu kuat

Anda mungkin ingin mencoba memperbaiki bias prediksi dengan pasca-pemrosesan model yang dipelajari, yaitu dengan menambahkan lapisan kalibrasi yang menyesuaikan output model untuk mengurangi bias prediksi. Misalnya, jika model memiliki bias +3%, Anda bisa menambahkan lapisan kalibrasi yang akan menurunkan prediksi rata-rata sebesar 3%. Namun, menambahkan lapisan kalibrasi adalah ide yang buruk untuk alasan berikut:

  • Anda memperbaiki gejala, bukan penyebabnya.
  • Anda telah membuat sistem yang lebih rapuh sehingga kini Anda harus terus memperbaruinya.

Jika memungkinkan, hindari lapisan kalibrasi. Project yang menggunakan lapisan kalibrasi cenderung akan bergantung pada lapisan tersebut menggunakan lapisan kalibrasi untuk memperbaiki semua kesalahan modelnya. Pada akhirnya, mempertahankan lapisan kalibrasi dapat menjadi seperti mimpi buruk.

Bucket dan Bias Prediksi

Regresi logistik memprediksi nilai antara 0 dan 1. Namun, semua contoh berlabel adalah 0 (misalnya, "bukan spam") atau persis 1 (artinya, "spam"). Oleh karena itu, saat memeriksa bias prediksi, Anda tidak dapat menentukan bias prediksi secara akurat hanya berdasarkan satu contoh; Anda harus memeriksa bias prediksi pada "bucket" dari contohnya. Artinya, bias prediksi untuk regresi logistik hanya masuk akal jika mengelompokkan cukup contoh untuk dapat membandingkan nilai yang diprediksi (misalnya, 0,392) dengan nilai yang diamati (misalnya, 0,394).

Anda dapat membuat bucket dengan cara berikut:

  • Membagi prediksi target secara linear.
  • Membentuk kuantil.

Pertimbangkan plot kalibrasi berikut dari model tertentu. Setiap titik mewakili bucket berisi 1.000 nilai. Sumbu memiliki arti sebagai berikut:

  • Sumbu x mewakili rata-rata nilai yang diprediksi model untuk bucket tersebut.
  • Sumbu y mewakili rata-rata nilai sebenarnya dalam set data untuk bucket tersebut.

Kedua sumbu adalah skala logaritma.

Sumbu X adalah Prediksi; sumbu y adalah Label. Untuk nilai prediksi sedang dan tinggi, bias prediksi dapat diabaikan. Untuk nilai prediksi rendah, bias prediksi relatif tinggi.

Gambar 8. Kurva bias prediksi (skala logaritmik)

Mengapa prediksi sangat buruk hanya untuk satu bagian model? Berikut adalah beberapa kemungkinannya:

  • Set pelatihan tidak cukup mewakili subset ruang data tertentu.
  • Beberapa subset set data lebih bising daripada yang lain.
  • Model terlalu teratur. (Pertimbangkan untuk mengurangi nilai lambda.)