AI6 min read

AI Ethics and Bias

Build fair and ethical AI systems.

Dr. Maria Garcia
December 18, 2025
0.0k0

Build responsible AI systems.

What is AI Bias?

When AI makes unfair decisions based on protected attributes.

**Problem**: AI learns from biased data!

Types of Bias

**Data bias**: Training data not representative **Algorithm bias**: Model design favors certain groups **Evaluation bias**: Test data doesn't reflect real world **Deployment bias**: AI used inappropriately

Detecting Bias

```python # Install # pip install fairlearn

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

Assume you have predictions and sensitive features y_true = [0, 1, 1, 0, 1, 0] y_pred = [0, 1, 0, 0, 1, 1] gender = ['M', 'F', 'F', 'M', 'F', 'M']

Calculate metrics by group metric_frame = MetricFrame( metrics=accuracy_score, y_true=y_true, y_pred=y_pred, sensitive_features=gender )

print("Overall accuracy:", metric_frame.overall) print("By group:") print(metric_frame.by_group) ```

Fairness Metrics

```python from fairlearn.metrics import ( demographic_parity_difference, equalized_odds_difference )

Demographic parity dp = demographic_parity_difference( y_true, y_pred, sensitive_features=gender ) print(f"Demographic parity difference: {dp:.3f}")

Equalized odds eo = equalized_odds_difference( y_true, y_pred, sensitive_features=gender ) print(f"Equalized odds difference: {eo:.3f}") ```

Mitigating Bias

### 1. Better Data Collection ```python # Check data distribution df = pd.DataFrame({'gender': gender, 'outcome': y_true}) print(df.groupby('gender')['outcome'].value_counts())

Balance dataset from sklearn.utils import resample

Oversample minority group minority = df[df['gender'] == 'F'] majority = df[df['gender'] == 'M']

minority_upsampled = resample( minority, replace=True, n_samples=len(majority), random_state=42 )

balanced_df = pd.concat([majority, minority_upsampled]) ```

### 2. Fair Model Training ```python from fairlearn.reductions import ExponentiatedGradient, DemographicParity from sklearn.linear_model import LogisticRegression

Fair classifier model = LogisticRegression() constraint = DemographicParity()

mitigator = ExponentiatedGradient(model, constraint) mitigator.fit(X_train, y_train, sensitive_features=sensitive_train)

Predict y_pred = mitigator.predict(X_test) ```

### 3. Post-processing ```python from fairlearn.postprocessing import ThresholdOptimizer

Optimize thresholds per group optimizer = ThresholdOptimizer( estimator=model, constraints="demographic_parity" )

optimizer.fit(X_train, y_train, sensitive_features=sensitive_train) y_pred_fair = optimizer.predict(X_test, sensitive_features=sensitive_test) ```

Explainability

Make AI decisions transparent:

```python # Install # pip install shap

import shap

Explain predictions explainer = shap.Explainer(model, X_train) shap_values = explainer(X_test)

Visualize shap.plots.waterfall(shap_values[0]) shap.plots.beeswarm(shap_values) ```

Ethical Guidelines

**Transparency**: Explain how AI makes decisions **Fairness**: Treat all groups equally **Privacy**: Protect user data **Accountability**: Take responsibility for AI actions **Safety**: Ensure AI doesn't cause harm

Fairness Trade-offs

**Accuracy vs Fairness**: More fair model may be less accurate **Group fairness vs Individual fairness**: Can't always satisfy both **Different fairness definitions**: May conflict with each other

Best Practices

1. **Diverse teams**: Include different perspectives 2. **Regular audits**: Check for bias continuously 3. **User feedback**: Listen to affected communities 4. **Documentation**: Record decisions and trade-offs 5. **Testing**: Test on diverse populations

Real-world Examples

**Hiring**: Don't discriminate by gender/race **Lending**: Fair loan approval **Criminal justice**: Unbiased risk assessment **Healthcare**: Equal treatment recommendations

Remember

- All AI systems have bias - minimize it! - Test fairness on multiple groups - Balance fairness with accuracy - Be transparent about limitations - Ethics is ongoing, not one-time

#AI#Advanced#Ethics