LightGBM中常见的几种损失策略

LightGBM的几种损失策略

LightGBM支持多种损失策略用于回归、分类和排序任务。下面介绍每种损失策略的计算公式、应用场景和特点。

  1. 平方损失(Squared Loss):

    • 计算公式:

      L(y^,y)=(y^y)2L(\hat{y}, y) = (\hat{y} - y)^2

    • 应用场景:主要用于回归任务,对于预测连续数值的问题,如房价预测、销售预测等。
    • 特点:平方损失对于预测值和真实值之间差异的敏感度较高,偏差较大的预测错误将被更严重地惩罚。
  2. 绝对损失(Absolute Loss):

    • 计算公式:

      L(y^,y)=y^yL(\hat{y}, y) = |\hat{y} - y|

    • 应用场景:同样适用于回归任务,预测连续数值。常用于对异常值较为敏感的问题,如异常值检测、离群点探测等。
    • 特点:相较于平方损失,绝对损失对异常值具有更好的鲁棒性,能够减小异常值对模型的影响。
  3. 二分类交叉熵损失(Binary Logloss):

    • 计算公式:

      L(y^,y)=ylog(y^)(1y)log(1y^)L(\hat{y}, y) = -y \log(\hat{y}) - (1-y) \log(1-\hat{y})

    • 应用场景:主要用于二分类任务,在正负样本判别问题中广泛应用,如垃圾邮件分类、欺诈检测等。
    • 特点:二分类交叉熵损失要求预测值y^\hat{y}在 (0, 1) 的范围内,对于高置信度的错误预测会被严重惩罚,激励模型更好地拟合训练数据的类别标签。
  4. 多分类交叉熵损失(Multiclass Logloss):

    • 计算公式:

      L(y^,y)=i=1Kyilog(y^i)L(\hat{y}, y) = -\sum_{i=1}^{K} y_i \log(\hat{y}_i)

    • 应用场景:适用于有多个互不相交的分类标签的任务,如图像分类、文本分类等。
    • 特点:多分类交叉熵损失引入了对多个类别的预测概率进行建模,激励模型同时考虑多个类别的准确预测。
  5. RankNet损失:

    • 计算公式:

      L(y^i,y^j,yi,yj)=(yijlog(σ(y^ij))+(1yij)log(1σ(y^ij)))L(\hat{y}_i, \hat{y}_j, y_i, y_j) = -\left(y_{ij} \log(\sigma(\hat{y}_{ij})) + (1-y_{ij}) \log(1-\sigma(\hat{y}_{ij}))\right)

    其中,yij={1,if yi>yj0,otherwisey_{ij} = \begin{cases}1, & \text{if }y_i > y_j\\0, & \text{otherwise}\end{cases}σ\sigma表示Sigmoid函数。

    • 应用场景:用于排序任务,例如搜索引擎的相关性排序、推荐系统中的商品排序等。
    • 特点:RankNet损失通过将排序问题转化为二分类问题,学习样本之间的相对顺序。
  6. LambdaRank损失:

    • 计算公式:

      L(y^i,y^j,yi,yj)=11+exp((y^iy^j)ΔNDCGij)ΔNDCGijL(\hat{y}_i, \hat{y}_j, y_i, y_j) = \frac{-1}{1 + \exp((\hat{y}_i - \hat{y}_j) \cdot \Delta NDCG_{ij})} \cdot \Delta NDCG_{ij}

    其中,ΔNDCGij\Delta NDCG_{ij}表示样本iijj的NDCG差异,expexp表示指数函数。

    • 应用场景:同样用于排序任务,在希望模型能够更好地优化排序指标(例如NDCG)时特别有用。
    • 特点:LambdaRank损失根据排序指标的梯度和误差权重来调整排名模型,通过优化排序指标来改进排序性能。

在排序任务中的 Pairwise Ranking 训练策略

在涉及到排序任务中,通常使用Pairwise Ranking策略,其目标是通过成对比较来学习样本之间的相对顺序。它主要应用于各种需要对样本进行排序的任务,例如搜索引擎结果排序、推荐系统中的商品排序等。

下面是Pairwise Ranking的工作原理及其在排序模型训练中的应用:

  1. 数据准备:

    • 训练数据:训练数据通常由成对的样本组成,每对样本都有两个样本以及它们之间的相对顺序标签。例如,在搜索引擎结果排序的任务中,每对样本都表示两个搜索结果页面,标签表示哪个页面在排序中更相关或更相关性。
    • 特征表示:每个样本都用一组特征来表示,这些特征可以包括文本特征、图像特征、用户行为特征等,具体根据任务来确定。
  2. 模型构建:

    • 模型选择:根据任务需求和数据特征,选择一个适合的排序模型作为基础模型。例如,常用的排序模型包括RankNet、LambdaRank、RankBoost等等。
    • 特征表示学习:对于一些非结构化的特征(如文本),可能需要进行特征表示的学习,例如使用词嵌入模型、卷积神经网络等方法。
  3. Pairwise Ranking策略:

    • 训练样本生成:对于每个训练样本,根据相对顺序标签生成成对的样本对。例如,对于三个样本(A,B,C)(A, B, C),生成的成对样本对为(A,B)(A,B)(B,C)(B,C)(A,C)(A,C)
    • 特征提取:对于每个样本对,从特征表示中提取对应的特征向量。
    • 成对比较:使用排序模型对每个样本对进行成对比较,比较它们的相对顺序。
    • 损失计算:根据排序模型输出的结果和真实的相对顺序标签计算损失函数。
  4. 损失函数:

    • 损失函数的选择取决于具体的排序模型。常见的损失函数包括RankNet损失和LambdaRank损失。
    • RankNet损失函数基于二分类交叉熵,将排序问题转化为二分类问题,通过比较排序结果和真实标签来最小化损失。
    • LambdaRank损失函数基于排序指标(如NDCG),通过计算梯度和误差权重来调整模型的排名,从而改进排序的性能。
  5. 损失优化:

    • 根据损失函数的梯度信息,使用梯度下降或其他优化算法来更新排序模型的参数。
    • 通常采用批量梯度下降或随机梯度下降等优化算法来最小化损失函数并改进模型性能。

通过利用Pairwise Ranking策略,结合适当的排序模型和损失函数,可以训练出能够有效对样本进行排序的模型。这种成对比较的方式使得模型能够关注样本之间的相对顺序关系,而不仅仅是单个样本的特征。这在需要排序的任务中非常有用,可以提高排序模型的性能和准确性。


LightGBM中常见的几种损失策略
https://www.lihaibao.cn/2024/01/15/LightGBM中常见的几种损失策略/
Author
Seal Li
Posted on
January 15, 2024
Licensed under