样本权重是对损失函数来说的对于类别少的样本 通过调节其对
损失函数的影响程度来达到提高预测精度


  1. 类型权重参数: class_weight

class_weight有什么作用?在分类模型中,我们经常会遇到两类问题:

  第一种是误分类的代价很高。比如对合法用户和非法用户进行分类,将非法用户分类为合法用户的代价很高,我们宁愿将合法用户分类为非法用户,这时可以人工再甄别,但是却不愿将非法用户分类为合法用户。这时,我们可以适当提高非法用户的权重class_weight={0:0.9, 1:0.1}。

scikit-learn 逻辑回归类库使用小结),让类库自动提高非法用户样本的权重。

2. 样本权重参数: sample_weight

  样本不平衡,导致样本不是总体样本的无偏估计,从而可能导致我们的模型预测能力下降。遇到这种情况,我们可以通过调节样本权重来尝试解决这个问题。调节样本权重的方法有两种,第一种是在class_weight使用balanced。第二种是在调用fit函数时,通过sample_weight来自己调节每个样本权重。

    在scikit-learn做逻辑回归时,如果上面两种方法都用到了,那么样本的真正权重是class_weight*sample_weight.

原理 => 样本或类别的权重在训练模型最终通过损失函数实现(以逻辑回归为例):

算法会把每个样本的训练损失乘以它的权重class_weight*sample_weight,损失函数为:
J(θ)=−(class_weight∗sample_weight)lnL(θ)=−(class_weight∗sample_weight)∑i=1m(y(i)log(hθ(x(i)))+(1−y(i))log(1−hθ(x(i)))) 。

应用 => 1. 做受众选择(人群扩展、人群定向)模型,若种子包包括目标商品转化和行为用户(购买较少,加入线上加购、收藏作为正样本),可考虑加大转化用户的样本权重。

2.DSP中CVR预估,广告主同时对ROI提出要求时,可尝试把客单价转化为样本权重列(spark lr: Weight_Col)参与到模型训练以提升ROI。

3. QLMX:第四届拍拍贷魔镜杯冠军方案分享 - 日期权重调整: 现金流预测中统计分析月初的还款量较大,月底的还款量较小,将每月月初的loss权重增到到1.12,月末的loss权重的loss减小到0.79。

4.

模型裁剪 权重裁剪 模型的权重_权重


  • 有点击的为正样本,有PV无点击的为负样本,正样本根据观看时长进行加权( weighted logistic regression), 其目标其实为预测期望观看时长