AIの公平性は、数で測れる
AIの公平性とは、モデルが性別や年齢などのグループの違いで、人を不当に違う扱いにしないことです。公平さは数で測れますが、測り方が2つあり、答えが食い違うことがあります。
たとえば、ある会社が書類選考にAIを使うとします。グループAとBの通過する割合を比べると、公平かどうかの手がかりになります。
このレッスンのゴール
メモ
グループごとの割合を比べて、モデルが公平かどうかを数で測れる。
キーワード
| ことば | いみ | れい |
|---|---|---|
| 公平性 | グループの違いで、不当に扱いを変えないこと | |
| 通過率 | グループの人数のうち、通過した人の割合 | |
| 人口統計的パリティ | グループの通過率が等しいこと | |
| 真陽性率 | 条件に合う人のうち、通過した人の割合 | 8人中6人 |
| 機会均等 | 条件に合う人の真陽性率が、グループで等しいこと |
学生が入力するセルは、このプレビューでは空白です。
通過率は、グループごとに数える
通過率は、グループの人数のうち、通過した人の割合です。全体の平均だけでは見えない差が、グループごとに分けると見えます。
グループの通過率が等しい状態を、人口統計的パリティといいます。
例: 書類選考の通過率
| グループ | 応募した人 | 通過した人 | 通過率 |
|---|---|---|---|
| A | 20人 | 12人 | 60% |
| B | 10人 | 3人 | 30% |
学生が入力するセルは、このプレビューでは空白です。
グループごとに数える
# [グループ, 通過したか(1なら通過)] の記録です。
rows = [["A", 1], ["A", 1], ["A", 0], ["B", 1], ["B", 0], ["B", 0]]
for name in ["A", "B"]:
total = 0
passed = 0
for row in rows:
if row[0] == name:
total = total + 1
passed = passed + row[1]
print(name, passed, "/", total)
# rows の最後に ["B", 1] を2件足して、Bの割合がどう変わるか見てください。
ラボで、グループ別の割合を数える
ラボの自転車データでも、同じ数え方を練習します。ここでは人ではなく、日が1件の記録です。
「忙しい日」(1日300台以上)の割合を、週末と平日のグループで比べます。
週末と平日の、忙しい日の割合
docker exec jupyter python3 -c "import csv; r=list(csv.DictReader(open('hires.csv'))); w=[int(x['hires'])>=300 for x in r if x['weekday'] in ('Sat','Sun')]; d=[int(x['hires'])>=300 for x in r if x['weekday'] not in ('Sat','Sun')]; print('weekend', sum(w), len(w), round(sum(w)/len(w),2)); print('weekday', sum(d), len(d), round(sum(d)/len(d),2))"ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。
よくある間違い
注意
全体の正解率が高ければ、公平だと考えがちです。少数のグループで間違いが多くても、多数のグループが正しければ、全体の正解率は高いままです。必ずグループごとに分けて測ってください。
条件に合う人が見逃される割合も測る
通過率が同じでも、扱いが同じとは限りません。真陽性率は、本当に条件に合う人のうち、通過した人の割合です。
条件に合う人が見逃される割合がグループで違うなら、機会均等が崩れています。
例: 条件に合う人の通過率
| グループ | 条件に合う人 | そのうち通過 | 真陽性率 |
|---|---|---|---|
| A | 10人 | 8人 | 80% |
| B | 5人 | 3人 | 60% |
学生が入力するセルは、このプレビューでは空白です。
2つの測り方は食い違うことがある
人口統計的パリティを満たすように通過率をそろえると、機会均等が崩れることがあります。逆も起こります。
どちらを優先するかは、データだけでは決まりません。結果が人の生活に何をもたらすかを考えて、人が決めます。
さらに挑戦: しきい値を変える
ラボのコマンドで、300 を 350 に変えて、もう一度実行してください。週末と平日の割合の差は、大きくなりましたか、小さくなりましたか。
割合の差と、割合の比は、別の見方です。どちらで「不公平」と言うべきかを、一文で書きましょう。