Pelajari AI dengan Python · Pelajaran

Pengesanan Bias dalam Model Pembelajaran Mesin

Atribut dilindungi, impak tidak seimbang, metrik fairlearn, odds disamaratakan, pariti demografi.

Pelajaran 1 daripada 413 langkah

Pengesanan Bias dalam Model Pembelajaran Mesin ialah pelajaran Pelajari AI dengan Python percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Pelajari AI dengan Python, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Pelajari AI dengan Python merangkumi sejumlah 4 pelajaran.

Apakah Bias Algoritma

Model dikatakan berat sebelah apabila ramalannya secara sistematik merugikan kumpulan yang ditakrifkan oleh atribut sensitif (jantina, kaum, umur). Bias sering berpunca daripada data latihan yang tidak seimbang dan boleh menyebabkan kemudaratan sebenar dalam keputusan pengambilan pekerja, pemberian pinjaman atau penjagaan kesihatan.

Ciri Sensitif

Ciri sensitif ialah atribut yang digunakan untuk mengukur keadilan, seperti jantina atau etnik. Metrik keadilan membandingkan tingkah laku model merentas kumpulan yang ditakrifkan oleh ciri ini, walaupun ciri tersebut tidak digunakan sebagai masukan model.

Pariti Demografi

Pariti demografi menghendaki kadar ramalan positif yang sama merentas kumpulan. Jika model pinjaman meluluskan 60% daripada kumpulan A tetapi hanya 35% daripada kumpulan B, pariti demografi dilanggar tanpa mengira kelayakan kredit sebenar pemohon.

# P(prediction = 1 | group = A) == P(prediction = 1 | group = B)

Peluang Disamakan

Peluang disamakan lebih ketat: ia menghendaki kadar positif benar dan positif palsu yang sama merentas kumpulan. Syarat ini mengambil kira label sebenar, jadi kadar pemilihan yang berbeza masih dibenarkan selagi model sama tepat untuk setiap kumpulan.

# 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)

Pariti berbanding Peluang

Metrik ini boleh bercanggah:

  • Pariti demografi tidak mengambil kira label sebenar, jadi ia mungkin memaksa kadar yang sama walaupun kadar asas benar-benar berbeza
  • Peluang disamakan menghormati label sebenar tetapi membenarkan kadar pemilihan yang tidak sama

Tiada satu metrik yang betul secara universal; pilihan bergantung pada konteks dan undang-undang.

Memperkenalkan fairlearn

fairlearn ialah pustaka Python untuk mengukur dan mengurangkan ketidakadilan. Alat pengukuran terasnya ialah MetricFrame, yang mengira sebarang metrik mengikut kumpulan sensitif.

import pandas as pd
from fairlearn.metrics import MetricFrame
from sklearn.metrics import accuracy_score, selection_rate

Membina MetricFrame

Anda menghantar kamus metrik, label sebenar, ramalan dan ciri sensitif. fairlearn menilai setiap metrik bagi setiap kumpulan.

mf = MetricFrame(
    metrics={
        "accuracy": accuracy_score,
        "selection_rate": selection_rate,
    },
    y_true=y_test,
    y_pred=y_pred,
    sensitive_features=X_test["gender"],
)

Hasil Mengikut Kumpulan

Atribut by_group mengembalikan jadual bagi setiap metrik untuk setiap kumpulan, lalu menjadikan jurang jelas sekali imbas.

print(mf.by_group)
#            accuracy  selection_rate
# gender
# female        0.81            0.34
# male          0.83            0.59

Keseluruhan dan Perbezaan

fairlearn turut melaporkan paparan agregat: overall untuk keseluruhan set data, serta pembantu seperti difference() dan ratio() yang meringkaskan jurang antara kumpulan terbaik dan terburuk.

print(mf.overall)
print(mf.difference(method="between_groups"))
# selection_rate    0.25  -> 25 point gap between groups

Memvisualkan Jurang

Carta bar bagi by_group menukarkan nombor kepada gambaran yang mudah difahami. Jurang besar antara bar bagi metrik yang sama merupakan tanda amaran jelas bahawa model melayan kumpulan secara berbeza.

mf.by_group.plot.bar(
    subplots=True,
    layout=[1, 2],
    figsize=(10, 4),
    title="Metrics by group",
)

Daripada Pengesanan kepada Pengurangan

Selepas mengukur berat sebelah, fairlearn menawarkan algoritma pengurangan (seperti ExponentiatedGradient dan pemprosesan selepas dengan ThresholdOptimizer) yang melatih semula model atau melaraskan ambang untuk memenuhi kekangan keadilan. Pengesanan sentiasa didahulukan: anda tidak boleh membaiki perkara yang belum diukur.

Semakan Pantas

Uji pengetahuan anda tentang keadilan.

Ringkasan

Anda telah belajar mengesan berat sebelah:

  • Pariti demografi menyamakan kadar positif merentas kumpulan
  • Peluang disamakan menyamakan TPR dan FPR dengan mengambil kira label
  • fairlearn MetricFrame mengira kamus metrik bagi setiap kumpulan sensitive_features
  • Visualkan by_group untuk mengesan jurang, kemudian gunakan pengurangan
Percuma untuk bermula

Pelajari Python dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
53
Pelajaran
225

Soalan Lazim

Adakah pelajaran “Pengesanan Bias dalam Model Pembelajaran Mesin” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Pelajari AI dengan Python, termasuk “Pengesanan Bias dalam Model Pembelajaran Mesin”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Pelajari AI dengan Python merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Pengesanan Bias dalam Model Pembelajaran Mesin”?

Atribut dilindungi, impak tidak seimbang, metrik fairlearn, odds disamaratakan, pariti demografi. Anda berlatih Pelajari AI dengan Python menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Pelajari AI dengan Python?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Pelajari AI dengan Python di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.

Berapa lamakah pelajaran “Pengesanan Bias dalam Model Pembelajaran Mesin” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Pelajari AI dengan Python ini?

Ya. Setiap pelajaran Pelajari AI dengan Python menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Pengesanan Bias dalam Model Pembelajaran Mesin
  2. Nilai SHAP untuk Kebolehjelasan Model
  3. LIME: Penjelasan Tempatan yang Boleh Ditafsir
  4. Rangka Kerja Etika dan Tadbir Urus Kecerdasan Buatan
← Kembali ke Pelajari AI dengan Python