第 5 章 机器学习技术的应用(下)

news2025/5/21 10:53:45

全文目录

机器学习技术的实施方法

预测阶段效果监控

离线预测+在线预测

  1. 监控点击率的稳定性

    • 真实点击率的稳定性
      计算相邻两个区间内点击率分布的 PSI(Population Stability Index, 群体稳定性指标), 小于 0.1 可认为数据相对稳定;
    • 预测点击率的稳定性
      与系统本身和用户发生变化有关;
    • 预测点击率和真实点击率差异的稳定性
  2. 监控预测AUC的稳定性
    考虑展现偏差;

  3. 监控特征覆盖的稳定性

    • 衡量一条样本取值不为零的特征的平均数量;
    • 对于一个特征或一组特征能够覆盖的样本数量;

模型训练系统架构设计

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-koERfDaR-1687077499412)(assets/20210304083025.png)]

特征生成器 = 一组配置数据 + 一组解析程序;
典型: 根据用户的 key 和物品的 key 到原始特征库中获取所需要的原始特征, 然后按照配置的要求进行处理, 得到最终可用的特征;
特征生成器:

  • 配置数据的生成
    • 通过规则指定;
    • 维度过高且需要逻辑计算, 需要通过代码计算拟合;
  • 解析程序的生成
    • Spark MLlib 中的算子, 转换器;

特征生成器的好处:

  • 预测流程中也可以使用同一套特征生成器, 最大程度保证训练阶段和预测阶段特性的一致性;
  • 只依赖原始特征, 复杂的特征工程处理封装在逻辑中;
  • 基于"算子复用+配置开发"的特征开发方式;

模型预测系统架构设计

在这里插入图片描述

常用模型介绍

逻辑回归(LR)模型

Logistic Regression, LR

在这里插入图片描述

y = f ( x ) = 1 1 + e − z , z = ∑ i w i × x i y = f(x) = \frac{1}{1+e^{-z}}, z = \sum_i{w_i \times x_i} y=f(x)=1+ez1,z=iwi×xi
线性部分(z)+logistic部分;
y 表示一个物品被用户点击的概率, 1-y 即用户不点击该物品的概率;
o d d s = y / ( 1 − y ) odds = y/(1-y) odds=y/(1y), 一件事情发生与不发生的的比例;
l o g y 1 − y = l o g 1 e − z = l o g e z = z log\frac{y}{1-y} = log\frac{1}{e^{-z}} = loge^z = z log1yy=logez1=logez=z
LR 模型将 log-odds 统计量建模为线性问题;
优点:

  • logistic 函数与交叉熵损失函数搭配使用, 在使用基于梯度的方法时梯度消失的概率较小, 有利于模型的优化;
  • 变量之间的线性组合=>较好可解释性;
  • 将变量全部转为离散的0-1变量, 预测阶段变的简单;
  • logistic 函数输出 0-1 的光滑函数, 符合概率密度函数定义, 结果是高度校准的, 方便模型后续的其他接入;

缺点:

  • 所有特征之间均为线性关系, 不支持非线性能力;
  • 模型效果的提升大量依赖特征工程(工作量较大);

优先尝试的模型

GBDT模型

Gradient Boosting Decision Tree, 梯度提升树 = 梯度方法(gradient) + boosting + 决策树(decision tree);

  • 决策树, 核心, if-else 条件实现特征的非线性组合;
  • boosting, 实现多棵树, 后者修正前者的误差, 不断减少模型的偏差, 提升精度的效果; 于此相对的 随机森林 是通过 bagging 的方法实现树的组合;
  • 基于梯度作为损失函数, 应用更广;

在这里插入图片描述

优点:

  • 自动特征组合, 引入非线性能力;
  • 对数据容纳性好, 对数值特征不需要做分桶离散化处理; 对数值特征异常值不需要特殊处理; 对离散型变量也可以处理;
    缺点:
  • 自动组合的特征含义不够明确, 可解释性差;
  • 特征的重要性无法直接度量;
  • boosting 组合方法的特点决定了树与树之间只能串行训练, 限制模型训练的并行度;

LR+GBDT模型

facebook 2014年提出;

在这里插入图片描述

流程:

  • 训练数据划分A, B组;
  • A组数据训练 GBDT 模型;
  • B组训练数据, 每条样本走一遍训练好的 GBDT 模型, 在每棵树中走到的叶子节点作为一个 ID 类特征;
  • 将 B 组数据中的 LR 模型特征和上一步生成的叶子节点特征合并, 训练最终的 LR 模型;

区分A, B组数据, 是不希望参与树模型训练的数据再参与 LR 模型的训练, 造成过拟合;

因子分解机模型

Factorization Machine, FM
y = f ( x ) = w 0 + ∑ i = 1 n w i x i + ∑ i = 1 n ∑ j = i + 1 n < v i , v j > x i x j y = f(x) = w_0 + \sum_{i=1}^n w_ix_i + \sum_{i=1}^n\sum_{j=i+1}^n <v_i, v_j>x_ix_j y=f(x)=w0+i=1nwixi+i=1nj=i+1n<vi,vj>xixj

  • w 0 w_0 w0 偏差部分;
  • ∑ i = 1 n w i x i \sum_{i=1}^n w_ix_i i=1nwixi 线性部分, 与 LR 模型中 z z z 的计算方式相同;
  • ∑ i = 1 n ∑ j = i + 1 n < v i , v j > x i x j \sum_{i=1}^n\sum_{j=i+1}^n<v_i,v_j>x_ix_j i=1nj=i+1n<vi,vj>xixj 非线性部分, 增加模型描述能力; 所有特征两两组合形成组合特征, 两个向量的内积结果作为权重;
    每个组合特征是由两个 k 维向量 v 计算内积得到的, 即 n 个 x 的 v 向量组成了全部的组合特征的参数, 数量是 nk 个, O(nk) 量级;
    M = V V T M = VV^T M=VVT
  • M i , j M_{i,j} Mi,j 特征 x i x j x_ix_j xixj 对应参数
  • V i V_i Vi 为 FM 模型中的向量参数 v i v_i vi

优点:

  • 自动构造全量组合特征, 节省人工工作量, 实现全量线性+非线性+向量力度的特征表达;
  • 引入矩阵分解将参数量降维, 增加组合特征参数的训练样本量, 降低训练难度, 提升训练效果;

Wide & Deep 模型

与 FM 模型的区别: 使用深度神经网络构造非线性特征;

在这里插入图片描述

  • wide 部分负责记忆, 解决用户没有行为的物品或标签在预测数据中出现从而导致无法判断用户和物品相关性信息的问题; 将用户和物品的特征输入到一个神经网络中, 学习出这些特征的向量化表示;
  • deep 部分主要是离散特征, embedding 编码后输入神经网络中; 把同一批离散特征分别用作线性特征和深度特征, 同时实现记忆和泛化功能(特征交叉转换);

在这里插入图片描述

其他深度学习模型

DIN, DCN, PNN, DeepFM等
知其然, 知其所以然;
提出模型的原因, 与其他模型的关系;

机器学习实践常见问题

反模式:

  1. 只见模型, 不见系统;
    以系统全局观看到问题, 模型优化服务目标是最终是为了调优系统;

  2. 忽视模型过程和细节;
    LR 模型适合用于排查模型内部异常参数; 把控训练过程细节来把控最终模型;

  3. 不注重样本精细化处理;
    对负样本的界定不够细致; 对样本概念的理解不到位;

  4. 过于依赖算法;

  5. 核心数据缺乏控制;
    用数据的人保证对数据的控制性;

  6. 团队不够全栈;
    关注整个系统的全局性思维;

  7. 系统边界模糊导致出现"巨型系统";
    巨型系统特点:

    • 模块间不可拆分, 样本, 特征, 训练等步骤都耦合在一起;
    • 实验性, 探索性代码遍布其中, 分不清;
    • 模型整体流程(pipeline)特别长, 部分已经无用的流程;
  8. 不重视基础数据架构建设;
    样本数据, 原始特征数据, 处理后的特征数据, 支撑数据等;
    保证数据的可用性和可探索性;

本文仅作为读书笔记使用!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/659851.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Dice Loss

导读 ​ Dice Loss是由 Dice 系数而得名的&#xff0c;Dice系数是一种用于评估两个样本相似性的度量函数&#xff0c;其值越大意味着这两个样本越相似&#xff0c;Dice系数的数学表达式如下&#xff1a; Dice 2 ∣ X ∩ Y ∣ ∣ X ∣ ∣ Y ∣ \text { Dice }\frac{2|X \ca…

Windows10完全卸载oracle19c

Windows10完全卸载oracle19c 1.停止服务2.卸载产品3.清理注册表4.清理环境变量5.清理文件夹 1.停止服务 winR输入service.msc进入服务列表&#xff0c;停止所有的服务 2.卸载产品 点击开始菜找到Oracle&#xff0c;然后点击Oracle安装产品&#xff0c;再点击Universal Inst…

如何安装PHP框架

目录 什么是PHP框架 第一步 安装PHP依赖包 第二步 导入PHP相关包 第三步 解包并切换进指定目录 第四步 在PHP目录内编译安装 第五步 编译 第六步 拷贝配置文件进行编辑 第七步 修改时区 第八步 修改文件指定路径 第九步 将命令加入指定目录进行识别 第十步 进入配置…

【Flutter】Audioplayers 4.1.0 简要使用说明

文章目录 一、前言二、安装和设置三、基本使用1.创建 AudioPlayer 实例2.设置音频源3.控制播放 四、示例代码五、总结 一、前言 Audioplayers 是一个非常实用的 Flutter 插件&#xff0c;它可以帮助我们在 Flutter 应用中播放音频。无论你是想在你的应用中添加背景音乐&#x…

【Python】在同一图形中更加优雅地绘制多个子图

1. 引言 数据可视化非常重要&#xff0c;有一句俗语叫做一图顶千言&#xff0c;我相信好多小伙伴应该都听说过这句话&#xff1b;即使是有人第一次听到&#xff0c;我想应该也会觉得赞成&#xff0c;这足以说明数据可视化的重要性。我们在前一篇博客中&#xff0c;介绍了如何利…

C语言基础 位域

C语言基础&#xff1a;位域 主题&#xff1a;位域&#xff08;bit-field&#xff09; 关键字&#xff1a;位域 冒号 结构体 存储空间 参考链接&#xff1a;C语言中文网&#xff1a;位域 、C菜鸟工具&#xff08;在线编译器&#xff09;、位域知乎问答 注&#xff1a;以下内容中…

VM安装linux虚拟机宿主机连接不上虚拟机问题处理及静态ip设置

VM安装linux虚拟机宿主机连接不上虚拟机问题处理 用 vm安装linux虚拟机宿主机连不上虚拟机&#xff0c;ipconfig宿主机发现VMnet1以及VMnet8的Ip都变成了169.254开头的地址&#xff0c;网上各种方式都试了都不行&#xff0c;要么 是 虚拟机连不上网&#xff0c;要么 是宿主机连…

金融测试岗面试有多难?我有秘招……

最近发现好多人都喜欢往金融测试岗跑&#xff0c;看来是真的很香了&#xff0c;但是你们知不知道面试金融测试岗还是很难的&#xff0c;如果想去面试真的要多做些了解再去&#xff0c;我在这里总结了一份面试文档分享给大家&#xff0c;若有需要&#xff0c;【留言777】即可。 …

windows 系统加固

其实Windows和Linux加固的方法都差不多 1.防火墙 1.防火墙的开启 2.入站规则进行设置 对一些端口更改后可以使用telnet 进行检测端口是否开放 2.安装杀毒软件 3.扫描漏洞&#xff0c;打补丁 一般漏洞扫描可以借用第三方平台对系统漏洞进行扫描。 开启补丁的自动更新 4.用…

【css系列】八股2023/6/18

1.说说设备像素、css像素、设备独立像素、dpr、ppi 之间的区别&#xff1f; css 像素&#xff1a;长度单位&#xff0c;在css规范中&#xff0c;长度单位分为两类&#xff1a;绝对单位 和 相对单位。 设备像素&#xff1a;物理像素&#xff0c;指设备能控制显示的最小物理单位…

计算机视觉的应用8-基于ResNet50对童年数码宝贝的识别与分类

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下计算机视觉的应用8-基于ResNet50对童年数码宝贝的识别与分类&#xff0c;想必做完90后的大家都看过数码宝贝吧&#xff0c;里面有好多类型的数码宝贝&#xff0c;今天就给大家简单实现一下&#xff0c;他们的分类任…

计网大题(6/18)

1.奈奎斯特定理和香农公式 1.奈奎斯特 B1/T ,T是波特 &#xff0c;B成为波特率 奎氏定理&#xff1a;R2Wlog2&#xff08;N&#xff09; &#xff08;W是理想信道带宽&#xff0c;单位是hz&#xff09; 香农公式 R是最大信道容量 信道带宽是W 信噪比是S/N ,(S是平均信号功率…

kotlin学习(二)泛型、函数、lambda、扩展、运算符重载

文章目录 泛型&#xff1a;in、out、where型变&#xff08;variance&#xff09;不变&#xff08;Invariant&#xff09;协变&#xff08;Covariant&#xff09;Java上界通配符<? extends T>Kotlin的关键词 outUnsafeVariance 逆变&#xff08;Contravariant&#xff09…

Portraiture4.1智能磨皮滤镜插件下载安装使用教程

ps磨皮插件portraiture是一款用于修饰人像照片的插件&#xff0c;可以在Photoshop中使用。它可以通过智能算法来自动识别照片中的肤色区域&#xff0c;然后对其进行磨皮处理&#xff0c;使得肌肤更加光滑细腻。不需要像曲线磨皮、中性灰磨皮那样需要复杂的操作&#xff0c;轻轻…

JavaScript之函数 (七):认识JavaScript函数、函数的声明和调用、函数的递归调用、局部和全局变量、函数表达式的写法、立即执行函数使用

1. 认识JavaScript函数 1.1 程序中的foo、bar、baz 在国外的一个问答网站stackover flow中&#xff0c;常常会使用这几个次进行变量&#xff0c;函数&#xff0c;对象等等声明&#xff0c;地位如同张三&#xff0c;李四&#xff0c;王五。foo、bar这些名词最早从什么时候、地…

【MySQL入门】-- 认识MySQL存储引擎

目录 1.MySQL存储引擎有什么用&#xff1f; 2.MySQL的存储引擎有哪些&#xff1f;分别有什么特点&#xff1f; 3.存储引擎的优缺点 4.关于存储引擎的操作 5. 存储引擎的选择&#xff1f; 6.InnoDB和MyISAM区别&#xff1f; 7.官方文档 1.MySQL存储引擎有什么用&#xff…

2022 年第十二届 MathorCup 高校数学建模挑战赛D题思路

目录 一、前言 二、问题背景 三、问题 四、解题思路 &#xff08;1&#xff09;针对问题1&#xff1a; &#xff08;2&#xff09;针对问题2&#xff1a; &#xff08;3&#xff09;针对问题3&#xff1a; 五、附上几个典型代码 &#xff08;1&#xff09;K-means算法…

文献阅读:Foundation Transformers

文献阅读&#xff1a;Foundation Transformers 1. 文章简介2. 模型结构 1. Sub-LN2. Initialization 3. 实验效果 1. NLP任务 1. 语言模型上效果2. MLM模型上效果3. 翻译模型上效果 2. Vision任务上效果3. Speech任务上效果4. 图文任务上效果 4. 结论 & 思考 文献链接&…

卡尔曼滤波器使用原理以及代码编写

注&#xff1a;要视频学习可以去B站搜索“DR_CAN”讲解的卡尔曼滤波器&#xff0c;深有体会&#xff01; 一、为啥需要卡尔曼滤波器 卡尔曼滤波器在生活中应用广泛&#xff0c;因为在我们生活中存在着不确定性&#xff0c;当我去描述一个系统&#xff0c;这个不确定性就包涵一…

源码编译LAMP与论坛安装

目录 Apache网站服务&#xff08;著名的开源Web服务软件&#xff09; Apache的主要特点 软件版本 如何创建论坛 安装相关服务Apache 安装MySQL数据库 安装PHP框架 然后进行论坛安装 第一步 先进入到MySQL内 第二步 授权bbs数据库 第三步 刷新数据库 第四步 解压指定…