0 / 0
Go back to the English version of the documentation
Stosowanie testów uczciwości w eksperymentach AutoAI
Last updated: 18 sie 2023
Stosowanie testów uczciwości w eksperymentach AutoAI

Wyznacz eksperyment pod kątem uczciwości, aby upewnić się, że wyniki nie są stronnicze na korzyść jednej grupy w innym.

Ograniczenia

Oceny fairness nie są obsługiwane w przypadku eksperymentów szeregów czasowych.

Ocena eksperymentów i modeli uczciwości

Podczas definiowania eksperymentu i tworzenia modelu uczenia maszynowego, użytkownik chce mieć pewność, że Twoje wyniki są niezawodne i niebiosowane. Bias w modelu uczenia maszynowego może skutkować, gdy model uczy się złych lekcji podczas treningu. Ten scenariusz może spowodować, że niewystarczająca ilość danych lub słabej kolekcji danych lub zarządzania wynikami w złym wyniku, gdy model generuje predykcje. Ważne jest, aby ocenić eksperyment pod kątem oznak bias, aby je remediować, gdy jest to konieczne i zbudować zaufanie do wyników modelu.

AutoAI zawiera następujące narzędzia, techniki i funkcje ułatwiające ocenę i remediację eksperymentu na potrzeby bias.

Definicje i terminy

Atrybut Fairness -Bias lub Fairness jest zwykle mierzony za pomocą atrybutu fairness, takiego jak płeć, etniczność lub wiek.

Monitorowana/grupa referencyjna -monitorowana grupa to wartości atrybutu fairness, dla których ma zostać zmierzona bias. Wartości w monitorowanej grupie są porównywane z wartościami w grupie odwołań. Jeśli na przykład produkt Fairness Attribute=Gender jest używany do pomiaru bias względem samic, wówczas monitorowana wartość grupy to "Kobieta", a wartością grupy odwołań jest "Mężczyzna".

Korzystny/niekorzystny wynik -Ważną koncepcją w wykrywaniu bias jest korzystne i niesprzyjające wyniki modelu. Na przykład Claim approved może zostać uznany za korzystny wynik, a Claim denied może zostać uznany za wynik niesprzyjający.

Wpływ Disparate -Pomiar używany do pomiaru bias (obliczany jako stosunek procentu korzystnego wyniku dla monitorowanej grupy do procentu korzystnego wyniku dla grupy odwołań). Bias mówi się, że istnieje, jeśli różnica wartości wpływu jest mniejsza niż określony próg.

Na przykład, jeśli zatwierdzono 80% roszczeń ubezpieczeniowych, które są wykonywane przez mężczyzn, ale zatwierdzono tylko 60% roszczeń, które są dokonywane przez kobiety, wówczas ich wpływ na rozpieranie wynosi: 60/80 = 0.75. Zwykle wartość progowa dla bias wynosi 0.8. Ponieważ ten rozbieżny współczynnik wpływu jest mniejszy niż 0.8, model ten jest uważany za stronniczy.

Należy zwrócić uwagę, że współczynnik wpływu ma wartość większą niż 1.25 [ wartość odwrotna (wpływ1/disparate ) jest równa wartości progowej 0.8]. Jest ona również uważana za stronnicza.

Obejrzyj film na temat oceny i poprawy uczciwości

Obejrzyj ten film wideo, aby zobaczyć, jak ocenić model uczenia maszynowego dla uczciwości, aby upewnić się, że wyniki nie są stronnicze.

Ten film wideo udostępnia metodę wizualną, która umożliwia poznanie pojęć i zadań w tej dokumentacji.

Stosowanie testu wartości godziwości dla eksperymentu AutoAI w interfejsie użytkownika

  1. Otwórz okno Ustawienia eksperymentu.

  2. Kliknij kartę Fairness (Fairness).

  3. Włącz opcje uczciwości. Oto wspomniane opcje:

    • Ocena wróżenia: Włącz tę opcję, aby sprawdzać każdy potok dla bias, obliczając rozbieżne racje wpływu. Ta metoda służy do śledzenia, czy potok rurociągowy ma tendencję do dostarczania korzystnego (preferowanego) wyniku dla jednej grupy częściej niż w przypadku innej grupy.
    • Próg Fairness: ustawia próg wartości godziwości w celu określenia, czy bias istnieje w potoku, w oparciu o wartość roztaczanej racji wpływu. Wartość domyślna to 80, co oznacza, że rozdysponowany współczynnik wpływu jest mniejszy niż 0.80.
    • Korzystne wyniki: określ wartość z kolumny predykcji, która będzie uważana za korzystną. Na przykład wartość może być "zatwierdzona", "zaakceptowana" lub niezależnie od typu predykcji.
    • Metoda automatycznego atrybutu zabezpieczonego: Wybierz sposób oceny cech, które są potencjalnym źródłem bias. Można określić automatyczne wykrywanie, w którym to przypadku AutoAI wykrywa często chronione atrybuty, w tym: płeć, pochodzenie etniczne, stan cywilny, wiek, kod pocztowy lub kod pocztowy. W ramach każdej kategorii program AutoAI próbuje określić grupę chronioną. Na przykład dla kategorii sex monitorowana grupa będzie mieć wartość female.
    Uwaga: W trybie automatycznym możliwe jest, że funkcja nie zostanie poprawnie zidentyfikowana jako atrybut chroniony, jeśli ma nietypowe wartości, np. w języku innym niż angielski. Automatyczne wykrywanie jest obsługiwane tylko dla języka angielskiego.
    • Metoda ręcznego atrybutu zabezpieczonego: Należy ręcznie określić wynik i podać chroniony atrybut, wybierając go z listy atrybutów. Należy pamiętać, że po ręcznym podawaniu atrybutów należy zdefiniować grupę i określić, czy prawdopodobne jest oczekiwane rezultaty (grupa odwołań), czy też powinna zostać przejrzana w celu wykrycia wariancji od oczekiwanych wyników (monitorowanej grupy).

Na przykład ten obraz przedstawia zestaw ręcznie określonych grup atrybutów do monitorowania.

Ocena grupy pod kątem potencjalnych bias

Zapisz ustawienia, aby zastosować i uruchomić eksperyment, aby zastosować wartościowanie fairness do rurociągów.

Uwagi:

  • W przypadku modeli wieloklasowych można wybrać wiele wartości w kolumnie predykcja, aby sklasyfikować jako korzystne lub nie.
  • W przypadku modeli regresji można określić zakres wyników, które są uważane za korzystne lub nie.
  • Oceny fairness nie są obecnie dostępne dla eksperymentów serii czasowych.

Lista automatycznie wykrywanych atrybutów dla pomiaru wartości godziwości

Jeśli funkcja automatycznego wykrywania jest włączona, funkcja AutoAI automatycznie wykryje następujące atrybuty, jeśli są one obecne w danych uczących. Atrybuty muszą być w języku angielskim.

  • age
  • status_obywatelski
  • kolor
  • niepełnosprawność
  • etniczność
  • gender
  • Genetic_information
  • handicap
  • programowania
  • Marital
  • polity_polityczny
  • Ciąża
  • religia
  • status_weteranów

Stosowanie testu wartości godziwości dla eksperymentu AutoAI w notatniku

W ramach eksperymentu AutoAI , który został przeszkolony w notatniku, można przeprowadzić testy uczciwości, które rozszerzają możliwości wykraczające poza zakres dostępnych w interfejsie użytkownika.

Przykład wykrywania Bias

W tym przykładzie za pomocą funkcji API Watson Machine Learning Python (ibm-watson-machine-learning) konfiguracja optymalizatora dla wykrywania bias jest konfigurowalna z następującymi danymi wejściowymi, gdzie:

  • name-nazwa eksperymentu
  • typ_predyktu_błędu-typ problemu
  • kolumna predytion_column-nazwa kolumny docelowej
  • fairness_info-konfiguracja wykrywania bias
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
   )

ocena wyników

Można wyświetlić wyniki oceny dla każdego potoku.

  1. Na stronie Podsumowanie eksperymentu kliknij ikonę filtru dla tablicy liderów potoku.
  2. Wybierz charakterystyki wpływu Disparate dla eksperymentu. Ta opcja ocenia jedną metrykę ogólną i jedną metrykę dla każdej monitorowanej grupy.
  3. Należy przejrzeć wielkości mierzone dotyczące potoku w celu rozdysponowania wpływu, aby określić, czy istnieje problem z bias, czy tylko po to, aby określić, który rurociąg ma być lepszy do oceny wróżności.

W tym przykładzie, potok, który został sklasyfikowany jako pierwszy z dokładnością, również ma niepodważalny wynik w zakresie przychodów, który mieści się w dopuszczalnych granicach.

Wyświetlanie wyników fairness

Łagodzenie bias

Jeśli w eksperymencie wykryto bias, można go zmniejszyć, optymalizując eksperyment przy użyciu "połączonych skorerów": accuracy_and_disparate_impact lub r2_and_disparate_impact, które są definiowane przez otwarte źródło Pakiet LALE.

W procesie wyszukiwania i optymalizacji używane są kombinowane scorery w celu zwracania sprawiedliwych i dokładnych modeli.

Na przykład, aby zoptymalizować dla wykrywania bias dla eksperymentu klasyfikacji:

  1. Otwórz okno Ustawienia eksperymentu.
  2. Na stronie Predykcje wybierz opcję optymalizacji Dokładność i niepodważalny wpływ w eksperymencie.
  3. Ponownie uruchom eksperyment.

Metryka Dokładność i rozpieranie wpływu tworzy łączny wynik dla dokładności i rzetelności w eksperymentach klasyfikacji. Wyższy wynik wskazuje na lepszą wydajność i działania w zakresie uczciwości. Jeśli rozbieżny wynik wpływu ma wartość z zakresu od 0.9 do 1.11 (akceptowalny poziom), zwracany jest wynik dokładności. W przeciwnym razie zwracana jest rozbieżna wartość wpływu mniejsza niż wynik dokładności, z mniejszą (ujemną) wartością, która wskazuje lukę w wartości godziwości.

Uwaga:

Zaawansowani użytkownicy mogą używać notatnika do zastosowania lub przeglądania metod wykrywania uczciwości. Można doprecyzować wyszkolony model AutoAI przy użyciu pakietów innych firm, takich jak: lale, AIF360 , aby rozszerzyć możliwości wykrywania uczciwości i bias poza tym, co jest domyślnie dostarczane z produktem AutoAI .

Zapoznaj się z przykładowym notatnikiem, który ocenia rurociągi pod kątem sprawiedliwości.

Przeczytaj ten średni wpis w blogu dotyczący wykrywania Bias w AutoAI.

Następne kroki

Rozwiązywanie problemów z eksperymentami AutoAI

Temat nadrzędny: Przegląd produktu AutoAI

Generative AI search and answer
These answers are generated by a large language model in watsonx.ai based on content from the product documentation. Learn more