

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 訓練前資料偏差
<a name="clarify-detect-data-bias"></a>

演算法偏差、識別性、公平性和相關主題已經跨領域 (例如法律，政策和電腦科學) 進行研究。一個電腦系統可能會被認為是偏差，如果它能識別某些個人或個人群體。支援這些應用程式的機器學習模型會從資料中學習，而這些資料可能反映散度或其他固有的偏差。例如，訓練資料可能無法對各種人口統計群組具有足夠的代表性，或者可能包含偏差的標籤。對表現出這些偏差的資料集進行訓練的機器學習模型最終可能會學習它們，然後再現或加劇預測中的偏差。機器學習領域提供了解決偏差的機會，方法是在機器學習 (ML) 生命週期的每個階段進行偵測並對其進行測量。您可以使用 Amazon SageMaker Clarify 來判斷用於訓練模型的資料是否對任何偏差進行編碼

您可以在訓練前和訓練後衡量偏差，並在將模型部署到端點以進行推論，之後對照基準進行監控。訓練前偏差指標的設計目的是在使用原始資料訓練模型之前，先偵測和衡量其偏差。使用的指標與模型無關，因為它們不依賴任何模型輸出。但是，有不同的公平性概念需要採取不同的偏差量值。Amazon SageMaker Clarify 提供偏差指標，以量化各種公平性標準。

有關偏差指標的其他資訊，請參閱[了解 Amazon SageMaker Clarify 如何協助偵測偏差](https://aws.amazon.com/blogs/machine-learning/learn-how-amazon-sagemaker-clarify-helps-detect-bias)和[機器學習在金融領域的公平性量值](https://pages.awscloud.com/rs/112-TZM-766/images/Fairness.Measures.for.Machine.Learning.in.Finance.pdf)。

## Amazon SageMaker Clarify 偏差和公平性條款
<a name="clarify-bias-and-fairness-terms"></a>

SageMaker Clarify 使用下列術語來討論偏差和公平性。

**功能**  
一個被觀察現象的個體可衡量屬性或特徵，包含於用於表格式資料的列。

**標籤**  
訓練機器學習模型的目標的功能。稱為*觀察標籤*或觀察*結果*。

**預測標籤**  
如模型所預測的標示。也稱為*預測結果*。

**樣本**  
由功能值和標籤值描述的觀察實體，包含於表格式資料的列中。

**資料集**  
樣本的集合。

**偏差**  
訓練資料中的不平衡或模型跨不同群組 (例如年齡或收入等級) 的預測行為。偏差可能是由用於訓練您模型的資料或演算法所產生的。例如，如果機器學習 (ML) 模型主要針對中年人的資料進行訓練，則在進行涉及年輕人和老年人的預測時，可能會較不準確。

**偏差指標**  
傳回指示潛在偏差數值的函式。

**偏差報告**  
指定資料集的偏差指標集合，或是資料集和模型的組合。

**正標籤值**  
對樣本中觀察人口統計組有利的標籤值。換句話說，將樣本指定為具有*正值的結果*。

**負標籤值**  
對樣本中觀察人口組不利的標籤值。換句話說，將樣本指定為具有*負結果*。

**群變數**  
形成用於衡量條件人口統計差距 (CDD) 子組的資料集的分類欄。僅對於此指標關於辛普森的悖論是必需的。

**構面**  
包含與衡量偏差相關之屬性的欄或功能。

**構面值**  
偏差可能有利或不有利屬性的功能值。

**預測機率**  
正如模型所預測的，具有正值或負面結果的樣本的機率。

## 範例筆記本
<a name="clarify-data-bias-sample-notebooks"></a>

Amazon SageMaker Clarify 提供下列用於偏差偵測的範例筆記本：
+ 使用 [Amazon SageMaker Clarify 的可解譯性和偏差偵測](https://sagemaker-examples.readthedocs.io/en/latest/sagemaker-clarify/fairness_and_explainability/fairness_and_explainability.html) – 使用 SageMaker Clarify 建立處理任務，以偵測偏差並使用功能屬性說明模型預測。

此筆記本已透過驗證，只能在 Amazon SageMaker Studio 中執行。如果您需要有關如何在 Amazon SageMaker Studio 中打開筆記本的說明，請參閱[建立或開啟 Amazon SageMaker Studio Classic 筆記本](notebooks-create-open.md)。如果系統提示您選擇核心，請選擇 **Python 3 (資料科學)**。

**Topics**
+ [Amazon SageMaker Clarify 偏差和公平性條款](#clarify-bias-and-fairness-terms)
+ [範例筆記本](#clarify-data-bias-sample-notebooks)
+ [訓練前偏差指標](clarify-measure-data-bias.md)
+ [產生在 SageMaker Studio 訓練前資料中的偏差報告](clarify-data-bias-reports-ui.md)

# 訓練前偏差指標
<a name="clarify-measure-data-bias"></a>

在機器學習 (ML) 模型中測量偏差是減輕偏差的第一步。每種偏差指標都對應到不同的公平概念。即使考慮簡單的公平概念，也會導致適用於各種情況下的許多不同量值。例如，考慮與年齡相關的公平性，為了簡單起見，中年人和其他年齡組是兩個相關的人口統計，稱為*構面*。在用於貸款的機器學習 (ML) 模型的情況下，我們可能希望小企業放貸款給相等的兩個人口統計數量。或者，在處理求職者時，我們可能希望看到每個受聘人口統計的項目數量相等。但是，這種方法可能會假設兩個年齡組的相等數量適用於這些工作，因此我們可能希望根據適用的數量進行調整。此外，我們可能要考慮的是否同等的數量是否適用，而是我們是否有相同的合格申請人數量。或者，我們可能認為公平性是在兩個年齡人口統計學上，合格申請人的同等接受率，或者同等的拒絕率，或兩者兼而有之。您可以在感興趣的屬性上使用具有不同比例資料的資料集。這種不平衡可能會使您選擇的偏差量值混淆。在分類一個構面時，模型可能會比另一個構面更準確。因此，您需要選擇在概念上適合應用程式和情況的偏差指標。

我們使用下面的符號來討論偏差指標。描述的概念性模型用於二進位分類，其中事件被標籤為在其範例空間中只有兩個可能的結果，稱為正 (值為 1) 和負 (值為 0)。該框架通常可以直接擴展到多類別分類，或者在需要時涉及連續性有價值結果的案例。在二進位分類案例中，正值和負值標籤會指派給原始資料集中記錄的結果，以及有利構面 *a* 和不利構面 *d*。這些標籤 y 稱為*觀察標籤*，用來區分它們與機器學習模型在機器學習 (ML) 生命週期的訓練或推論階段期間指派的*預測標籤* y'。這些標籤用於定義機率分布 Pa(y) 和 Pd(y) 為其各自的構面結果。
+ 標籤：
  + y 代表訓練資料集中事件結果的 n 個觀察標籤。
  + y' 代表經過訓練的模型在資料集中 n 個觀察標籤的預測標籤。
+ 成果：
  + 樣本的正值結果 (值為 1)，例如申請接受。
    + n(1) 是正結果 (接受) 的觀察標籤數目。
    + n'(1) 是正結 果(接受) 的預測標籤數目。
  + 樣本的負值結果 (值為 0)，例如申請拒絕。
    + n(0) 是負結果 (接受) 的觀察標籤數目。
    + n'(0) 是負結果 (接受) 的預測標籤數目。
+ 構面值：
  + 構面 *a* – 定義對偏差有利人口統計特徵值。
    + na 是有利構面值的觀察標籤數目：na = na(1) \$1 na(0) 構面 *a* 值的正值和負值觀察標籤總和。
    + n'a 是有利構面值的預測標籤數目：n'a = n'a(1) \$1 n'a(0) 構面 *a* 值的正值和負值預測標籤總和。請注意，n'a = na。
  + 構面 *d* — 定義對偏差不利人口統計特徵值。
    + nd 是不利構面值的觀察標籤數目：nd = nd(1) \$1 nd(0) 構面 *d* 值的正值和負值觀察標籤總和。
    + n'd 是不利構面值的預測標籤數目：n'd = n'd(1) \$1 n'd(0) 構面 *a* 值的正值和負值預測標籤總和。請注意，n'd = nd。
+ 標籤構面資料結果的結果機率分布：
  + Pa(y) 是構面 *a* 的觀察標籤機率分布。對於二進位標籤的資料，此分布由標籤為總數正結果的構面 *a* 中的樣本數目比率，Pa(y1) = na(1)/ na，以及總數負結果的樣本數比率，Pa(y0) = na(0)/ na。
  + Pd(y) 是構面 *d* 的觀察標籤機率分布。對於二進位標籤的資料，此分布由構面 *d* 中標有正結果到總數的樣本數，Pd(y1) = nd(1)/ nd，以及負結果與總數的樣本數的比率，Pd(y0) = nd(0)/ nd。

根據人口統計散度的偏差資料進行訓練的模型可能會學習甚至加劇它們。為了在花費資源訓練模型之前找出資料中的偏差，SageMaker Cresent 提供了資料偏差指標，您可以於訓練之前在原始資料集上運算這些指標。所有的預先訓練指標都與模型無關，因為它不依賴模型輸出，因此對任何模型都有效。第一個偏差指標會檢查構面不平衡，但不會檢查結果。其根據應用程式的需求，決定不同構面中訓練資料量的代表程度。剩餘的偏差指標會以各種方式比較資料中構面 *a* 和 *d* 的結果標籤分布。範圍超過負值的指標可以檢測負偏差。下表包含快速指引的備忘單，以及訓練前偏差指標的連結。

訓練前偏差指標


| 偏差指標 | Description | 範例問題 | 解譯指標值 | 
| --- | --- | --- | --- | 
| [類別不平衡 (CI)](clarify-bias-metric-class-imbalance.md) | 衡量不同構面值之間的項目數量不平衡。 |  由於沒有足夠的資料供中年人口以外的人口統計，是否會出現基於年齡的偏差？   |  標準化範圍：[-1, \$11] 解譯： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/clarify-measure-data-bias.html)  | 
| [標籤比例的差異](clarify-data-bias-metric-true-label-imbalance.md) | 衡量不同構面值之間正值結果的不平衡。 | 由於在資料中構面值有偏差標籤，機器學習 (ML) 預測中是否會存在年齡的偏差？ |  標準化二進位和多範疇構面標籤的範圍：[-1, \$11] 連續型標籤的範圍：(-∞, \$1∞) 解譯： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/clarify-measure-data-bias.html)  | 
| [Kullback-Leibler 散度 (KL)](clarify-data-bias-metric-kl-divergence.md) | 衡量不同構面的結果分布熵間的發散程度。 | 不同人口組別的貸款申請結果分布有何不同？ |  二進位，多範疇，連續型的範圍：[0, \$1∞) 解譯： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/clarify-measure-data-bias.html)  | 
| [Jensen-Shannon 偏差 (JS)](clarify-data-bias-metric-jensen-shannon-divergence.md)  | 衡量不同構面的結果分布熵間的發散程度。 | 不同人口組別的貸款申請結果分布有何不同？ |  二進位，多範疇，連續型的範圍：[0, \$1∞) 解譯： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/clarify-measure-data-bias.html)  | 
| [L p-規範 (LP)](clarify-data-bias-metric-lp-norm.md)  | 衡量與資料集中不同構面相關聯的結果，其不同人口分布之間的 p-範數差異。 | 不同人口統計資料的貸款申請結果分配有何不同？ |  二進位，多範疇，連續型的範圍：[0, \$1∞) 解譯： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/clarify-measure-data-bias.html)  | 
| [總變化距離 (TVD)](clarify-data-bias-metric-total-variation-distance.md)  | 衡量與資料集中與不同構面關聯的結果，其不同人口分布之間的 L 1-範數的一半。 | 不同人口統計資料的貸款申請結果分配有何不同？ |  二進位，多範疇和連續型結果的範圍：[0, \$1∞) [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/clarify-measure-data-bias.html)  | 
| [柯爾莫哥洛夫-斯米爾諾夫 (KS)](clarify-data-bias-metric-kolmogorov-smirnov.md)  | 衡量資料集中不同構面分布結果之間的最大散度。 | 哪些大學申請結果顯示出人口統計組最大的散度？ | 二進位、多範疇和連續型結果的 KS 值範圍：[0, \$11][\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/clarify-measure-data-bias.html) | 
| [條件式的人口統計差異 (CDD)](clarify-data-bias-metric-cddl.md)  | 衡量整個不同構面之間結果的散度，也可以透過子組來衡量。 | 有些組大學錄取結果的拒絕比例是否比他們的接受比例更大？ |  CDD 的範圍：[-1, \$11] [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/clarify-measure-data-bias.html)  | 

有關偏差指標的其他資訊，請參閱[機器學習在金融的公平性量值](https://pages.awscloud.com/rs/112-TZM-766/images/Fairness.Measures.for.Machine.Learning.in.Finance.pdf)。

**Topics**
+ [類別不平衡 (CI)](clarify-bias-metric-class-imbalance.md)
+ [標籤比例的差異](clarify-data-bias-metric-true-label-imbalance.md)
+ [Kullback-Leibler 散度 (KL)](clarify-data-bias-metric-kl-divergence.md)
+ [Jensen-Shannon 偏差 (JS)](clarify-data-bias-metric-jensen-shannon-divergence.md)
+ [L p-規範 (LP)](clarify-data-bias-metric-lp-norm.md)
+ [總變化距離 (TVD)](clarify-data-bias-metric-total-variation-distance.md)
+ [柯爾莫哥洛夫-斯米爾諾夫 (KS)](clarify-data-bias-metric-kolmogorov-smirnov.md)
+ [條件式的人口統計差異 (CDD)](clarify-data-bias-metric-cddl.md)

# 類別不平衡 (CI)
<a name="clarify-bias-metric-class-imbalance"></a>

*與資料集中的另一個構面 a 相比，當構面值 *d* 具有較少的訓練範例時，就會發生類別不平衡 (CI) 偏差。**這是因為模型會優先配合較大的構面，但會犧牲較小的構面，因此可能會導致構面 d 較高的訓練誤差。**模型也有較高風險過度擬合較小的資料集，這可能會導致構面 d 較大的測試誤差。*考慮機器學習模型主要根據中年人 (構面 a) 的資料進行訓練的範例，在進行涉及年輕人和老年人的預測時 (構面 d) 可能不太準確。

(標準化) 構面不平衡衡量的公式：

        CI = (na - nd)/(na \$1 nd)

其中 an 是構面 *a* 的項目數量和 nd 的構面 *d* 的數量。其值範圍在間隔 [-1, 1] 內。
+ *正 CI 值表示構面 *a* 在資料集中有更多訓練範例，值 1 表示資料只包含構面 a 的項目。*
+  CI 接近零的值表示多構面之間的項目的分布，且零值表示構面之間的完全相等的分區，並表示訓練資料樣本中的平衡分布。
+ *負 CI 值表示構面 *d* 在資料集中具有更多訓練範例，值為 -1 表示資料僅包含構面 d 的項目。*
+ 接近任一極端值 -1 或 1 的 CI 值非常不平衡，並且存在做出偏差預測的重大風險。

如果發現多構面之間存在明顯的多構面不平衡，您可能想要重新平衡樣本，然後再繼續在其上訓練模型。

# 標籤比例的差異
<a name="clarify-data-bias-metric-true-label-imbalance"></a>

標籤比例的散度 (DPL) 會將觀察結果與構面 *d* 的正值標籤的比例，以及訓練資料集中構面 *a* 正值標籤的觀察結果的比例進行比較。例如，您可以使用它來比較中年人 (構面 *a*) 和其他年齡組別 (構面 *d*) 核准用於金融貸款的比例。機器學習模型會嘗試盡可能模擬訓練資料決策。因此，在 DPL 較高的資料集上訓練的機器學習模型可能會在未來的預測中反映出相同的不平衡。

標籤比例差異的公式如下：

        DPL = (qa - qd)

其中：
+ qa = na(1)/na 是具有觀察標籤值為 1 的構面 *a* 的比例。例如，獲得貸款核准的中年人口的比例。*這裡 na(1) 代表構面的項目數量 *a*，其得到正值結果和 na 是構面 a 的項目數量。*
+ qd = nd(1)/nd 是具有觀察標籤值為 1 的構面 *d* 的比例。例如，中年人口以外誰獲得貸款核准的比例。*這裡 nd(1) 代表得到一個正值的結果的構面 *d* 項目數量和 n d 是構面 d* 的項目數量。

如果 DPL 足夠接近 0，那麼我們說*人口平等性*已經實現了。

對於二進位和多範疇構面標籤，DPL 值會在間隔範圍內 (-1, 1)。對於連續型標籤，我們設定一個閾值將標籤折疊為二進位。
+ *正 DPL 值表示構面 *a* 與構面 d 相比，具有較高的正值結果比例。*
+ DPL 的值接近零表示多構面和零值之間的正值結果更相等比例，表示完美的人口統計同位。
+ *負 DPL 值表示，與構面 a 相比，構面 *d* 具有較高的正值結果比例。*

高散量 DPL 是否有問題因情況而異。在有問題的情況下，高散量 DPL 可能是資料中潛在問題的訊號。例如，具有高 DPL 的資料集可能反映出對基於年齡的人口群體的歷史偏差或偏差，而這些偏差對模型來說是不可取的。

# Kullback-Leibler 散度 (KL)
<a name="clarify-data-bias-metric-kl-divergence"></a>

*Kullback-Leibler 散度 (KL) 指標觀察構面 *a*、P (y) 的標籤分布與構面 d、P a (y) 的分布有多少偏離。* d它也被稱為 P(y) 相對於 P(y) a的相對熵，並量化從 P(y) d移動到 P(y) a時丟失的資訊量。d

Kullback-Leibler 散度的公式如下：

        KL(Pa \$1\$1 Pd) = ∑yPa(y)\$1log[Pa(y)/Pd(y)]

它是機率 Pa(y) 和 Pd(y)，其中期望由機率 Pa(y) 加權之間的對數差的期望值。這不是分布之間的真實距離，因為它是非對稱的，並且不滿足三角形不等式。執行程序使用自然對數，以 nats 為單位給 KL。使用不同的對數基數會產生比例結果，但使用不同的單位。例如，使用基數 2 給出 KL 的位元單位。

例如，假設一組貸款申請人的核准率為 30% (構面 *d*)，而其他申請人 (構面 *a*) 的核准率為 80%。Kullback-Leibler 公式為您提供了構面 a** 與構面 *d* 的標籤分布散度，如下所示：

        KL = 0.8\$1ln(0.8/0.3) \$1 0.2\$1ln(0.2/0.7) = 0.53

公式中有兩個術語，因為在這個例子中標籤為二進位。除了二進位標籤之外，此指標還可以應用於多個標籤。例如，在大學招生情況下，假設可能分配申請人三個類別標籤之一：y i = \$1y0, y1, y2\$1 = \$1被拒絕，等候清單，已接受\$1。

二進位、多範疇和連續型結果的 KL 指標值範圍為 [0, \$1∞)。
+ 接近零的值代表結果是不同構面的相似分布。
+ 正值代表標籤分布散度，正值越大散度越大。

# Jensen-Shannon 偏差 (JS)
<a name="clarify-data-bias-metric-jensen-shannon-divergence"></a>

Jensen-Shannon 散度 (JS) 衡量了不同構面的標籤分布彼此間的散度程度。其基於 Kullback-Leibler 散度，但它是對稱的。

Jensen-Shannon 散度公式如下：

        JS = ½\$1[KL(Pa \$1\$1 P) \$1 KL(Pd \$1\$1 P)]

其中 P = ½( Pa \$1 Pd )，跨構面 *a* 和 *d* 的平均標籤分布。

JS 值的二進位，多範疇，連續型型結果的範圍是 [0, ln(2))。
+ 接近零的值表示標籤的分布類似。
+ 正值代表標籤分布散度，正值越大散度越大。

此指標指出跨多構面的其中一個標籤是否存在很大的散度。

# L p-規範 (LP)
<a name="clarify-data-bias-metric-lp-norm"></a>

L p-範數 (LP) 衡量訓練資料集中觀察標籤的構面分布間的 p-範數距離。此指標為非負數，因此無法偵測到反向偏差。

L p-規範的公式如下：

        Lp(Pa, Pd) = ( ∑y\$1\$1Pa - Pd\$1\$1p)1/p

其中點 x 和 y 之間的 p-範數距離定義如下：

        Lp(x, y) = (\$1x1-y1\$1p \$1 \$1x2-y2\$1p \$1 … \$1\$1xn-yn\$1p)1/p 

2-範數是歐氏範數。假設您在大學招生多範疇案例中有三個類別的結果分布，例如，y i = \$1y0, y1, y2\$1 = \$1接受、等候清單、拒絕\$1。您需要平構面 *a 和 *d* 的結果計數之間的散度的平方*。產生的歐氏距離運算方式如下所示：

        L2(Pa, Pd) = [(na(0) - nd(0))2 \$1 (na(1) - nd(1))2 \$1 (na(2) - nd(2))2]1/2

其中：
+ na(i) 是構面 *a* 中第 i 個類別結果的數目：例如 n a(0) 是構面 *a* 的接受數目。
+ nd(i) 是構面 *d* 中第 i 個類別結果的數目：例如 nd(2) 是構面 *d* 的拒絕數目。

  二進位、多類別和連續性結果的 LP 值範圍為 [0, √2)，其中：
  + 接近零的值表示標籤的分布類似。
  + 正值表示標籤分布發散，正值越大發散越大。

# 總變化距離 (TVD)
<a name="clarify-data-bias-metric-total-variation-distance"></a>

總變化距離資料偏差指標 (TVD) 是 L1-範數的一半。TVD 是構面 *a* 和*d* 標籤結果的機率分布之間可能的最大差異。L1-範數是 Hamming 距離，透過確定將一個字串更改為另一個字串所需的最小替代數，比較兩個二進位資料字串的指標。如果這些字串是彼此的副本，它會決定複製時發生的錯誤數量。在偏置偵測環境中，TVD 會量化構面 *a* 必須變更多少個才能符合構面 *d* 的結果。

總變化距離的公式如下：

        TVD = ½\$1L1(Pa, Pd)

例如，假設您在大學招生多類情況中具有三個類別的結果分布，yi = \$1y0, y1, y2\$1 = \$1接受、候補清單、拒絕\$1。您可以根據每個結果的構面 *a* 和 *d* 計數之間的差異來計算 TVD。結果如下所示：

        L1(Pa, Pd) = \$1na(0) - nd(0)\$1 \$1 \$1na(1) - nd(1)\$1 \$1 \$1na(2) - nd(2)\$1

其中：
+ na(i) 是構面 *a* 中第 i 個類別結果的數目：例如 n a(0) 是構面 *a* 的接受數目。
+ nd(i) 是構面 d 中第 i 個類別結果的數目：例如 nd(2) 是構面 *d* 的拒絕數目。

  二進位、多類別和連續性結果的 TVD 值範圍為 [0, 1)，其中：
  + 接近零的值表示標籤的分布類似。
  + 正值表示標籤分布發散，正值越大發散越大。

# 柯爾莫哥洛夫-斯米爾諾夫 (KS)
<a name="clarify-data-bias-metric-kolmogorov-smirnov"></a>

柯爾莫哥洛夫-斯米爾諾夫偏差量指標 (KS) 等於資料集構面 *a* 和 *d* 的分布中標籤的最大發散。SageMaker Clarify 進行的兩樣本 KS 檢定透過找到最不平衡的標籤補充標籤不平衡的其他量值。

柯爾莫哥洛夫-斯米爾諾夫指標的公式如下：

        KS = max(\$1Pa(y) - Pd(y)\$1)

例如，假設一組申請人 (構面 *a*) 被大學拒絕，候補或接受分別為 40％、40％、20％，其他申請人 (構面 *d*) 的比率為 20％、10％、70％。然後，柯爾莫哥洛夫-斯米爾諾夫偏差指標值如下所示：

KS = max(\$10.4-0.2\$1, \$10.4-0.1\$1, \$10.2-0.7\$1) = 0.5

這告訴我們構面分布之間的最大發散是 0.5，且發散是發生在接受率。方程式中有三項，因為標籤是基數 3 的多元分類。

二進位、多類別和連續性結果的 LP 值範圍為 [0, \$11]，其中：
+ 接近零的值顯示標籤在所有結果類別的構面之間均勻分布。例如，申請貸款的兩個構面都獲得了 50％ 的接受率和 50％ 的拒絕。
+ 一個附近的值顯示一個結果的標籤都在一個構面。例如，構面 *a* 獲得了 100％ 的接受，而構面 *d* 沒有。
+ 間歇值顯示最大標籤不平衡的相對程度。

# 條件式的人口統計差異 (CDD)
<a name="clarify-data-bias-metric-cddl"></a>

人口統計差異指標 (DD) 會決定構面在資料集中的拒絕結果是否比接受結果有更大的比例。在二進位情況下，有兩個構面，例如男性和女性，構成了資料集，不利構面被標籤為構面 *d*，有利被標籤為構面 *a*。例如，大學入學的案例，如果女性申請人佔被拒絕的申請人中的 46％，並且僅佔被接受的申請人中的 32％，我們認為存在*人口統計的差異*，因為女性被拒絕的比率超過被接受的比率。在這種情況下，女性申請人的標籤為構面 *d*。如果男性申請人佔被拒絕的申請人中的 54%，並且佔被接受的申請人中的 68% 獲接納的申請人，那麼在這構面並沒有人口統計上的差異，因為拒絕率低於接受率。在這種情況下，男性申請人的標籤為構面 *a*。

不太有利構面 *d* 之人口統計差異的公式如下：

        DDd = nd(0)/n(0) - nd(1)/n(1) = PdR(y0) - PdA(y1) 

其中：
+ n(0) = na(0) \$1 nd(0) 是有利構面 *a* 和弱勢構面 *d* 資料集中拒絕結果的總數。
+ n(1) = na(1) \$1 nd(1) 是資料集中接受結果的有利構面 *a* 和弱勢構面 *d* 的總數。
+ PdR(y0) 是構面 *d* 中被拒絕結果(值為 0)的比例。
+ PdA(y1) 是在構面 *d* 中接受的結果(值 1)的比例。

在大學入學的例子中，女性的人口統計差異為 DDd = 0.46 - 0.32 = 0.14。男性為 DDa = 0.54 - 0.68 = - 0.14。

一個條件式人口統計差異 (CDD) 指標標準，需要調控對定義資料集上一層子組屬性的 DD，以排除辛普森悖論。重組可以為不太有利構面提供明顯人口統計差異的原因分析。經典案例出現在柏克萊入學的情況下，男性被接受的比率比女性更高。在 DD 的範例計算中使用這個案例的統計資料。然而，當檢查系所子組時，證明女性的入學率高於男性，當以系所為條件的情況下。說明女性申請系所的接受率低於男性。檢查子組接受率顯示，對於接受率較低的系所，女性實際上的接受率高於男性。

CDD 指標透過平均資料集屬性定義的子組中發現的所有差異，提供了一個單一量值。其被定義為每個子組的人口統計差異 (DDi) 加權平均值，每個子組差異與包含的觀察數呈加權比例。條件式人口統計差異的公式如下：

        CDD = (1/n)\$1∑ini \$1DDi 

其中：
+ ∑ini = n 是觀察的總數且 ni 是每個子組的觀察值數目。
+ DDi = ni(0)/n(0) - ni(1)/n(1) = PiR(y0) - PiA(y1) 是第 i 個子組的人口統計差異。

一個子組 (DDi) 的人口統計差異是拒絕結果的比例，和每個子組接受結果的比例之間差異。

對於完整資料集 DDd 或其條件化子組 DDi 的二進位結果 DD 值的範圍是 [-1, \$11]。
+ \$11：當構面 *a* 或子組沒有拒絕，且構面 *d* 或子組中沒有接受時
+ 正值顯示存在人口統計差異，因為構面 *d* 或子組在資料集中被拒絕的結果比例大於接受的結果比例。值越高，構面越不利，差異越大。
+ 負值顯示沒有人口統計差異，因為構面 *d* 或子組在資料集中的接受結果比例比被拒絕的結果更大。值越低，構面越有利。
+ -1：當構面 *d* 或子組中沒有拒絕，且在構面 *a* 或子組中沒有接受時

如果您沒有設定任何條件，那麼 CDD 為零，如果且僅當 DPL 為零。

該指標對於探索歐盟和英國非歧視法律和法理中的直接和間接歧視，以及客觀理由的概念非常有用。有關其他資訊，請參閱[為什麼不能自動化公平性](https://arxiv.org/abs/2005.05906)。本文件還包含柏克萊招生案例的相關資料和分析，該案例顯示如何條件化系所入學率子組說明辛普森悖論。

# 產生在 SageMaker Studio 訓練前資料中的偏差報告
<a name="clarify-data-bias-reports-ui"></a>

SageMaker Clarify 與 Amazon SageMaker Data Wrangler 整合，可協助您在資料準備過程中找出偏差，而不必撰寫自己的程式碼。Data Wrangler 提供端對端解決方案，可透過 Amazon SageMaker Studio 匯入、準備、轉換、特徵化和分析資料。有關 Data Wrangler 資料準備工作流程的概觀，請參閱[使用 Amazon SageMaker Data Wrangler 準備機器學習資料](data-wrangler.md)。

您可以指定感興趣的屬性，例如性別或年齡，SageMaker Clarify 會執行一組演算法來偵測這些屬性中是否存在偏差。執行演算法後，SageMaker Clarify 會提供視覺化報告，其中包含可能的偏差來源和偏差嚴重性說明，以便您可以規劃緩解的步驟。例如，相較於其他年齡組，在財務資料集中包含一個年齡群組的商業貸款範例，SageMaker AI 會標記不平衡，以便您可以避免使用該年齡層的模型。

**分析和報告資料偏差**

要開始使用 Data Wrangler，請參閱[開始使用 Data Wrangler](data-wrangler-getting-started.md)。

1. 在 Amazon SageMaker Studio Classic 中，從左側面板的**首頁** (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/icons/house.png)) 功能表導覽至**資料**節點，然後選擇 **Data Wrangler**。這會在 Studio Classic 中開啟**Data Wrangler 登陸頁面**。

1. 選擇 **\$1 匯入資料**按鈕以建立新流程。

1. 在流程頁面的**匯入**索引標籤，選擇 Amazon S3，導覽至 Amazon S3 儲存貯體，找到您的資料集，然後選擇**匯入**。

1. 匯入您的資料後，在**資料流量**索引標籤的流程圖上，選擇**資料類型**節點右側的 **\$1** 號。

1. 選擇 **新增分析**。

1. 在**建立分析**頁面上，選擇**偏差報告**作為**分析類型**。

1. 透過提供報告**名稱**、要預測的欄，以及其是值還是閾值、要分析偏差 (構面) 的欄，以及其是值還是閾值，設定偏差報告。

1. 選擇偏差指標，繼續設定偏差報告。  
![\[選擇偏差指標。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/clarify-data-wrangler-configure-bias-metrics.png)

1. 選擇**檢查偏差**，以產生並檢視偏差報告。向下捲動以檢視全部的報告。  
![\[產生並檢視偏差報告。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/clarify-data-wrangler-create-bias-report.png)

1. 選擇每個偏差指標說明右側的插入記號，參閱可協助您解讀指標值重要性的文件。

1. 若要檢視偏差指標值的表格摘要，請選擇**資料表**切換按鈕。若要儲存報告，請選擇頁面右下角的**儲存**。您可以在**資料流量**索引標籤的流程圖上查看報告。按兩下報告以開啟之。