LTR-特征非线性映射.md 13.4 KB

特征工程: 对因子做非线性处理,作为重排阶段的乘法融合 / 特征融合,和LR、FM、浅层 MLP的输入。

分成两张表:

  1. 常见非线性映射总表
  2. 按“你想达到什么效果”来选方法

一、常见非线性映射对比表

记号说明:

  • (x):原始因子,默认 (x\ge 0)
  • (y=f(x)):映射后特征
  • “头部/高值/尾部”分别指:高质量区、较大数值区、低影响区
  • “弹性”可理解为乘法融合里更接近“相对重要性”的量
方法 公式 单调性 斜率/敏感性特征 弹性/相对敏感性特征 主要效果 适合场景 风险/注意点
加偏置 (y=x+b) 单调增 (\frac{dy}{dx}=1) 不变 (\frac{x}{x+b}),随(x)增大而增大 主要削弱低值区相对重要性 防止小值/0值过度伤害乘法分数 对高值区抑制很弱
对数 (y=\log(1+x)) 单调增 高值区越来越平 高值相对敏感性下降明显 强压缩大值/长尾 计数、曝光、频次、热度 小值区区分度有时不够
幂次(0~1) (y=x\gamma,\ 0 单调增 高值区变平 弹性恒为(\gamma 整体降权,压缩高值 重尾分布、避免大值碾压 需要处理0附近/尺度问题
幂次(>1) (y=x\gamma,\ \gamma>1) 单调增 高值区更陡 弹性恒为(\gamma>1) 整体放大,强调高值 想突出强信号头部 容易放大异常值、过拟合
负幂 / 倒数幂 (y=(x+\epsilon)\gamma,\ \gamma 单调减 小(x)处敏感 适合“坏度/距离/排名”类反向量 把大值变小、小值变大 距离、惩罚项、rank-like特征 必须防0,数值稳定要小心
Michaelis-Menten / 饱和分式 (y=\frac{x}{x+K}) 单调增 前陡后平 (\frac{K}{x+K}),随(x)增大而减小 高值区重要性显著衰减 相似度、质量分、置信度饱和 需选(K),解释阈值要清晰
指数饱和 (y=1-e{-\alpha x}) 单调增 初期快,后期快饱和 高值区快速失敏 前期收益大,后期收益递减 “够好即可”的因子 (\alpha)过大易太早饱和
倒数/双曲线 (y=\frac{1}{x+c}) 单调减 头部陡、尾部平 对小(x)更敏感 强头部区分,尾部压平 rank、距离、位置惩罚 语义是反向量时更自然
RRF (y=\frac{1}{k+r}) 单调减 头部下降快,尾部下降慢 离散相邻rank差在头部更大 强调Top位置,压缩长尾rank差异 多路召回排序融合 更适合rank,不适合已校准连续分数
Sigmoid (y=\sigma(\alpha(x-c))) 单调增 中间陡,两端平 阈值附近最敏感 中段阈值化,低高两端压缩 有明显阈值的质量因子 容易过压缩,参数敏感
Tanh (y=\tanh(\alpha(x-c))) 单调增 中间陡,两端平 以中心点为对称中枢 适合有“好/坏偏离”语义 偏离均值、标准化后特征 要先中心化更合理
Softplus (y=\log(1+e{\alpha(x-c)})) 单调增 平滑版ReLU 阈值后近似线性 软阈值激活 希望“超过阈值才开始起作用” 不如硬阈值直观
ReLU/铰链 (y=\max(0,x-c)) 单调增 阈值前0,后线性 明确阈值激活 只让超过阈值部分生效 明确业务门槛 不连续,不够平滑
截断/裁剪 (y=\min(\max(x,L),U)) 单调 两端直接压平 控制极值影响 抗异常值,防爆 样本少、分布脏 可能损失极值信息
分段线性 分段定义 单调可控 可手工指定各段斜率 可按业务调敏感区间 可解释、稳、好控 规则清晰的业务场景 需要人工定阈值
Arctan (y=\arctan(\alpha(x-c))) 单调增 类S形但更柔和 中间敏感、两端平 温和版S型压缩 不想用太激进sigmoid时 解释性略弱
分位数/Percentile (y=\text{percentile}(x)) 单调增 基于排序,不看绝对差值 消除原始尺度影响 保序、抗异常、跨源统一尺度 多源分数难校准 丢失绝对量纲信息
分桶/Binning 区间映射到桶 不一定连续 桶内不敏感,桶间跳变 强离散化 把非线性变成离散模式 样本少、LR很常见 桶边界敏感
Box-Cox (\frac{x\lambda-1}{\lambda}) 单调增 介于log与power之间 可调分布形态 系统化连续压缩族 想系统试幂/log家族 解释性不如手工映射
Yeo-Johnson 可处理负值 单调 类似Box-Cox 可处理(\le 0) 负值/零值也能做分布矫正 特征可能有负值 工程解释性一般

二、按“想达到什么效果”选方法

这个表更适合你做特征工程时快速决策。

目标 推荐方法 核心机制 典型用途
防止小值/0值把乘法分数打穿 (x+b) 给低值加保护垫 质量分、置信分、召回弱信号保护
压制大值主导、做收益递减 (\log(1+x)), (x\gamma(0 (\frac{x}{x+K}), (1-e{-\alpha x}) 高值区斜率变小 热度、频次、相似度、历史点击率
明显削弱高值区重要性 (\frac{x}{x+K}) 弹性随(x)增大而下降 “高了以后别再太影响排序”
整体降低某因子的乘法重要性 (x\gamma,\ 0 弹性恒定缩小到(\gamma) 统一降权某类因子
整体放大某因子的乘法重要性 (x\gamma,\ \gamma>1) 弹性恒定放大到(\gamma) 想强化强信号
强调Top,压平长尾 (\frac{1}{x+c}), RRF 头部陡、尾部平 rank融合、位置因子、多路召回
只在阈值附近最敏感 Sigmoid / Tanh / Arctan 中间陡、两端平 质量过线、置信阈值、门控因子
超过阈值才起作用 ReLU / Hinge / Softplus 阈值激活 “达到一定水平才算有效”
抗异常值、防极值爆炸 Clip / Winsorize / Log 直接限幅或压缩长尾 脏数据、样本少、稳定性优先
分布跨源不一致、量纲不统一 Quantile / Percentile 保序统一尺度 多路打分融合、异构召回分
业务规则清晰、想强可解释 分段线性 / 分桶 手工指定各区间作用方式 规则强、可解释要求高
距离/惩罚/坏度越大越差 倒数、负幂、指数衰减 反向单调映射 距离、时延、惩罚项

三、几个你当前最关心的方法,单独再压缩成小表

1)加偏置 vs Michaelis-Menten

方法 公式 低值区 高值区 适合作用
加偏置 (x+b) 削弱更多 基本保留 防止低值过分伤害
MM饱和 (\frac{x}{x+K}) 保留较强敏感性 削弱更多 防止高值持续主导

一句话区别:

  • 加偏置:主要“救低值”
  • MM饱和:主要“压高值”

2)RRF 的特征

维度 结论
公式 (\frac{1}{k+r})
单调性 随rank变差单调下降
头部变化 更陡
尾部变化 更平
相邻rank差异 rank越靠前,相邻差越大
适合 多路召回融合、强调Top结果
本质 是一种“头部敏感、尾部压缩”的rank映射

你的判断是对的:RRF 确实是头部变化陡、尾部变化平。


3)Sigmoid / Tanh / ReLU 三者区别

方法 形状 最敏感区域 适用语义
Sigmoid S型,输出(0\sim1) 中心阈值附近 质量是否过线、概率型因子
Tanh S型,输出(-1\sim1) 中心附近 正负偏离、相对均值偏差
ReLU/Hinge 折线 阈值以上 超过门槛才开始加分

四、用于 LR / FM 输入时,最推荐的一组“低风险特征字典”

如果你现在是要做有限样本下的工程化输入,建议不要一下上太多复杂函数,而是每个核心因子先派生一个小型稳定字典

变换类别 推荐形式 作用
原始 (x) 保留原信息
稳定 (x+b) 防止低值过伤
压缩 (\log(1+x)) 压长尾
弱压缩 (\sqrt{x}) 温和收益递减
饱和 (\frac{x}{x+K}) 明确高值衰减
截断 (\min(x,U)) 防极值爆炸
阈值 (\mathbf 1[x>t]) 或 (\max(0,x-t)) 强化门槛效应
rank型 (\frac{1}{x+c}) / RRF 处理位置、rank、距离

五、如果你要在实际工程里优先试哪些

我建议优先级这样排:

第一梯队:最稳

  • (x)
  • (x+b)
  • (\log(1+x))
  • (\sqrt{x})
  • (\frac{x}{x+K})
  • clip
  • rank倒数 / RRF

第二梯队:有明确业务阈值时

  • sigmoid
  • tanh
  • relu / hinge
  • softplus
  • 分桶

第三梯队:谨慎使用

  • 指数放大
  • 高次幂 (x3,x4)
  • 很激进的负幂
  • 过多参数化函数族

因为样本少时,最怕的是:

  • 变换过激
  • 参数太多
  • 极值被放大
  • 输入间强共线后模型不稳

六、最后给你一个超短总结版

方法族 代表公式 本质效果
偏置族 (x+b) 救低值
压缩族 (\log(1+x), \sqrt{x}) 压大值、减长尾
饱和族 (\frac{x}{x+K}, 1-e{-\alpha x}) 高值收益递减
放大族 (x\gamma,\gamma>1) 强化高值
反向族 (\frac{1}{x+c}, x\gamma,\gamma 距离/排名/惩罚映射
S型族 sigmoid, tanh, arctan 中间敏感、两端变平
阈值族 ReLU, hinge, softplus 超过门槛才生效
稳定族 clip, winsorize, quantile 抗异常、保稳
离散族 binning, percentile 保序/分段表达

如果你愿意,我下一步可以继续帮你整理成一版“适合直接放进方案文档/评审PPT”的表格版,再补一列: “推荐用于哪些 rerank 因子(相关性、质量、热度、位置、先验)”