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

广告推荐模型1:逻辑回归(Logistic Regression,LR)

目录

一、LR模型的核心思想:为什么它是广告点击率预估的基石?

二、一个详细的例子:预测用户是否会点击游戏广告

三、LR在广告系统中的优缺点


一、LR模型的核心思想:为什么它是广告点击率预估的基石?

逻辑回归(Logistic Regression)本质上是一个广义线性模型,它解决的是二分类问题,尤其是输出为概率的问题。

在广告推荐中,核心问题之一就是:“给这个用户在这个位置上展示这个广告,他/她点击的概率有多大?” 这是一个典型的二分类问题(点击/不点击)。LR正是解决这个问题的绝佳起点。

它的工作流程可以分解为三步:

1.线性加权求和:将输入的特征(如用户年龄、广告类别等)乘以对应的权重(w),再加上一个偏置项(b),得到一个线性分数 z

  • z = w₁*x₁ + w₂*x₂ + ... + wₙ*xₙ + b

  • w 的大小代表了特征的重要性。w 越大,说明这个特征对是否点击的影响越大。

2.Sigmoid函数映射:将这个线性分数 z 通过一个Sigmoid函数,压缩到0和1之间,得到一个概率值。

  • p = Sigmoid(z) = 1 / (1 + e^{-z})

  • 这个 p 就是模型预测出的点击概率(pCTR)。

3.决策与学习:设定一个阈值(通常为0.5),如果 p > 0.5,则预测为“点击”,否则预测为“不点击”。模型通过梯度下降等算法,利用实际点击数据(标签)来不断调整权重 w 和 b,使得预测概率 p 越来越接近真实情况。

二、一个详细的例子:预测用户是否会点击游戏广告

假设我们是某个短视频平台(比如TikTok),要决定是否给用户Alice在信息流中展示一条《王者荣耀》的游戏广告。

第一步:特征工程(Feature Engineering)—— LR模型成功的关键

LR模型本身无法理解“男”、“游戏”这些类别数据,我们必须将其转化为数值特征(数字化)。这是最核心也是最费功夫的一步。

(1)用户特征(User Features)

  • 性别:男 -> 由于是类别特征,我们将其One-Hot编码

    • x_gender_male = 1

    • x_gender_female = 0

  • 年龄:23岁 -> 连续特征,可以直接使用,也可以进行分桶(binning)。

    • x_age = 23

  • 历史行为:过去一周点击过3次游戏广告 -> 统计特征,非常重要。

    • x_historical_game_clicks = 3

(2)广告特征(Ad Features)

  • 广告类别:游戏 -> 同样是类别特征,One-Hot编码。

    • x_category_game = 1

    • x_category_e-commerce = 0

    • x_category_education = 0

  • 广告主评级:知名公司(如腾讯) -> 可以转换为数值,比如评级分数4.8(满分5分)。

    • x_advertiser_score = 4.8

(3)上下文特征(Context Features)

  • 时间段:晚上8点 -> 可以视为连续特征,或者将其归类为“晚间高峰”并编码。

    • x_hour = 20

  • 设备:iOS -> One-Hot编码。

    • x_os_ios = 1

    • x_os_android = 0

最终,我们得到一个非常长的、稀疏的(大部分为0)特征向量来表示这次展示请求:
X = [x_gender_male=1, x_gender_female=0, x_age=23, x_historical_game_clicks=3, x_category_game=1, ..., x_os_ios=1, ...]

第二步:模型预测(Inference)

假设我们的LR模型已经训练好了,它学到了一些权重(w)。权重的大小代表了模型认为该特征对“点击”的贡献度

模型学到的权重可能如下:

  • w_gender_male = 0.1 (男性可能稍微更爱点游戏)

  • w_historical_game_clicks = 0.5 (历史点击游戏广告的行为非常重要!)

  • w_category_game = 0.3 (游戏类广告本身的点击概率较高)

  • w_advertiser_score = 0.4 (知名广告主更吸引人)

  • w_hour = 0.05 (晚上8点大家比较空闲)

  • ...

  • b (偏置项) = -2.1 (一个全局的基础偏置)

现在,我们将特征值(X)和权重(W)对应相乘并求和,计算线性分数 z
z = (1 * 0.1) + (23 * 0.01) + (3 * 0.5) + (1 * 0.3) + (4.8 * 0.4) + (20 * 0.05) + (1 * 0.1) + ... - 2.1

假设我们计算出 z = 1.6

然后将 z 代入Sigmoid函数:
p = 1 / (1 + e^{-1.6}) ≈ 1 / (1 + 0.2019) ≈ 0.832

结论:模型预测Alice点击这个《王者荣耀》广告的概率高达83.2%! 系统会认为这是一个高质量的展示机会,很可能将此广告排在信息流的前列。

第三步:模型训练(Training)

如果这次展示的真实情况是:Alice确实点击了
那么真实标签 y = 1。模型预测值 p = 0.832,虽然预测正确,但还不完美(理想值是1.0)。

损失函数(Loss Function):使用对数损失(Log Loss)来计算预测值与真实值的差距。

  • Loss = - [y * log(p) + (1-y) * log(1-p)]

  • 代入计算:Loss = - [1 * log(0.832) + 0] ≈ 0.184 (这是一个较小的损失)

梯度下降(Gradient Descent):模型会根据这个损失值,反向传播误差,微调所有权重(w)和偏置(b

  • 对于那些贡献大的特征(比如因为x_historical_game_clicks=3x_category_game=1),模型会适当增加它们的权重 w_historical_game_clicks 和 w_category_game,下次看到类似特征时预测概率会更接近1。

  • 同时,可能会轻微调整其他特征的权重。

通过在海量的“展示-点击/不点击”数据上反复进行这个过程,模型最终学习到各个特征权重的最佳值。

三、LR在广告系统中的优缺点

优点:

  1. 可解释性极强:你能清楚地知道哪个特征在多大程度上影响了预测结果(w的大小和正负)。这对于商业决策和调试模型至关重要。

  2. 计算效率高:模型简单,训练和预测速度非常快,适合需要高并发、低延迟响应的广告系统(每秒要处理百万次请求)。

  3. 概率输出:天然输出概率,这个pCTR值可以直接用于后续的广告排序(如按 pCTR * bid 计算ECPM进行排序)。

  4. 鲁棒性:不容易过拟合,尤其在大规模稀疏数据集上表现稳定。

缺点:

  1. 无法自动特征交叉:这是它最核心的缺陷。它无法自动学习到“年轻男性晚上游戏广告的偏好”这种组合效应。必须依靠算法工程师手动构造 is_young_male_at_night_viewing_game 这样的组合特征,耗费大量人力且难以穷尽。

  2. 线性假设:它假设特征和最终结果之间存在线性关系,但现实世界很多关系是非线性的。

http://www.xdnf.cn/news/18814.html

相关文章:

  • 如何拯救一家濒临破产的科技公司?
  • 技术总结:AArch64架构下Jenkins Agent(RPM容器编译节点)掉线问题分析与排查
  • KubeBlocks for Oracle 容器化之路
  • 【RAGFlow代码详解-30】构建系统和 CI/CD
  • 微服务-28.配置管理-共享配置
  • poi生成word固定表格列宽
  • TensorFlow 面试题及详细答案 120道(61-70)-- 高级特性与工具
  • css3背景线性渐变:linear-gradient
  • 【密集目标检测】停车场车辆(车位)识别数据集:12k+图像,yolo标注
  • 04 网络信息内容安全--入侵检测技术
  • 依托边缘计算方案,移动云全面化解算力、效率、安全平衡难题
  • from中烟科技翼支付 面试题2
  • 高频面试题:说一下线程池吧?(线程池原理,核心参数,创建方式,应用场景都要说到才能让面试官心服口服)
  • Pytorch深度学习(小土堆)
  • Java 企业应用单点登录(SSO)实现方案详解
  • 如何对springboot mapper 编写单元测试
  • Ansible 文件管理与 Jinja2 模板全解析:从模块应用到动态配置生成
  • 由倍讯科技研制的CCLinkIE转ModbusTCP网关,可达成与脉冲计数器的连接
  • JVM分层编译深度解析:完整机制与实践指南
  • 《零基础入门AI:长短期记忆网络(LSTM)与门控循环单元(GRU)(原理、结构与实现)》
  • 【大前端】实现一个前端埋点SDK,并封装成NPM包
  • 【机械故障】旋转机械故障引起的振动信号调制效应概述
  • 在线教育系统源码助力教培转型:知识付费平台开发的商业实践
  • 达索 Enovia 许可管理技术白皮书:机制解析与智能优化实践
  • 面试 总结(1)
  • 项目集升级:顶部导览优化、字段自定义、路线图双模式、阶段图掌控、甘特图升级、工作量优化、仪表盘权限清晰
  • 31.Encoder-Decoder(Seq2Seq)
  • Docker详细学习
  • 【Protues仿真】定时器
  • 构建智能提示词工程师:LangGraph 的自动化提示词生成流程