Mendeteksi Bias dalam Model Pembelajaran Mesin
Atribut yang dilindungi, dampak berbeda, metrik fairlearn, peluang yang disetarakan, paritas demografis.
Mendeteksi Bias dalam Model Pembelajaran Mesin adalah pelajaran Learn AI with Python gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Learn AI with Python, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Learn AI with Python mencakup 4 pelajaran total.
Apa Itu Bias Algoritmik
Model disebut bias ketika prediksinya secara sistematis merugikan suatu kelompok yang ditentukan oleh atribut sensitif (gender, ras, usia). Bias sering berasal dari data pelatihan yang tidak seimbang dan dapat menyebabkan dampak nyata dalam keputusan perekrutan, pemberian pinjaman, atau layanan kesehatan.
Fitur Sensitif
Fitur sensitif adalah atribut yang menjadi dasar pengukuran keadilan, seperti gender atau etnis. Metrik keadilan membandingkan perilaku model di antara kelompok-kelompok yang ditentukan oleh fitur ini, meskipun fitur tersebut tidak digunakan sebagai masukan model.
Paritas Demografis
Paritas demografis mengharuskan tingkat prediksi positif sama di semua kelompok. Jika model pinjaman menyetujui 60% kelompok A, tetapi hanya 35% kelompok B, paritas demografis dilanggar terlepas dari kelayakan kredit pemohon yang sebenarnya.
# P(prediction = 1 | group = A) == P(prediction = 1 | group = B)Kesetaraan Peluang
Kesetaraan peluang lebih ketat: metrik ini mengharuskan tingkat positif benar dan positif palsu sama di semua kelompok. Metrik ini bergantung pada label sebenarnya, sehingga tingkat seleksi boleh berbeda selama model sama akuratnya untuk setiap kelompok.
# TPR and FPR equal across groups
# P(pred=1 | y=1, A) == P(pred=1 | y=1, B)
# P(pred=1 | y=0, A) == P(pred=1 | y=0, B)Paritas dan Kesetaraan Peluang
Metrik-metrik ini dapat saling bertentangan:
- Paritas demografis mengabaikan label sebenarnya, sehingga dapat memaksakan tingkat yang sama meskipun tingkat dasar memang berbeda
- Kesetaraan peluang menghormati label sebenarnya, tetapi mengizinkan tingkat seleksi yang tidak sama
Tidak ada satu metrik yang selalu benar; pilihannya bergantung pada konteks dan hukum yang berlaku.
Memperkenalkan fairlearn
fairlearn adalah pustaka Python untuk mengukur dan memitigasi ketidakadilan. Alat pengukuran intinya adalah MetricFrame, yang menghitung metrik apa pun dengan memisahkannya berdasarkan kelompok sensitif.
import pandas as pd
from fairlearn.metrics import MetricFrame
from sklearn.metrics import accuracy_score, selection_rateMembangun MetricFrame
Anda meneruskan kamus metrik, label sebenarnya, prediksi, dan fitur sensitif. fairlearn mengevaluasi setiap metrik untuk setiap kelompok.
mf = MetricFrame(
metrics={
"accuracy": accuracy_score,
"selection_rate": selection_rate,
},
y_true=y_test,
y_pred=y_pred,
sensitive_features=X_test["gender"],
)Hasil per Kelompok
Atribut by_group mengembalikan tabel berisi setiap metrik untuk setiap kelompok, sehingga kesenjangan terlihat jelas dalam sekejap.
print(mf.by_group)
# accuracy selection_rate
# gender
# female 0.81 0.34
# male 0.83 0.59Keseluruhan dan Perbedaan
fairlearn juga melaporkan tampilan agregat: overall untuk seluruh kumpulan data, serta pembantu seperti difference() dan ratio() yang merangkum kesenjangan antara kelompok terbaik dan terburuk.
print(mf.overall)
print(mf.difference(method="between_groups"))
# selection_rate 0.25 -> 25 point gap between groupsMemvisualisasikan Kesenjangan
Diagram batang dari by_group mengubah angka menjadi gambaran yang mudah dipahami. Kesenjangan tinggi antara batang untuk metrik yang sama merupakan tanda bahaya yang jelas bahwa model memperlakukan kelompok secara berbeda.
mf.by_group.plot.bar(
subplots=True,
layout=[1, 2],
figsize=(10, 4),
title="Metrics by group",
)Dari Deteksi ke Mitigasi
Setelah mengukur bias, fairlearn menyediakan algoritme mitigasi (seperti ExponentiatedGradient dan pemrosesan pasca-prediksi dengan ThresholdOptimizer) yang melatih ulang model atau menyesuaikan ambang batas agar memenuhi kendala keadilan. Deteksi selalu menjadi langkah pertama: Anda tidak dapat memperbaiki sesuatu yang belum Anda ukur.
Uji Singkat
Uji pengetahuan Anda tentang keadilan.
Ringkasan
Anda telah mempelajari cara mendeteksi bias:
- Paritas demografis menyamakan tingkat positif di seluruh kelompok
- Kesetaraan peluang menyamakan TPR dan FPR berdasarkan label
- fairlearn MetricFrame menghitung kamus metrik untuk setiap kelompok
sensitive_features - Visualisasikan
by_groupuntuk menemukan kesenjangan, lalu terapkan mitigasi
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Mendeteksi Bias dalam Model Pembelajaran Mesin” gratis?
Ya — teks lengkap “Mendeteksi Bias dalam Model Pembelajaran Mesin” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Learn AI with Python, upgrade ke CoddyKit PRO. Kursus Learn AI with Python mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Mendeteksi Bias dalam Model Pembelajaran Mesin”?
Atribut yang dilindungi, dampak berbeda, metrik fairlearn, peluang yang disetarakan, paritas demografis. Kamu berlatih Learn AI with Python dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Learn AI with Python?
Tidak diperlukan pengalaman sebelumnya. Learn AI with Python di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.
Berapa lama pelajaran “Mendeteksi Bias dalam Model Pembelajaran Mesin” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Learn AI with Python ini?
Ya. Setiap pelajaran Learn AI with Python menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Mendeteksi Bias dalam Model Pembelajaran Mesin
- Nilai SHAP untuk Penjelasan Model
- LIME: Penjelasan Lokal yang Dapat Diinterpretasikan
- Kerangka Etika dan Tata Kelola Kecerdasan Buatan