openasce.extension.debias package¶
- class openasce.extension.debias.CFRModel(params: Dict)[source]¶
Bases:
CausalDebiasModelBuilding a CFR model.
Model: CFR (CounterFactual Regression).
Paper: Estimating individual treatment effect: generalization bounds and algorithms.
Link: http://proceedings.mlr.press/v70/shalit17a/shalit17a.pdf.
Author: Uri Shalit, Fredrik D. Johansson and David Sontag.
Initialize.
- Parameters
params – parameter dict.
- loss(predictions: Dict, labels: Tensor)[source]¶
Compute scalar loss tensors with respect to provided labels.
- Parameters
predictions – a dictionary holding predicted tensors.
labels – label tensor.
- Returns
A scalar loss or A dictionary mapping strings (loss names) to scalar loss.
- property trainable_variables¶
- class openasce.extension.debias.DICEDebiasModel(params: Dict)[source]¶
Bases:
CausalDebiasModelBuilding a DICE model.
Model: DICE (Disentangling Interest and Conformity with Causal Embedding).
Link: https://arxiv.org/pdf/2006.11011.pdf.
Author: Yu Zheng, Chen Gao, Xiang Li, Xiangnan He, Depeng Jin, Yong Li.
Initialize.
- Parameters
params – parameter dict.
- loss(predictions: Dict, labels: Tensor)[source]¶
Compute scalar loss tensors with respect to provided labels.
- Parameters
predictions – a dictionary holding prediction tensors, where logits_interest: model output logits tensor. logits_conformity: model output logits tensor. logits_click: model output logits tensor. conformity_emb: model output conformity_emb tensor. interest_emb: model output interest_emb tensor. mask: indicate the instance belong to interest or conformity, 1 means interest, 0 means conformity.
labels – label tensor dict.
- Returns
A scalar loss or A dictionary mapping strings (loss names) to scalar loss.
- property trainable_variables¶
- class openasce.extension.debias.DMBRDebiasModel(params: Dict)[source]¶
Bases:
CausalDebiasModelBuilding a DMBR model.
Model: DMBR (De-Matching Bias Recommendation).
Paper: Alleviating Matching Bias in Marketing Recommendations.
Link: https://dl.acm.org/doi/abs/10.1145/3539618.3591854.
Author: Junpeng Fang, Qing Cui, Gongduo Zhang, Caizhi Tang, Lihong Gu, Longfei Li, Jinjie Gu, Jun Zhou, Fei Wu.
Initialize.
- Parameters
params – parameter dict.
- loss(predictions: Dict, labels: Tensor)[source]¶
Compute scalar loss tensors with respect to provided labels.
- Parameters
predictions – a dictionary holding predicted tensors.
labels – label tensor dict.
- Returns
A scalar loss or A dictionary mapping strings (loss names) to scalar loss.
- property trainable_variables¶
- class openasce.extension.debias.DRDebiasModel(hidden_units: Dict, min_propensity: float = 0.01, t_is_multi_class: bool = False, t_as_feature: bool = False, lr: float = 0.1, name: str = 'dr_debias')[source]¶
Bases:
CausalDebiasModelDoubly Robust Model for Debiasing Exposure/Post-click.
Model: DR (Doubly robust)
Paper: Doubly robust joint learning for recommendation on data missing not at random[C].
Link: https://proceedings.mlr.press/v97/wang19n.html.
Author: Wang X, Zhang R, Sun Y, et al.
Initialize.
- Parameters
hidden_units (dict) – list of positive integer, the layer number and units in each layer.
min_propensity (float) – The minimum propensity at which to clip propensity estimates to avoid dividing by zero.
t_is_multi_class (bool) – wether the treatment label is multi-class.
t_as_feature (bool) – wether the treatment is observed feature.
lr (float) – learning rate
- __init__(hidden_units: Dict, min_propensity: float = 0.01, t_is_multi_class: bool = False, t_as_feature: bool = False, lr: float = 0.1, name: str = 'dr_debias') None[source]¶
Initialize.
- Parameters
hidden_units (dict) – list of positive integer, the layer number and units in each layer.
min_propensity (float) – The minimum propensity at which to clip propensity estimates to avoid dividing by zero.
t_is_multi_class (bool) – wether the treatment label is multi-class.
t_as_feature (bool) – wether the treatment is observed feature.
lr (float) – learning rate
- property trainable_variables¶
- class openasce.extension.debias.FAIRCODebiasModel(params: Dict)[source]¶
Bases:
CausalDebiasModelBuilding a FAIRCO model.
Model: FAIRCO (Inverse Probability Weighting).
Paper: Controlling Fairness and Bias in Dynamic Learning-to-Rank.
Link: https://arxiv.org/pdf/2005.14713.pdf.
Author: Marco Morik, Ashudeep Singh, Jessica Hong, and Thorsten Joachims.
Initialize.
- Parameters
params – parameter dict.
- loss(predictions: Dict, labels: Tensor)[source]¶
Compute scalar loss tensors with respect to provided labels.
- Parameters
predictions – a dictionary holding predicted tensors.
labels – label tensor dict.
- Returns
A scalar loss or A dictionary mapping strings (loss names) to scalar loss.
- property trainable_variables¶
- class openasce.extension.debias.IPSDebiasModel(hidden_units: Dict, min_propensity: float = 0.01, alpha: float = 0.1, lr: float = 0.1, name: str = 'ips_debias')[source]¶
Bases:
CausalDebiasModelInverse Propensity Score Model of the causal debias.
Model: IPS (Inverse Propensity Score)
Paper: Estimating causal effects from large data sets using propensity scores[J].
Author: Rubin, Donald B.
Initialize.
- Parameters
hidden_units (dict) – list of positive integer, the layer number and units in each layer.
min_propensity (float) – The minimum propensity at which to clip propensity estimates to avoid dividing by zero.
alpha (float) – hyperparameters of propensity loss
- __init__(hidden_units: Dict, min_propensity: float = 0.01, alpha: float = 0.1, lr: float = 0.1, name: str = 'ips_debias') None[source]¶
Initialize.
- Parameters
hidden_units (dict) – list of positive integer, the layer number and units in each layer.
min_propensity (float) – The minimum propensity at which to clip propensity estimates to avoid dividing by zero.
alpha (float) – hyperparameters of propensity loss
- property trainable_variables¶
- class openasce.extension.debias.IPWDebiasModel(params: Dict)[source]¶
Bases:
CausalDebiasModelBuilding a IPW model.
Model: IPW (Inverse Probability Weighting).
Paper: Inverse probability weighted estimation for general missing data problems.
Link: https://www.econstor.eu/bitstream/10419/79298/1/386079048.pdf.
Author: Jeffrey M. Wooldridge.
Initialize.
- Parameters
params – parameter dict.
- loss(predictions: Dict, labels: Tensor)[source]¶
Compute scalar loss tensors with respect to provided labels.
- Parameters
predictions – a dictionary holding predicted tensors.
labels – label tensor dict.
- Returns
A scalar loss or A dictionary mapping strings (loss names) to scalar loss.
- property trainable_variables¶
- class openasce.extension.debias.MACRDebiasModel(params: Dict)[source]¶
Bases:
CausalDebiasModelBuilding a MACR model.
Model: MACR (Model-Agnostic Counterfactual Reasoning).
Paper: Model-agnostic counterfactual reasoning for eliminating popularity bias in recommender system.
Link: https://arxiv.org/pdf/2010.15363.pdf.
Author: Tianxin Wei, Fuli Feng, Jiawei Chen, Ziwei Wu, Jinfeng Yi and Xiangnan He.
- loss(predictions: Dict, labels: Tensor)[source]¶
Compute scalar loss tensors with respect to provided labels.
- Parameters
predictions – a dictionary holding predicted tensors.
labels – label tensor dict.
- Returns
A scalar loss or A dictionary mapping strings (loss names) to scalar loss.
- property trainable_variables¶
- class openasce.extension.debias.PDADebiasModel(params: Dict)[source]¶
Bases:
CausalDebiasModelBuilding a PDA model.
Model: PDA (Popularity-bias Deconfounding and Adjusting).
Link: https://arxiv.org/pdf/2105.06067.pdf.
Author: Yang Zhang, Fuli Feng, Xiangnan He, Tianxin Wei, Chonggang Song, Guohui Ling and Yongdong Zhang.
Initialize.
- Parameters
params – parameter dict.
- loss(predictions: Dict, labels: Tensor)[source]¶
Compute scalar loss tensors with respect to provided labels.
- Parameters
predictions – a dictionary holding predicted tensors.
labels – label tensor dict.
x – the original input.
- Returns
A scalar loss or A dictionary mapping strings (loss names) to scalar loss.
- property trainable_variables¶
Subpackages¶
Submodules¶
openasce.extension.debias.cfr module¶
- class openasce.extension.debias.cfr.CFRModel(params: Dict)[source]¶
Bases:
CausalDebiasModelBuilding a CFR model.
Model: CFR (CounterFactual Regression).
Paper: Estimating individual treatment effect: generalization bounds and algorithms.
Link: http://proceedings.mlr.press/v70/shalit17a/shalit17a.pdf.
Author: Uri Shalit, Fredrik D. Johansson and David Sontag.
Initialize.
- Parameters
params – parameter dict.
- loss(predictions: Dict, labels: Tensor)[source]¶
Compute scalar loss tensors with respect to provided labels.
- Parameters
predictions – a dictionary holding predicted tensors.
labels – label tensor.
- Returns
A scalar loss or A dictionary mapping strings (loss names) to scalar loss.
- property trainable_variables¶
openasce.extension.debias.debias_ips module¶
- class openasce.extension.debias.debias_ips.IPSDebiasModel(hidden_units: Dict, min_propensity: float = 0.01, alpha: float = 0.1, lr: float = 0.1, name: str = 'ips_debias')[source]¶
Bases:
CausalDebiasModelInverse Propensity Score Model of the causal debias.
Model: IPS (Inverse Propensity Score)
Paper: Estimating causal effects from large data sets using propensity scores[J].
Author: Rubin, Donald B.
Initialize.
- Parameters
hidden_units (dict) – list of positive integer, the layer number and units in each layer.
min_propensity (float) – The minimum propensity at which to clip propensity estimates to avoid dividing by zero.
alpha (float) – hyperparameters of propensity loss
- __init__(hidden_units: Dict, min_propensity: float = 0.01, alpha: float = 0.1, lr: float = 0.1, name: str = 'ips_debias') None[source]¶
Initialize.
- Parameters
hidden_units (dict) – list of positive integer, the layer number and units in each layer.
min_propensity (float) – The minimum propensity at which to clip propensity estimates to avoid dividing by zero.
alpha (float) – hyperparameters of propensity loss
- property trainable_variables¶
openasce.extension.debias.dice module¶
- class openasce.extension.debias.dice.DICEDebiasModel(params: Dict)[source]¶
Bases:
CausalDebiasModelBuilding a DICE model.
Model: DICE (Disentangling Interest and Conformity with Causal Embedding).
Link: https://arxiv.org/pdf/2006.11011.pdf.
Author: Yu Zheng, Chen Gao, Xiang Li, Xiangnan He, Depeng Jin, Yong Li.
Initialize.
- Parameters
params – parameter dict.
- loss(predictions: Dict, labels: Tensor)[source]¶
Compute scalar loss tensors with respect to provided labels.
- Parameters
predictions – a dictionary holding prediction tensors, where logits_interest: model output logits tensor. logits_conformity: model output logits tensor. logits_click: model output logits tensor. conformity_emb: model output conformity_emb tensor. interest_emb: model output interest_emb tensor. mask: indicate the instance belong to interest or conformity, 1 means interest, 0 means conformity.
labels – label tensor dict.
- Returns
A scalar loss or A dictionary mapping strings (loss names) to scalar loss.
- property trainable_variables¶
openasce.extension.debias.dmbr module¶
- class openasce.extension.debias.dmbr.DMBRDebiasModel(params: Dict)[source]¶
Bases:
CausalDebiasModelBuilding a DMBR model.
Model: DMBR (De-Matching Bias Recommendation).
Paper: Alleviating Matching Bias in Marketing Recommendations.
Link: https://dl.acm.org/doi/abs/10.1145/3539618.3591854.
Author: Junpeng Fang, Qing Cui, Gongduo Zhang, Caizhi Tang, Lihong Gu, Longfei Li, Jinjie Gu, Jun Zhou, Fei Wu.
Initialize.
- Parameters
params – parameter dict.
- loss(predictions: Dict, labels: Tensor)[source]¶
Compute scalar loss tensors with respect to provided labels.
- Parameters
predictions – a dictionary holding predicted tensors.
labels – label tensor dict.
- Returns
A scalar loss or A dictionary mapping strings (loss names) to scalar loss.
- property trainable_variables¶
openasce.extension.debias.doubly_robust module¶
- class openasce.extension.debias.doubly_robust.DRDebiasModel(hidden_units: Dict, min_propensity: float = 0.01, t_is_multi_class: bool = False, t_as_feature: bool = False, lr: float = 0.1, name: str = 'dr_debias')[source]¶
Bases:
CausalDebiasModelDoubly Robust Model for Debiasing Exposure/Post-click.
Model: DR (Doubly robust)
Paper: Doubly robust joint learning for recommendation on data missing not at random[C].
Link: https://proceedings.mlr.press/v97/wang19n.html.
Author: Wang X, Zhang R, Sun Y, et al.
Initialize.
- Parameters
hidden_units (dict) – list of positive integer, the layer number and units in each layer.
min_propensity (float) – The minimum propensity at which to clip propensity estimates to avoid dividing by zero.
t_is_multi_class (bool) – wether the treatment label is multi-class.
t_as_feature (bool) – wether the treatment is observed feature.
lr (float) – learning rate
- __init__(hidden_units: Dict, min_propensity: float = 0.01, t_is_multi_class: bool = False, t_as_feature: bool = False, lr: float = 0.1, name: str = 'dr_debias') None[source]¶
Initialize.
- Parameters
hidden_units (dict) – list of positive integer, the layer number and units in each layer.
min_propensity (float) – The minimum propensity at which to clip propensity estimates to avoid dividing by zero.
t_is_multi_class (bool) – wether the treatment label is multi-class.
t_as_feature (bool) – wether the treatment is observed feature.
lr (float) – learning rate
- property trainable_variables¶
openasce.extension.debias.fairco module¶
- class openasce.extension.debias.fairco.FAIRCODebiasModel(params: Dict)[source]¶
Bases:
CausalDebiasModelBuilding a FAIRCO model.
Model: FAIRCO (Inverse Probability Weighting).
Paper: Controlling Fairness and Bias in Dynamic Learning-to-Rank.
Link: https://arxiv.org/pdf/2005.14713.pdf.
Author: Marco Morik, Ashudeep Singh, Jessica Hong, and Thorsten Joachims.
Initialize.
- Parameters
params – parameter dict.
- loss(predictions: Dict, labels: Tensor)[source]¶
Compute scalar loss tensors with respect to provided labels.
- Parameters
predictions – a dictionary holding predicted tensors.
labels – label tensor dict.
- Returns
A scalar loss or A dictionary mapping strings (loss names) to scalar loss.
- property trainable_variables¶
openasce.extension.debias.ipw module¶
- class openasce.extension.debias.ipw.IPWDebiasModel(params: Dict)[source]¶
Bases:
CausalDebiasModelBuilding a IPW model.
Model: IPW (Inverse Probability Weighting).
Paper: Inverse probability weighted estimation for general missing data problems.
Link: https://www.econstor.eu/bitstream/10419/79298/1/386079048.pdf.
Author: Jeffrey M. Wooldridge.
Initialize.
- Parameters
params – parameter dict.
- loss(predictions: Dict, labels: Tensor)[source]¶
Compute scalar loss tensors with respect to provided labels.
- Parameters
predictions – a dictionary holding predicted tensors.
labels – label tensor dict.
- Returns
A scalar loss or A dictionary mapping strings (loss names) to scalar loss.
- property trainable_variables¶
openasce.extension.debias.macr module¶
- class openasce.extension.debias.macr.MACRDebiasModel(params: Dict)[source]¶
Bases:
CausalDebiasModelBuilding a MACR model.
Model: MACR (Model-Agnostic Counterfactual Reasoning).
Paper: Model-agnostic counterfactual reasoning for eliminating popularity bias in recommender system.
Link: https://arxiv.org/pdf/2010.15363.pdf.
Author: Tianxin Wei, Fuli Feng, Jiawei Chen, Ziwei Wu, Jinfeng Yi and Xiangnan He.
- loss(predictions: Dict, labels: Tensor)[source]¶
Compute scalar loss tensors with respect to provided labels.
- Parameters
predictions – a dictionary holding predicted tensors.
labels – label tensor dict.
- Returns
A scalar loss or A dictionary mapping strings (loss names) to scalar loss.
- property trainable_variables¶
openasce.extension.debias.pda module¶
- class openasce.extension.debias.pda.PDADebiasModel(params: Dict)[source]¶
Bases:
CausalDebiasModelBuilding a PDA model.
Model: PDA (Popularity-bias Deconfounding and Adjusting).
Link: https://arxiv.org/pdf/2105.06067.pdf.
Author: Yang Zhang, Fuli Feng, Xiangnan He, Tianxin Wei, Chonggang Song, Guohui Ling and Yongdong Zhang.
Initialize.
- Parameters
params – parameter dict.
- loss(predictions: Dict, labels: Tensor)[source]¶
Compute scalar loss tensors with respect to provided labels.
- Parameters
predictions – a dictionary holding predicted tensors.
labels – label tensor dict.
x – the original input.
- Returns
A scalar loss or A dictionary mapping strings (loss names) to scalar loss.
- property trainable_variables¶