0Pricing
Learn AI with Python · Pelajaran

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_rate

Membangun 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.59

Keseluruhan 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 groups

Memvisualisasikan 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_group untuk 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

  1. Mendeteksi Bias dalam Model Pembelajaran Mesin
  2. Nilai SHAP untuk Penjelasan Model
  3. LIME: Penjelasan Lokal yang Dapat Diinterpretasikan
  4. Kerangka Etika dan Tata Kelola Kecerdasan Buatan
← Kembali ke Learn AI with Python