  Given the increasing importance of machine learning (ML) in our lives,
several algorithmic fairness techniques have been proposed to mitigate biases
in the outcomes of the ML models. However, most of these techniques are
specialized to cater to a single family of ML models and a specific definition
of fairness, limiting their adaptibility in practice. We introduce a general
constrained Bayesian optimization (BO) framework to optimize the performance of
any ML model while enforcing one or multiple fairness constraints. BO is a
model-agnostic optimization method that has been successfully applied to
automatically tune the hyperparameters of ML models. We apply BO with fairness
constraints to a range of popular models, including random forests, gradient
boosting, and neural networks, showing that we can obtain accurate and fair
solutions by acting solely on the hyperparameters. We also show empirically
that our approach is competitive with specialized techniques that enforce
model-specific fairness constraints, and outperforms preprocessing methods that
learn fair representations of the input data. Moreover, our method can be used
in synergy with such specialized fairness techniques to tune their
hyperparameters. Finally, we study the relationship between fairness and the
hyperparameters selected by BO. We observe a correlation between regularization
and unbiased models, explaining why acting on the hyperparameters leads to ML
models that generalize well and are fair.
