CatBoost 中对分类特性举行目的变量统计编码 公式分析

[复制链接]
发表于 2025-12-27 18:33:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
公式 14-2 是 CatBoost 中对分类特性举行目的变量统计编码的一种改进版本,加入了平滑项,用于处置处罚希罕数据和种别样本不敷的环境。下面是对公式的详细表明:
公式 14-2

x^ki=∑j=1i−1[xσj,k=xσi,k]Yσj+a⋅p∑j=1i−1[xσj,k=xσi,k]+a\hat{x}_k^i = \frac{\sum_{j=1}^{i-1} [x_{\sigma_j,k} = x_{\sigma_i,k}] Y_{\sigma_j} + a \cdot p}{\sum_{j=1}^{i-1} [x_{\sigma_j,k} = x_{\sigma_i,k}] + a}x^ki​=∑j=1i−1​[xσj​,k​=xσi​,k​]+a∑j=1i−1​[xσj​,k​=xσi​,k​]Yσj​​+a⋅p​

公式的意义

公式用于盘算分类特性 xkx_kxk​ 的目的变量统计值 x^ki\hat{x}_k^ix^ki​。
统计值 x^ki\hat{x}_k^ix^ki​ 是基于当前样本 iii 之前的练习样本数据盘算得到的。
通过引入平滑参数 aaa 和全局目的变量均值 ppp,公式可以或许克制统计值在样本数目较少时过于非常或不稳固。

公式中的符号寄义


  • x^ki\hat{x}_k^ix^ki​:

    • 体现第 iii 个样本在分类特性 kkk 上的目的变量统计值。

  • xσj,kx_{\sigma_j,k}xσj​,k​ 和 xσi,kx_{\sigma_i,k}xσi​,k​:

    • xσj,kx_{\sigma_j,k}xσj​,k​:第 jjj 个样本在分类特性 kkk 上的取值。
    • xσi,kx_{\sigma_i,k}xσi​,k​:第 iii 个样本在分类特性 kkk 上的取值。

  • 指示函数 [xσj,k=xσi,k][x_{\sigma_j,k} = x_{\sigma_i,k}][xσj​,k​=xσi​,k​]:

    • 当 xσj,k=xσi,kx_{\sigma_j,k} = x_{\sigma_i,k}xσj​,k​=xσi​,k​ 时,其值为 1;否则为 0。
    • 用于选择与当前样本 iii 的特性值 xσi,kx_{\sigma_i,k}xσi​,k​ 雷同的样本。

  • YσjY_{\sigma_j}Yσj​​:

    • 样本 jjj 的目的变量值。

  • aaa:

    • 平滑参数,控制全局均值 ppp 对目的统计值的影响。

      • 如果 aaa 较大,则统计值更依赖全局均值 ppp;
      • 如果 aaa 较小,则统计值更依赖于当前种别的汗青统计值。


  • ppp:

    • 全局目的变量均值,即全部样本目的变量 YYY 的匀称值:
      p=∑j=1nYjnp = \frac{\sum_{j=1}^n Y_j}{n}p=n∑j=1n​Yj​​
      nnn 为总样本数。

  • σ\sigmaσ:

    • 体现样本的分列次序,确保盘算过程中只使用当前样本之前的数据。

  • 分子:

    • 包罗两部分:

      • ∑j=1i−1[xσj,k=xσi,k]Yσj\sum_{j=1}^{i-1} [x_{\sigma_j,k} = x_{\sigma_i,k}] Y_{\sigma_j}∑j=1i−1​[xσj​,k​=xσi​,k​]Yσj​​:
        当前样本之前,与 xσi,kx_{\sigma_i,k}xσi​,k​ 特性值雷同的样本目的值之和。
      • a⋅pa \cdot pa⋅p:
        平滑项,体现全局目的均值对统计值的贡献。


  • 分母:

    • 同样包罗两部分:

      • ∑j=1i−1[xσj,k=xσi,k]\sum_{j=1}^{i-1} [x_{\sigma_j,k} = x_{\sigma_i,k}]∑j=1i−1​[xσj​,k​=xσi​,k​]:
        当前样本之前,与 xσi,kx_{\sigma_i,k}xσi​,k​ 特性值雷同的样本数目。
      • aaa:
        平滑因子,防止分母为零。



公式分解与徐徐表明

1. 未引入平滑项时的目的统计值

目的统计值是当前种别目的变量的汗青加权均值:
x^ki=∑j=1i−1[xσj,k=xσi,k]Yσj∑j=1i−1[xσj,k=xσi,k]\hat{x}_k^i = \frac{\sum_{j=1}^{i-1} [x_{\sigma_j,k} = x_{\sigma_i,k}] Y_{\sigma_j}}{\sum_{j=1}^{i-1} [x_{\sigma_j,k} = x_{\sigma_i,k}]}x^ki​=∑j=1i−1​[xσj​,k​=xσi​,k​]∑j=1i−1​[xσj​,k​=xσi​,k​]Yσj​​​

  • 标题:当 i−1i-1i−1 中满足 xσj,k=xσi,kx_{\sigma_j,k} = x_{\sigma_i,k}xσj​,k​=xσi​,k​ 的样本数目较少时(希罕种别或练习早期),分母较小,统计值大概过于非常。
2. 引入平滑项后的目的统计值

通过加入全局目的均值 ppp 和权重因子 aaa,使得统计值更平滑、更鲁棒:

  • 当样本数目较多时:

    • 分母中的 aaa 对总值的贡献较小,公式更依赖于当前种别的目的统计。

  • 当样本数目较少时:

    • 分母中的 aaa 占比力大,公式更依赖于全局均值 ppp。

这有效缓解了希罕种别标题。

盘算步调


  • 定位与当前样本 xσi,kx_{\sigma_i,k}xσi​,k​ 特性值雷同的汗青样本:

    • 遍历当前样本之前的全部样本 j=1,2,…,i−1j = 1, 2, \dots, i-1j=1,2,…,i−1,使用指示函数 [xσj,k=xσi,k][x_{\sigma_j,k} = x_{\sigma_i,k}][xσj​,k​=xσi​,k​] 筛选出特性值雷同的样本。

  • 累加目的变量 YYY:

    • 对筛选出的样本目的变量 YσjY_{\sigma_j}Yσj​​ 求和,得到该种别的目的值总和。

  • 加上平滑项:

    • 将全局目的均值 ppp 乘以平滑参数 aaa,作为额外的平滑贡献。

  • 盘算分母:

    • 累加与当前样本 xσi,kx_{\sigma_i,k}xσi​,k​ 特性值雷同的汗青样本数目,再加上平滑参数 aaa。

  • 盘算目的统计值:

    • 将分子除以分母,得到平滑后的目的统计值。


公式的作用


  • 办理希罕种别标题:

    • 当种别 xσi,kx_{\sigma_i,k}xσi​,k​ 的样本数目较少时,统计值会更依赖于全局均值 ppp,从而克制过拟合。

  • 克制数据走漏:

    • CatBoost 通过排序提拔方法(Ordered Boosting),包管盘算当前样本的目的统计值时,仅使用当前样本之前的汗青数据,克制目的变量走漏。

  • 进步模子稳固性:

    • 引入平滑项 aaa 和全局均值 ppp,使得模子在希罕数据或早期练习阶段更加稳固。


示例

假设有如下数据:
样本 iii分类特性 xix_ixi​目的值 YiY_iYi​1A12B03A14A05B1全局目的均值:
p=1+0+1+0+15=0.6p = \frac{1 + 0 + 1 + 0 + 1}{5} = 0.6p=51+0+1+0+1​=0.6
平滑因子:
a=2a = 2a=2
盘算 x^k3\hat{x}_k^3x^k3​(第 3 行,种别 AAA):

  • 汗青样本中 xσj,k=xσ3,k=Ax_{\sigma_j,k} = x_{\sigma_3,k} = Axσj​,k​=xσ3​,k​=A:

    • 第 1 行:Y1=1Y_1 = 1Y1​=1。
    • 以是,分子为:
      ∑j=12[xσj,k=xσ3,k]Yσj+a⋅p=1+2⋅0.6=2.2\sum_{j=1}^{2} [x_{\sigma_j,k} = x_{\sigma_3,k}] Y_{\sigma_j} + a \cdot p = 1 + 2 \cdot 0.6 = 2.2j=1∑2​[xσj​,k​=xσ3​,k​]Yσj​​+a⋅p=1+2⋅0.6=2.2
    • 分母为:
      ∑j=12[xσj,k=xσ3,k]+a=1+2=3\sum_{j=1}^{2} [x_{\sigma_j,k} = x_{\sigma_3,k}] + a = 1 + 2 = 3j=1∑2​[xσj​,k​=xσ3​,k​]+a=1+2=3

  • 目的统计值:
    x^k3=2.23≈0.733\hat{x}_k^3 = \frac{2.2}{3} \approx 0.733x^k3​=32.2​≈0.733
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表