当前位置: 首页 > news >正文

搜广推校招面经十六

蚂蚁

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

1.1 原理

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

  • 1.最大似然估计 (MLE)
    在分类任务中,我们的目标是通过模型的输出概率分布,来最大化数据的似然(likelihood)。假设我们有一个训练集,包含了𝑁个样本 ( x 1 , y 1 ) , ( x 2 , y 2 ) , … , ( x n , y n ) (x_1,y_1),(x_2,y_2),…,(x_n,y_n) (x1,y1),(x2,y2),,(xn,yn),其中每个 x i x_i xi是特征, y i y_i yi是对应的标签。
    我们希望最大化模型的参数𝜃,使得在给定特征 x i x_i xi时,模型预测标签 y i y_i yi的概率最大。具体地,我们要最大化每个样本的条件概率:
    P ( y i ∣ x i , θ ) P(y_i|x_i,θ) P(yixi,θ)
    对于整个数据集,联合概率就是所有样本的条件概率的乘积:
    P ( Y ∣ X , θ ) = ∏ i = 1 N P ( y i ∣ x i , θ ) 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 = 1 N log ⁡ P ( y i ∣ x i , θ ) \log P(Y | X, \theta) = \sum_{i=1}^{N} \log P(y_i | x_i, \theta) logP(YX,θ)=i=1NlogP(yixi,θ)
  • 3.交叉熵损失函数
    在优化时,我们通常是最小化损失函数,因此我们取负的对数似然作为损失函数。负对数似然函数(NLL)就是交叉熵损失函数
    NLL i = − ∑ k = 1 C y i k log ⁡ p k \text{NLL}_i = - \sum_{k=1}^{C} y_{ik} \log p_k NLLi=k=1Cyiklogpk

1.2 优势

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

交叉熵损失依赖 对数函数(log),用于衡量真实分布与预测分布之间的差异。为了理解梯度如何变化,我们计算损失函数对预测概率 y ^ \hat{y} y^的偏导数:
∂ L ∂ y ^ = − y y ^ + ( 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 = 1 y=1 y=1
      ∂ L ∂ y ^ = − 1 y ^ \frac{\partial L}{\partial \hat{y}} = - \frac{1}{\hat{y}} y^L=y^1
      • y ^ → 1 \hat{y} \to 1 y^1 时,梯度 ( \to 0 )(收敛较慢)。
      • y ^ → 0 \hat{y} \to 0 y^0 时,梯度 → − ∞ \to -\infty (模型调整非常迅速)。
    • 真实标签 y = 0 y = 0 y=0
      ∂ L ∂ y ^ = 1 1 − y ^ \frac{\partial L}{\partial \hat{y}} = \frac{1}{1 - \hat{y}} y^L=1y^1
      • y ^ → 0 \hat{y} \to 0 y^0 时,梯度 → 0 \to 0 0(收敛较慢)。
      • y ^ → 1 \hat{y} \to 1 y^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 计算效率高

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 交叉类别型特征
树模型交叉类别 & 数值
自动化交叉所有特征

相关文章:

  • es和kibana安装
  • WEB安全--SQL注入--堆叠注入
  • 53倍性能提升!TiDB 全局索引如何优化分区表查询?
  • 关系数据库标准语言SQL
  • SQL语句语法
  • 【Java】xxl-job
  • print(f“Random number below 100: {random_number}“)的其他写法
  • 【Linux】:网络协议
  • c++--变量内存分配
  • C语言进阶习题【3】5 枚举——找单身狗2
  • Pytest快速入门
  • 【MySQL】第五弹---数据类型全解析:从基础到高级应用
  • Linux 上安装 PostgreSQL
  • AI时代:架构师的困境与救赎
  • 计时器任务实现(保存视频和图像)
  • 牛客小白月赛110
  • GGUF格式的DeepSeek-R1-Distill-Qwen-1.5B模型的字段解析
  • 机器学习·最近邻方法(k-NN)
  • 第七天:数据提取-正则表达式
  • 已知自动驾驶的一个场景,如变道,如何做好预期功能安全
  • 缅甸发生5.0级地震
  • 一旅客因上错车阻挡车门关闭 ,株洲西高铁站发布通报
  • 著名文博专家吴远明因交通事故离世,享年75岁
  • 全国林业院校校长论坛举行,聚焦林业教育的创新与突破
  • 圆桌丨全球化博弈与人工智能背景下,企业如何落地合规体系
  • 流失79载,国宝文物“子弹库帛书”(二、三卷)回归祖国