Bewerten Sie ein Experiment auf Fairness, um sicherzustellen, dass Ihre Ergebnisse nicht zugunsten einer Gruppe gegenüber einer anderen voreingenommen sind.
Einschränkungen
Fairnessbewertungen werden für Zeitreihenexperimente nicht unterstützt.
Experimente und Modelle in Bezug auf Fairness bewerten
Wenn Sie ein Experiment definieren und ein Machine Learning-Modell erstellen, möchten Sie sich sicher sein, dass Ihre Ergebnisse zuverlässig und unverzerrt sind. Verzerrung in einem Modell für maschinelles Lernen kann auftreten, wenn das Modell während des Trainings die falschen Lerneinheiten lernt. Dieses Szenario kann dazu führen, dass unzureichende Daten oder eine schlechte Datenerfassung oder -verwaltung zu einem schlechten Ergebnis führen, wenn das Modell Vorhersagen generiert. Es ist wichtig, ein Experiment auf Anzeichen von Verzerrungen zu bewerten, um sie bei Bedarf zu korrigieren und eine Konfidenz der Modellergebnisse zu erzielen.
AutoAI enthält die folgenden Tools, Verfahren und Funktionen, mit denen Sie ein Experiment für Verzerrungen bewerten und korrigieren können.
Definitionen und Begriffe
Fairnessattribut -Die Verzerrung oder Fairness wird normalerweise mithilfe eines Fairnessattributs wie Geschlecht, Ethnizität oder Alter gemessen.
Überwachte Gruppe/Referenzgruppe - Die überwachte Gruppe umfasst die Werte des Fairnessattributs, für die die Verzerrung gemessen werden soll. Werte in der überwachten Gruppe werden mit Werten in der Referenzgruppe verglichen. Wenn beispielsweise Fairness Attribute=Gender
verwendet wird, um die Verzerrung gegenüber Frauen zu messen, ist der Wert der überwachten Gruppe "Weiblich" und der Wert der Referenzgruppe "Männlich".
Positives/ungünstiges Ergebnis -Ein wichtiges Konzept bei der Verzerrungserkennung ist das positive und ungünstige Ergebnis des Modells. Beispielsweise kann Claim approved
als günstiges Ergebnis und Claim denied
als ungünstiges Ergebnis betrachtet werden.
Uneinheitliche Auswirkung -Die Metrik, die zum Messen der Verzerrung verwendet wird (berechnet als Verhältnis des Prozentsatzes des günstigen Ergebnisses für die überwachte Gruppe zum Prozentsatz des günstigen Ergebnisses für die Referenzgruppe). Die Verzerrung wird als vorhanden bezeichnet, wenn der Wert für die ungleichen Auswirkungen unter einem angegebenen Schwellenwert liegt.
Wenn beispielsweise 80% der von Männern geltend gemachten Versicherungsansprüche genehmigt werden, aber nur 60% der von Frauen geltend gemachten Ansprüche genehmigt werden, ist die unterschiedliche Auswirkung: 60/80 = 0.75. In der Regel beträgt der Schwellenwert für Verzerrungen 0,8. Da dieses Verhältnis ungleicher Auswirkungen kleiner als 0,8 ist, gilt das Modell als verzerrt.
Beachten Sie, wenn das Verhältnis der ungleichen Auswirkungen größer als 1.25 ist [der Umkehrwert (1/disparate Auswirkung) liegt unter dem Schwellenwert 0.8], wird es auch als verzerrt betrachtet.
Sehen Sie sich ein Video zur Bewertung und Verbesserung der Fairness an
Sehen Sie sich dieses Video an, um zu sehen, wie Sie ein Modell für maschinelles Lernen auf Fairness bewerten können, um sicherzustellen, dass Ihre Ergebnisse nicht verzerrt sind.
Dieses Video bietet eine visuelle Methode zum Erlernen der Konzepte und Tasks in dieser Dokumentation.
Fairnesstest für ein AutoAI-Experiment in der Benutzerschnittstelle anwenden
Öffnen Sie die Experimenteinstellungen.
Klicken Sie auf die Registerkarte Fairness.
Aktivieren Sie Optionen für Fairness. Es handelt sich hier um die folgenden Optionen:
- Fairnessbewertung: Aktivieren Sie diese Option, um jede Pipeline durch Berechnung der ungleichen Auswirkung auf Verzerrungen zu überprüfen. Diese Methode verfolgt, ob eine Pipeline eine Tendenz zur Bereitstellung eines günstigen (bevorzugten) Ergebnisses für eine Gruppe häufiger als für eine andere hat.
- Fairnessschwellenwert: Legen Sie einen Fairnessschwellenwert fest, um zu ermitteln, ob eine Verzerrung in einer Pipeline vorhanden ist, basierend auf dem Wert der unterschiedlichen Auswirkungsration. Der Standardwert ist 80. Dies entspricht einem ungleichen Auswirkungsverhältnis kleiner als 0.80.
- Günstige Ergebnisse: Geben Sie den Wert aus Ihrer Vorhersagespalte an, der als günstig gelten würde. Der Wert kann beispielsweise "approved", "accepted" oder ein Wert sein, der Ihrem Vorhersagetyp entspricht.
- Automatische Methode für geschützte Attribute: Wählen Sie aus, wie Features bewertet werden sollen, die eine potenzielle Verzerrungsquelle darstellen. Sie können die automatische Erkennung angeben. In diesem Fall erkennt AutoAI häufig geschützte Attribute wie Geschlecht, ethnische Zugehörigkeit, Familienstand, Alter und Postleitzahl. In jeder Kategorie versucht AutoAI, eine geschützte Gruppe zu bestimmen. Für die Kategorie
sex
wäre die überwachte Gruppe beispielsweisefemale
.
Anmerkung: Im automatischen Modus ist es wahrscheinlich, dass ein Feature nicht ordnungsgemäß als geschütztes Attribut identifiziert wird, wenn es untypische Werte aufweist, z. B. in einer anderen Sprache als Englisch. Die automatische Erkennung wird nur für Englisch unterstützt.- Manuelle Methode für geschützte Attribute: Legen Sie manuell ein Ergebnis fest und wählen Sie das geschützte Attribut aus einer Liste von Attributen aus. Wenn Sie Attribute manuell angeben, müssen Sie dann eine Gruppe definieren und angeben, ob sie wahrscheinlich die erwarteten Ergebnisse (die Referenzgruppe) aufweist oder überprüft werden soll, um Abweichungen von den erwarteten Ergebnissen (die überwachte Gruppe) zu erkennen.
Diese Abbildung zeigt beispielsweise eine Gruppe von manuell angegebenen Attributgruppen für die Überwachung.
Speichern Sie die Einstellungen, um das Experiment anzuwenden, und führen Sie es aus, um die Fairnessbewertung auf Ihre Pipelines anzuwenden.
Hinweise:
- Bei Modellen mit mehreren Klassen können Sie mehrere Werte in der Vorhersagespalte auswählen, um sie als günstig zu klassifizieren.
- Bei Regressionsmodellen können Sie einen Bereich von Ergebnissen angeben, die als günstig oder nicht positiv angesehen werden.
- Fairnessbewertungen sind derzeit nicht für Zeitreihenversuche verfügbar.
Liste der automatisch erkannten Attribute für die Fairnessmessung
Wenn die automatische Erkennung aktiviert ist, erkennt AutoAI automatisch die folgenden Attribute, wenn sie in den Trainingsdaten vorhanden sind. Die Attribute müssen in Englisch vorliegen.
- Alter (age)
- citizen_status (Bürgerstatus)
- Farbe
- Behinderung
- ethnicity (ethnische Zugehörigkeit)
- Geschlecht
- Genetic_Information
- Handicap
- Sprache
- Ehelichen
- political_glaube
- Schwangerschaft
- Religion
- Veteran_Status
Fairnesstest für ein AutoAI-Experiment in einem Notebook anwenden
Sie können Fairnesstests in einem AutoAI -Experiment durchführen, das in einem Notebook trainiert wurde, und die Funktionalität über die in der Benutzerschnittstelle bereitgestellte Funktionalität hinaus erweitern.
Beispiel für die Verzerrungserkennung
In diesem Beispiel wird unter Verwendung der watsonx.ai Runtime Python API (ibm-watson-machine-learning) die Optimierungskonfiguration für die Bias-Erkennung mit der folgenden Eingabe konfiguriert, wobei:
- name - Experimentname
- prediction_type - Art des Problems
- prediction_column - Name der Zielspalte
- fairness_info - Konfiguration der Verzerrungserkennung
fairness_info = {
"protected_attributes": [
{
"feature": "personal_status",
"reference_group": ["male div/sep", "male mar/wid", "male single"],
"monitored_group": ["female div/dep/mar"]
},
{
"feature": "age",
"reference_group": [[26, 100]],
"monitored_group": [[1, 25]]}
],
"favorable_labels": ["good"],
"unfavorable_labels": ["bad"],
}
from ibm_watson_machine_learning.experiment import AutoAI
experiment = AutoAI(wml_credentials, space_id=space_id)
pipeline_optimizer = experiment.optimizer(
name='Credit Risk Prediction and bias detection - AutoAI',
prediction_type=AutoAI.PredictionType.BINARY,
prediction_column='class',
scoring='accuracy',
fairness_info=fairness_info,
retrain_on_holdout=False
)
Ergebnisse bewerten
Sie können die Bewertungsergebnisse für jede Pipeline anzeigen.
- Klicken Sie auf der Seite Experimentzusammenfassung auf das Filtersymbol für die Pipeline-Bestenliste.
- Wählen Sie die Metriken für ungleiche Auswirkungen für Ihr Experiment aus. Diese Option wertet einen allgemeinen Messwert und einen Messwert für jede überwachte Gruppe aus.
- Überprüfen Sie die Pipeline-Metriken auf ungleiche Auswirkungen, um festzustellen, ob ein Problem mit Verzerrungen vorliegt oder um einfach zu ermitteln, welche Pipeline besser für eine Fairnessbewertung geeignet ist.
In diesem Beispiel hat die Pipeline, die in Bezug auf die Genauigkeit an erster Stelle eingestuft wurde, auch einen ungleichen Einkommensscore, der innerhalb der akzeptablen Grenzwerte liegt.
Verzerrungsminderung
Wenn in einem Experiment eine Verzerrung festgestellt wird, können Sie diese durch die Optimierung Ihres Experiments mit Hilfe von "kombinierten Scorern" abmildern: accuracy_and_disparate_impact
oder ' r2_and_disparate_impact
, beide definiert durch das Open-Source-Paket LALE.
Kombinierte Scorer werden im Such-und Optimierungsprozess verwendet, um faire und genaue Modelle zurückzugeben.
Gehen Sie beispielsweise wie folgt vor, um die Verzerrungserkennung für ein Klassifikationsexperiment zu optimieren:
- Öffnen Sie die Experimenteinstellungen.
- Wählen Sie auf der Seite Vorhersagen die Optimierung der Genauigkeit und unterschiedliche Auswirkungen im Experiment aus.
- Führen Sie das Experiment erneut aus.
Die Metrik Genauigkeit und unterschiedliche Auswirkungen erstellt einen kombinierten Score für Genauigkeit und Fairness für Klassifikationsexperimente. Ein höherer Score weist auf bessere Leistungs-und Fairnesskennzahlen hin. Wenn die Bewertung der ungleichen Auswirkung zwischen 0.9 und 1.11 liegt (eine akzeptable Stufe) wird die Genauigkeitsbewertung zurückgegeben. Andernfalls wird ein Wert für unterschiedliche Auswirkungen, der niedriger als die Genauigkeitsbewertung ist, mit einem niedrigeren (negativen) Wert zurückgegeben, der eine Fairnesslücke angibt.
Lesen Sie diesen Medium-Blogbeitrag zur Erkennung von Verzerrungserkennung in AutoAI.
Nächste Schritte
Fehlerbehebung für AutoAI-Experimente
Übergeordnetes Thema: AutoAI - Übersicht