LGB模型

评估指标

LightGBM(Light Gradient Boosting Machine)内置了一系列用于评估模型性能的指标,这些指标适用于不同类型的任务,包括分类、回归和排序任务。以下是一些 LightGBM 自带的常见评估指标:
分类任务(Classification):
  1. binary_logloss:二分类问题的对数损失函数(Log Loss)。
  1. binary_error:二分类问题的错误率,即分类错误的样本比例。
  1. auc:二分类问题中的 AUC(Area Under the Curve),用于衡量正类别和负类别之间的分离程度。
  1. binary_auc:与 AUC 类似,用于二分类问题的 AUC。
  1. binary_logistic:二分类问题的逻辑回归损失。
  1. cross_entropy:多分类问题的交叉熵损失。
  1. multi_logloss:多分类问题的对数损失函数。
回归任务(Regression):
  1. l2mean_squared_error:均方误差(Mean Squared Error),用于回归任务,衡量预测值与真实值的平方差的均值。
  1. l1mean_absolute_error:平均绝对误差(Mean Absolute Error),用于回归任务,衡量预测值与真实值的绝对差的均值。
  1. huber:Huber 损失,是一种介于均方误差和平均绝对误差之间的损失函数。
  1. fair:Fair 损失,一种鲁棒的回归损失函数,对异常值不敏感。
  1. poisson:泊松损失,适用于泊松回归任务。
排序任务(Ranking):
  1. lambdarank:用于排序任务的损失函数,允许优化搜索结果的排序。
 
 

模型类型

  1. 回归问题
      • 如果你的目标是预测一个连续性的数值,比如房价、温度等,通常会选择均方误差(MSE)作为损失函数。MSE衡量了预测值与真实值之间的平均平方误差,试图最小化这个误差。
      • 均方误差适用于回归问题,优化算法的目标是最小化预测值与真实值之间的差距。
  1. 二分类问题
      • 如果你的任务是将样本分为两个类别(正类和负类),通常会选择对数损失(Log Loss)作为损失函数。对数损失测量了模型对正类别和负类别的概率估计与实际标签之间的一致性。
      • 对数损失适用于二分类问题,优化算法的目标是最大化正确分类的概率,或者说最小化模型的不确定性。
  1. 多分类问题
      • 对于多分类问题,通常也会选择对数损失(Log Loss)作为损失函数。对数损失对多个类别的概率估计和实际标签之间的一致性进行了建模。
      • 多分类问题中的对数损失通常与 Softmax 函数结合使用,以将多个类别的概率估计映射为有效的概率分布。
 

梯度优化

模型的梯度是指在梯度提升树(Gradient Boosting Tree)算法中用于训练树模型的损失函数相对于模型预测值的一阶导数。这个梯度告诉模型如何调整预测值以最小化损失函数、
具体来说,对于回归任务,LGB使用平方损失函数(MSE,均方误差),其梯度计算如下:
  • 对于第 i 个样本的平方损失梯度:2 * (预测值 - 真实值)
而对于分类任务,LGB通常使用对数损失函数(Log Loss,也称为交叉熵损失),其梯度计算如下:
  • 对于二分类问题:
    • 如果真实标签是 1:梯度为 -1 / 预测概率
    • 如果真实标签是 0:梯度为 1 / (1 - 预测概率)
  • 对于多分类问题,梯度的计算较为复杂,涉及到多个类别的情况,通常使用的是 Softmax 函数和交叉熵损失的组合
回归问题LGB模型采用(均方误差)MSE,分类问题LGB模型采用(对数损失)LOG LOSS
  • 'objective': 'binary':用于二分类问题,模型将优化对数损失函数,以最大程度地减小正类别和负类别的分类错误。
  • 'objective': 'multiclass':用于多分类问题,模型将优化多类别对数损失函数,以最大程度地减小多个类别的分类错误。
  • 'objective': 'regression':用于回归问题,模型将优化均方误差(MSE)损失函数,以最小化预测值与真实值之间的平方误差。