Strategic Classification With Externalities

Authors: Safwan Hossain, Evi Micha, Yiling Chen, Ariel Procaccia

ICLR 2025 | Venue PDF | Archive PDF | Plain Text | LLM Run Details

Reproducibility Variable Result LLM Response
Research Type Experimental We experimentally validate the possibility of training classifiers to be strategy-aware with respect to k agents misreporting to PNE. We use a 2-class synthetic dataset generated by scikit-learn and use the cvxpylayers library to compute PNE and update gradients (Pedregosa et al., 2011; Agrawal et al., 2019). We use a linear classifier that returns the probability of assigning the positive class. Agent utilities are computed as per Equation (1), and we use the ℓ2 norm square for the cost c(xi, x i) = α||xi x i||2 2 and the convex externality discussed in Section 3: t(xi, x i, xj, x j) = β(||x i xi||2+||x j xj||2)2, with T(xi, x i, X, X ) = β k 1 P t(xi, x i, xj, x j); we normalize by (k 1) to make the β term interpretable since each agent face externality from (k 1) others. During training, we sample a set of k agents from the training set, compute their PNE under the current classifier, use these PNE features to determine the outcome and loss, and then update gradients. We denote this as strategic training, and the corresponding loss curve is in red in figure 2. After each epoch, we run our model on the validation/test dataset, wherein we carry out the same procedure: sample k agents, compute PNE, and then classify. The resulting loss is plotted in blue in Figure 2. We ablate this experiment over different values of k and different strengths of cost and externality.
Researcher Affiliation Academia 1 Harvard University 2 University of Southern California EMAIL, EMAIL
Pseudocode No The paper describes the methodology and proofs through mathematical formulations and textual descriptions, but does not contain any structured pseudocode or algorithm blocks.
Open Source Code No The paper does not contain an explicit statement about releasing source code for the described methodology, nor does it provide a link to a code repository. It mentions using 'scikit-learn' and 'cvxpylayers' libraries, but these are third-party tools, not the authors' own implementation.
Open Datasets Yes We use a 2-class synthetic dataset generated by scikit-learn
Dataset Splits No During training, we sample a set of k agents from the training set... After each epoch, we run our model on the validation/test dataset... The text implies the use of training, validation, and test sets, but does not provide specific percentages, counts, or a detailed splitting methodology.
Hardware Specification No The paper describes the experimental setup in Section 6 'Experiments' but does not specify any hardware details such as GPU/CPU models, memory, or cloud computing resources used.
Software Dependencies No We use a 2-class synthetic dataset generated by scikit-learn and use the cvxpylayers library to compute PNE and update gradients (Pedregosa et al., 2011; Agrawal et al., 2019). The paper mentions 'scikit-learn' and 'cvxpylayers' but does not specify their version numbers.
Experiment Setup Yes We use a linear classifier that returns the probability of assigning the positive class. Agent utilities are computed as per Equation (1), and we use the ℓ2 norm square for the cost c(xi, x i) = α||xi x i||2 2 and the convex externality discussed in Section 3: t(xi, x i, xj, x j) = β(||x i xi||2+||x j xj||2)2, with T(xi, x i, X, X ) = β k 1 P t(xi, x i, xj, x j); we normalize by (k 1) to make the β term interpretable since each agent face externality from (k 1) others. During training, we sample a set of k agents from the training set, compute their PNE under the current classifier, use these PNE features to determine the outcome and loss, and then update gradients. We denote this as strategic training... We ablate this experiment over different values of k and different strengths of cost and externality.