I am interested in knowing the "right way" to fit a binary logistic regression where the labels have been flipped with instance-specific noise probabilities that are known.
For the scenario I have in mind, we are give a dataset of triples, $$ D = \{ (x_i, y_i, q_i) \}_{i=1}^n$$ where $x_i \in \mathbb{R}^d$ are the feature vectors, $y_i \in \{0,1\}$ are noise corrupted labels, and $q_i \in [0, 1]$ are known corruption probabilities that are specific to each instance.
Given $x_i$ and $q_i$, the corrupted labels $y_i$ are generated from the following model:
- Let $p_i = \sigma(x_i^\top w + b)$ where $\sigma(\cdot)$ is the sigmoid function, and $w$ and $b$ are the the true but unknown logistic regression parameters.
- Let $z_i \in \{0,1\}$ be the uncorrupted label for $x_i$ where $z_i \sim \text{Bernoulli}(p_i)$.
- Finally the corrupted label $y_i$ is generated as$$ y_i = \begin{cases} z_i \text{ with probability } q_i \\ 1 - z_i \text{ with probability } 1 - q_i \\ \end{cases} $$
Given the above, it seems like the correct way to fit the logistic regression is to use the $q_i$ to create soft labels from the $y_i$ and minimize the KL-divergence to these soft labels.
However, I can alternatively imagine using the $q_i$ to weight each instance $(x_i, y_i)$ when fitting the model, so that loss is weighted more highly on instances whose corruption probabilities are low.
Any suggestions, insights or references about fitting logistic regression models in this scenario are very much welcomed.