142.如何个性化推荐系统设计-2

news2025/11/15 7:25:19

142.1 离线训练

  • 离线训练流程
  • 如何线上实时反馈特征?
    • 在线计算,与曝光日志一起上报,离线直接使用
  • 如何解决曝光不足问题?
    • 使用CTR的贝叶斯平滑(CTR = 曝光次数 / 点击次数)
      • 所有新闻自身CTR®服从Beta分布:
      • 某一新闻,给定展示次数时和自身CTR,点击次数服从伯努利分布,曝光次数为I,点击次数为C:
      • 对最大似然函数求解参数α,β,则i新闻CTR后验估计:
      • 对曝光不足的做平滑,曝光充分的影响不大

142.2 用户画像

  • 用户标签
  • 统计方法
    • 用户feeds内行为,标签 计数(点击率),缺点:无法加入更多特征,不方便后续优化
  • 基于机器学习的方法
    • 对用户长期兴趣建模
    • LR模型
    • 用户标签作为特征

142.3 GBDT粗排

  • 为什么需要粗排?
    • 快速筛选高质量的候选集
    • 方便利用在线实时反馈特征
  • 如何做粗排的特征设计?
    • 特征要相对稠密
  • 如何选择合适的算法模型?
    • lightgbm
    • xgboost
    • lightgbm比xgboot速度更快;在线预测时,线程更安全

142.4 在线FM精排

  • 为什么需要在线学习?
    • feeds内容更新快
    • 用户兴趣会随时间变化
    • 排序模型需要快速反应用户的兴趣变化
  • FM模型
  • 采用FTRL(Follow The Regularized Leader)更新模型
  • 算法概述
    • FTRL是一种适用于处理超大规模数据的,含大量稀疏特征的在线学习的常见优化算法,方便实用,而且效果很好,常用于更新在线的CTR预估模型。
    • FTRL算法兼顾了FOBOS和RDA两种算法的优势,既能同FOBOS保证比较高的精度,又能在损失一定精度的情况下产生更好的稀疏性。
    • FTRL在处理带非光滑正则项(如L1正则)的凸优化问题上表现非常出色,不仅可以通过L1正则控制模型的稀疏度,而且收敛速度快。
  • 算法要点与推导
  • 算法特性及优缺点
    • 在线学习,实时性高;可以处理大规模稀疏数据;有大规模模型参数训练能力;根据不同的特征特征学习率 。
  • FTRL-Proximal工程实现上的tricks:

1.saving memory

 	方案1)Poisson Inclusion:对某一维度特征所来的训练样本,以p的概率接受并更新模型。
 	方案2)Bloom Filter Inclusion:用bloom filter从概率上做某一特征出现k次才更新。

2.浮点数重新编码

	1)特征权重不需要用32bit或64bit的浮点数存储,存储浪费空间。
	2)16bit encoding,但是要注意处理rounding技术对regret带来的影响(注:python可以尝试用numpy.float16格式)

3.训练若干相似model

	1)对同一份训练数据序列,同时训练多个相似的model。
	2)这些model有各自独享的一些feature,也有一些共享的feature。
	3)出发点:有的特征维度可以是各个模型独享的,而有的各个模型共享的特征,可以用同样的数据训练。

4.Single Value Structure

	1)多个model公用一个feature存储(例如放到cbase或redis中),各个model都更新这个共有的feature结构。
	2)对于某一个model,对于他所训练的特征向量的某一维,直接计算一个迭代结果并与旧值做一个平均。

5.使用正负样本的数目来计算梯度的和(所有的model具有同样的N和P)

6.subsampling Training Data

	1)在实际中,CTR远小于50%,所以正样本更加有价值。通过对训练数据集进行subsampling,可以大大减小训练数据集的大小。
	2)正样本全部采(至少有一个广告被点击的query数据),负样本使用一个比例r采样(完全没有广告被点击的query数据)。但是直接在这种采样上进行训练,会导致比较大的biased prediction。
	3)解决办法:训练的时候,对样本再乘一个权重。权重直接乘到loss上面,从而梯度也会乘以这个权重。
  • 适合场景
    • 点击率模型
  • 如何选择精排特征?
    • 新增特征需保证已有特征索引不变
    • 定期离线训练淘汰无用特征,防止特征无线膨胀
    • 使用GBDT粗排预测的CTR分段结果作为特征

大数据视频推荐:
网易云课堂
CSDN
人工智能算法竞赛实战
AIops智能运维机器学习算法实战
ELK7 stack开发运维实战
PySpark机器学习从入门到精通
AIOps智能运维实战
腾讯课堂
大数据语音推荐:
ELK7 stack开发运维
企业级大数据技术应用
大数据机器学习案例之推荐系统
自然语言处理
大数据基础
人工智能:深度学习入门到精通

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

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

相关文章

199道SpringCloud面试题,你能答上来吗

前言 Spring Cloud Alibaba 是阿里中间件团队主导的一个新生项目,正处于高速迭代中。 其次,对于中国用户来说,Spring Cloud Alibaba 还有一个非常特殊的意义:它将曾经红极一时的 Dubbo,以及阿里巴巴的强力消息中间件…

每天花2小时复习Java面试指南,高级架构视频,我进了阿里定级P7

Java进阶架构师必备 基础 容器 并发 JVM Java8 计算机网络 计算机操作系统 Linux 数据结构 算法 mysql (优化思路) 系统设计 分布式 线上问题调优(虚拟机,tomcat) 面试指南 工具 ​ 编辑 添加图片注释,不超过 140 字(可选&…

用Python采集球员信息,成功预测到了球赛胜负?

前言 嗨嗨,最近看球赛的朋友多吗 emm怎么说,我对这个虽然兴趣不是很大 但是还是想跟朋友赌赌,自己对这些球员也不是很熟悉,索性叫我的好同事帮我用Python采集了各国球员的一些信息,没料到竟预测成功了! …

2022 谷歌出海创业加速器展示日: 见证入营企业成长收获

经历三个月的沉淀,迎来了展示日的大放异彩。10 家入营企业的路演分享,带来诸多启发 ——企业出海有什么挑战和难点?加入谷歌出海创业加速器,团队有哪些收获?三个月的培训和交流,带来了怎样的感受&#xff1…

Vue中插槽slot

slot插槽(别名:内容分发): 作用: 混合父组件的内容与子组件自己的模板;父组件模板内容在父组件作用域内编译;子组件模板的内容在子组件作用域内编译;扩展组件能力,提高…

VGG16 -19 — CV 中表现最好的 ConvNet 模型

从先进的计算机视觉出现的 Alexnet 开始,人们开始尝试不同的架构。牛津大学工程科学系的 Karen simonyan 和 Andrew Zisserman 在对 ImageNet Challenge 2014 的数据集进行了一些实验后提出了非常深的卷积网络:VERY DEEP CONVOLUTIONAL NETWORKS FOR LAR…

美食杰项目(二)首页

目录前言具体样式代码思路加载样式相应组件相应代码总结:前言 本节给大家讲的是美食杰项目的首页的主要功能和具体样式 具体样式 代码思路 1.点击首页跳转到首页页面 2.在父组件将轮播图所需的图片请求出来,再传给轮播组件 3.在父组件将商品列表的数据…

找不到工作,软件测试真的不香了?

最近总是有人说测试先不要干,测试不好找工作。测试没有以前那么香了? 可是,这是真的么?什么样的人会说这样的话? 肯定不是现在还在岗的人说的,也不是已经拿到企业聘用offer的人说的。 因为他们都是优秀的…

交换机的工作原理以及搭建局域网划分VLAN

作者简介:一名99年软件运维应届毕业生,正在自学云计算课程。宣言:人生就是B(birth)和D(death)之间的C(choise),做好每一个选择。创作不易,动动小手…

OneAuth 2022.11.23版本更新内容

2022.11.23版本更新内容: 新增IdP飞书 云目录增加对Group的支持GWA浏览器插件适配性优化自定义授权服务器优化,适应RBAC、ABAC等多种场景授权IdP 北森优化,适配自定义的属性租户的部分试用功能需要联系后台开通其他一些Bug的修复 标题新增 …

GIT

X.1 git上线后同步分支代码 上线后合并远端开发分支到远端master: 本地分支提交到远端分支,git上远端分账合并请求到远端master 上线后合并远端master到远端开发分支: 同步远端master到本地master,将本地master合并到本地开发分…

DM8级联异步备库搭建及故障模拟将异步切换为实时同步

目录 一、 搭建前准备 二、 主库配置 2.1 dmini配置 2.2 dmmal.ini配置 2.3 dmarch.ini配置 2.4 dmwatcher.ini配置 2.5 dmtimer.ini配置 三、 异步备库配置 3.1 dm.ini配置 3.2 dmmal.ini配置 3.3 dmarch.ini配置 3.4 dmwatcher.ini配置 3.5 dmtimer.ini配置 四、…

【计算机网络】HTTP/HTTPS协议基础知识汇总

目录 1.URL: 2.HTTP协议: 2.1抓包工具(这里用fiddler): 2.2请求和响应的格式: 2.3方法的介绍: 2.4请求报头(header): 2.5状态码: 2.6响应…

格式化DataFrame中的时间数据DataFrame.to_datetime()方法

小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 格式化DataFrame中的时间数据 DataFrame.to_datetime()方法 选择题 关于以下python代码说法错误的一项是? import pandas as pd data {"Date": [2022/12/01,2022/12/02]} df pd…

SQL Server如何获取GUID号

select newid() guid;--获取GUID select replace(newid(),-,) guid;--获取GUID 去掉- sqlserver newid()函数 NEWID (Transact-SQL) - SQL Server | Microsoft LearnNEWID (Transact-SQL)https://learn.microsoft.com/en-us/sql/t-sql/functions/newid-transact-sql?redirect…

在大厂工作是这样的

应上面的一个小伙伴要求,让一个朋友整理了他做华为的工作经历,写的有些零散,希望对有大公司情怀的人所有帮助。35岁那年,拿到华为的社招offer。看着邮箱里面的录取通知,心里有高兴也有失落,难受的是看着身边…

腾讯云COS+PicGo+Typora十分钟搭建自己的图床

👨‍💻个人主页: 才疏学浅的木子 🙇‍♂️ 本人也在学习阶段如若发现问题,请告知非常感谢 🙇‍♂️ 📒 本文来自专栏: 常见软件安装与运用 ❤️ 支持我:👍点赞…

[附源码]java毕业设计逸尘房屋销售管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

SSRF 漏洞笔记

什么是 SSRF 漏洞 SSRF(Server-Side Request Forgery,服务端请求伪造)是指攻击者向服务端发送包含恶意 URL 链接的请求,借由服务端去访问此 URL ,以获取受保护网络内的资源的一种安全漏洞。SSRF 常被用于探测攻击者无…

引擎入门 | Unity UI简介–第1部分(9)

本期我们继续为大家进行Unity UI简介(第一部分)的后续教程 本篇内容 21.增加设置按钮 22.添加场景构建 文章末尾可免费获取教程源代码 本篇Unity UI简介(第一部分)篇幅较长,分为十篇,本篇为第九篇。 …