蚂蚁

一、交叉熵损失的原理和优势

1.1 原理

交叉熵损失实际上度量的是模型预测分布与真实标签分布的相似度,其推导通常基于最大似然估计(MLE)

  • 1.最大似然估计 (MLE)
    在分类任务中,我们的目标是通过模型的输出概率分布,来最大化数据的似然(likelihood)。假设我们有一个训练集,包含了𝑁个样本(x1,y1),(x2,y2),…,(xn,yn)(x_1,y_1),(x_2,y_2),…,(x_n,y_n)(x1,y1),(x2,y2),,(xn,yn),其中每个xix_ixi是特征,yiy_iyi是对应的标签。
    我们希望最大化模型的参数𝜃,使得在给定特征xix_ixi时,模型预测标签yiy_iyi的概率最大。具体地,我们要最大化每个样本的条件概率:
    P(yi∣xi,θ)P(y_i|x_i,θ)P(yixi,θ)
    对于整个数据集,联合概率就是所有样本的条件概率的乘积:
    P(Y∣X,θ)=∏i=1NP(yi∣xi,θ)P(Y | X, \theta) = \prod_{i=1}^{N} P(y_i | x_i, \theta)P(YX,θ)=i=1NP(yixi,θ)
  • 2.对数似然 (Log-Likelihood)
    由于乘积的形式不容易处理,我们通常对似然函数取对数,这样乘积变成了求和,并且对数函数是单调递增的,因此不会改变最大化过程:
    log⁡P(Y∣X,θ)=∑i=1Nlog⁡P(yi∣xi,θ)\log P(Y | X, \theta) = \sum_{i=1}^{N} \log P(y_i | x_i, \theta)logP(YX,θ)=i=1NlogP(yixi,θ)
  • 3.交叉熵损失函数
    在优化时,我们通常是最小化损失函数,因此我们取负的对数似然作为损失函数。负对数似然函数(NLL)就是交叉熵损失函数
    NLLi=−∑k=1Cyiklog⁡pk\text{NLL}_i = - \sum_{k=1}^{C} y_{ik} \log p_kNLLi=k=1Cyiklogpk

1.2 优势

1.2.1 对错误预测结果给予更大的惩罚,使模型快速调整

交叉熵损失依赖 对数函数(log),用于衡量真实分布与预测分布之间的差异。为了理解梯度如何变化,我们计算损失函数对预测概率 y^\hat{y}y^的偏导数:
∂L∂y^=−yy^+(1−y)(1−y^) \frac{\partial L}{\partial \hat{y}} = - \frac{y}{\hat{y}} + \frac{(1 - y)}{(1 - \hat{y})} y^L=y^y+(1y^)(1y)

  • 可以分别考虑两种情况:
    • 真实标签 y=1y=1y=1
      ∂L∂y^=−1y^ \frac{\partial L}{\partial \hat{y}} = - \frac{1}{\hat{y}} y^L=y^1
      • y^→1\hat{y} \to 1y^1 时,梯度 →0\to 00(收敛较慢)。
      • y^→0\hat{y} \to 0y^0 时,梯度 →−∞\to -\infty(模型调整非常迅速)。
    • 真实标签 y=0y = 0y=0
      ∂L∂y^=11−y^ \frac{\partial L}{\partial \hat{y}} = \frac{1}{1 - \hat{y}} y^L=1y^1
      • y^→0\hat{y} \to 0y^0 时,梯度 →0\to 00(收敛较慢)。
      • y^→1\hat{y} \to 1y^1 时,梯度 →∞\to \infty(模型迅速调整)。

1.2.2 方便配置类别权重,缓解类别不均衡问题

当数据类别不均衡时,可以为少数类别分配更大的权重,使模型更加关注这些类别

二、广告投放过后的后处理问题

广告投放后的 后处理(Post-Processing) 主要涉及 数据分析、效果评估、优化策略调整 等,确保广告 ROI(投资回报率) 最大化,减少浪费,提高转化率。

2.1. 数据监测(Data Monitoring)**

广告投放后,需要实时监控各类数据指标,包括:

  • 曝光量(Impressions):广告被展示的次数
  • 点击量(Clicks):用户点击广告的次数
  • 点击率(CTR, Click-Through Rate):点击量 / 曝光量
  • 转化率(CVR, Conversion Rate):转化量 / 点击量
  • 千次曝光成本(CPM, Cost Per Mille):每千次曝光的费用
  • 单次点击成本(CPC, Cost Per Click):每次点击的费用
  • 每次转化成本(CPA, Cost Per Acquisition):每次转化的费用
  • 广告投放 ROI(Return on Investment):收益 / 广告成本
    通过实时数据监测,可以及时发现异常情况并进行调整。

2.2. 数据清洗(Data Cleaning)

广告数据可能存在异常数据和噪声,需要清理:

  • 去除异常数据(如 CTR 过高或过低、无效点击、机器人流量等)
  • 去重(防止重复曝光或同一用户多次点击误导分析)
  • 时间序列处理(对跨时间维度的数据进行平滑和归一化)

2.3. 效果评估(Performance Evaluation)

广告投放后,需要评估广告的效果,以优化未来投放:

  • A/B 测试:测试不同广告素材、文案、落地页,找出最优策略
  • 归因分析:确定哪个渠道带来的转化最多(如 UTM 追踪、归因模型)
  • 用户分层分析:根据用户行为分析不同群体的转化情况(如 RFM 模型)
  • 时效性分析:广告投放时间是否影响转化(如白天 VS 夜晚、周中 VS 周末)

2.4. 广告优化(Optimization)

基于数据分析,优化广告投放策略:

  • 预算分配优化:根据不同渠道的 ROI 进行动态调整
  • 目标受众优化:调整人群定向策略,提高精准投放
  • 出价优化:调整 CPC/CPM 出价,降低获客成本
  • 创意优化:优化广告文案、图片、视频等,提高点击率和转化率
  • 落地页优化:A/B 测试不同落地页,提升用户转化率

2.5. 作弊检测与防护(Fraud Detection)

防止广告作弊流量(Ad Fraud),提升广告真实效果:

  • 异常点击检测(如单用户短时间内点击大量广告)
  • 机器人流量过滤(使用 AI 识别非人为操作)
  • 无效曝光监测(避免广告在无效页面大量曝光)
  • 重复转化排查(防止某些黑灰产通过刷单骗取广告预算)

2.6. 数据反馈与迭代(Feedback & Iteration)

广告投放不是一次性的,需要持续优化:

  1. 构建数据分析闭环,将广告效果数据反馈到投放策略中
  2. 训练机器学习模型,自动调整投放策略(如 LTV 预估、智能出价)
  3. 与业务目标对齐,确保广告转化符合长期业务目标

2.7. 关键结论

  • 实时数据监测 帮助发现异常情况
  • 数据清洗 保障分析的准确性
  • 效果评估 识别最优广告策略
  • 广告优化 降低成本、提升转化率
  • 作弊检测 保障广告预算的合理使用
  • 数据反馈 让投放策略持续进化

三、LR有什么优势,怎么做并行化处理

1. 优势

逻辑回归(Logistic Regression, LR)是广泛应用于分类任务的线性模型,具有以下优势:

1.1 计算效率高

  • 逻辑回归计算简单,基于 梯度下降(Gradient Descent)拟牛顿法(如 L-BFGS) 进行优化。
  • 计算复杂度较低,适用于大规模数据集。
  • 1.2 可解释性强

  • 系数权重直观:逻辑回归的权重可以直接解释特征对结果的影响,尤其适用于金融风控、医疗等高可解释性场景。
  • 概率输出:LR 直接输出 概率值,方便阈值调整和业务决策。
  • 1.3 适用于大规模数据

  • LR 仅涉及 矩阵运算,可以高效并行计算,适用于 大规模数据(如广告 CTR 预估、推荐系统)。

1.4 适用于在线学习

  • 可以使用 SGD(随机梯度下降) 进行 增量学习,适用于流式数据更新。

1.5 稳定性强

  • 通过 L1/L2 正则化(Lasso / Ridge),可以防止 过拟合 并增强泛化能力。

2. 逻辑回归的并行化处理

逻辑回归的 目标函数(损失函数) 是 对数似然函数的负数,其优化过程可以通过 梯度下降(GD)、随机梯度下降(SGD) 或 拟牛顿法(L-BFGS) 进行迭代求解。由于 梯度计算本质上是矩阵运算,可以拆分数据或者参数,使多个计算节点并行计算梯度,再合并更新模型参数。具体来说,LR 并行化的核心原因包括:
由于 LR 主要依赖 矩阵运算梯度计算,可以采用 分布式并行计算 加速训练。

2.1 数据并行(Data Parallelism)

在大规模数据集下,可以 划分数据集,在多个节点上并行计算梯度:

  1. 数据划分:将训练数据集按行拆分,分发到不同计算节点(worker)。
  2. 局部梯度计算:每个 worker 计算 局部梯度
  3. 梯度汇总:使用 参数服务器(Parameter Server)AllReduce 汇总全局梯度。
  4. 更新权重:全局更新 LR 的权重参数,并同步给各个 worker。

2.2 模型并行(Model Parallelism)

在特征维度较多的情况下(如 高维稀疏特征),可以采用 模型拆分:

  1. 将 不同特征子集 分配给不同计算节点。
  2. 各个节点计算自己的梯度后,进行 梯度合并。
  3. 适用于 超大规模广告 CTR 预估(数百万维度特征)。

三、逻辑回归(LR) VS 一层全连接神经网络(Single-Layer NN)

逻辑回归(Logistic Regression, LR)可以被看作是一个只有一层的全连接神经网络(Fully Connected Layer, FC Layer),如果没有非线性激活函数(如 ReLU、Tanh),那么 单层神经网络退化为逻辑回归。

对比项 逻辑回归(LR) 一层全连接神经网络(Single-Layer NN)
模型结构 仅有输入层和输出层 输入层 → 线性变换 → 激活函数 → 输出层
激活函数 Sigmoid(用于二分类) 可选 Sigmoid、ReLU、Tanh 等
优化方法 梯度下降、L-BFGS、SGD 反向传播 + SGD 或 Adam
计算复杂度 线性复杂度 O(N) 仍为 O(N),但可能稍高
适用场景 线性可分问题 可学习更复杂的非线性关系
可解释性 高,易理解 略低,难以直接解释权重
训练方式 直接最优化目标函数 通过神经网络反向传播
并行化能力 高,可用 Spark/Hadoop 依赖于深度学习框架(如 TensorFlow/PyTorch)
扩展性 受限,无法表示非线性关系 可扩展至多层,形成深度网络

四、特征交叉有哪些方法

特征交叉(Feature Crossing)是将多个特征组合成一个新的特征,以捕捉它们之间的交互关系,从而提升模型的预测能力。常见的特征交叉方法有以下几种:

4.1. 手动交叉(业务理解)

将多个特征直接组合成新的特征。例如,将“年龄”和“收入”特征交叉,创建一个新的特征“年龄_收入”,用于表示年龄和收入之间的组合关系。
适用于业务理解较强的场景,交叉的特征可以根据实际情况选取。

4.2. One-Hot Encoding交叉

将两个类别特征分别进行 One-Hot 编码,然后将它们的编码向量拼接在一起,形成一个新的复合特征。
这种方法适用于类别特征,通过组合两个类别特征的不同取值生成新特征。
例如,“城市” 和 “职业” 特征可以组合成新的交叉特征。

4.3. Polynomial Feature Expansion

这种方法将数值特征通过多项式展开进行交叉。例如,创建一个二次项特征(x1 * x2)或更高次的交叉特征(x1^2, x2^2, x1 * x2 等)。
适用于数值特征的组合,能够捕捉到特征之间的高阶非线性关系。

4.4. Embeddings交叉

使用嵌入(embedding)方法将类别特征映射到低维空间,再通过某种方式(例如加法或拼接)将多个嵌入向量进行组合,形成新的特征。
这种方法在处理类别特征时尤其有效,如通过神经网络模型的嵌入层实现特征交叉。

4.5. 基于树的特征交叉

使用树模型(如 XGBoost、LightGBM)训练特征,然后取叶子节点索引作为新的类别特征进行交叉。

4.6. 特征哈希(Feature Hashing)

当类别特征非常多时,可以使用哈希技巧对特征进行交叉,避免维度过高导致的计算问题。
通过将多个类别特征的组合哈希成固定长度的特征向量,降低计算和存储开销。

4.7. 深度学习中的特征交叉

  • 隐式特征交叉
    隐式的特征交叉是深度学习模型自动学习特征交互的方式。在这种情况下,模型不需要手动构造交叉特征,而是通过神经网络的结构自动学习特征之间的交互关系
  • 显式特征交叉
    • DCN的cross_network
    • DeepFM的FM

4.8. 总结

方法 适用场景 复杂度 适用于深度学习
数学运算 数值型特征
多项式特征 数值型特征
One-Hot 交叉 类别型特征
哈希交叉 大规模类别型
Embedding 交叉 类别型特征
树模型交叉 类别 & 数值
自动化交叉 所有特征
Logo

脑启社区是一个专注类脑智能领域的开发者社区。欢迎加入社区,共建类脑智能生态。社区为开发者提供了丰富的开源类脑工具软件、类脑算法模型及数据集、类脑知识库、类脑技术培训课程以及类脑应用案例等资源。

更多推荐