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

Ali-tianchi news:all

一、Data

offline:线下,从分离数据集构造验证集,检验效果
valid:线上,特征工程√,召回和排序模型的参数已经调优完毕后对全部数据使用

1.1 offline 离线划分:留一法

从训练集随机筛选50,000 个用户作为离线验证集用户,将他们交互流中的最后1条点击剥离作为验证目标,其余交互回填入大盘日志用来做特征和召回计算

df_click:留一法剩余训练集+测试集全部行为按'user_id','click_timestamp'排序
df_query:留一法+测试集['user_id', 'click_article_id']→\rightarrowtest集click_article_id=-1

1.2 valid

df_click:训练集+测试集全部行为按'user_id','click_timestamp'排序
df_query:测试集['user_id', 'click_article_id']→\rightarrowtest集click_article_id=-1

二、itemcf 召回

u-点击i-相似i

2.1 cal_sim相似度矩阵计算

遍历所有用户的历史点击序列,计算出文章与文章之间的相似度矩阵WWW
Sim(i,j)=∑u∈Ui∩Ujα⋅0.9∣loc2−loc1∣−1log⁡(1+∣Iu∣)∣Ui∣⋅∣Uj∣\text{Sim}(i, j) = \frac{\sum_{u \in U_{i} \cap U_{j}} \frac{\alpha \cdot 0.9^{|loc2 - loc1| - 1}}{\log(1 + |I_u|)}}{\sqrt{|U_i| \cdot |U_j|}}Sim(i,j)=UiUjuUiUjlog(1+Iu)α0.9loc2loc1∣1∣Iu∣|I_u|Iu:用户u的总点击新闻数
Ui,∣Ui∣U_i,|U_i|UiUi:点击了新闻事件iii的用户集合,总数量

  • user_item_dict字典:按照用户id分组聚合{user_id:click_article_id序列}
  • 基础相似度计算:对于同一用户序列中的文章i,ji,jij对应距离下标loc1,loc2loc1,loc2loc1loc2
    • 新闻具有单向兴趣流转特征loc2>loc1loc2 > loc1loc2>loc1(先点iii后点jjj),方向权重α\alphaα= 1,反之 0.7。
    • 惩罚1位置距离衰减同一序列2篇文章离得越远,相关性越低:0.9(∣loc2−loc1∣−1)0.9^{(|loc2 - loc1| - 1)}0.9(loc2loc1∣1)
    • 惩罚2用户活跃度惩罚点击过多新闻的用户水军贡献低,分母除以log⁡(1+∣Iu∣)\log(1 +|I_u|)log(1+Iu)来打压。
  • 余弦相似度归一化:使用传统的协同过滤归一化公式进行平滑,消除热门偏置:Sim基础∣Ui∣⋅∣Uj∣\frac{Sim_{基础}}{\sqrt{|U_i| \cdot |U_j|}}UiUjSim基础

返回sim_dict物品间相似度字典, user_item_dict用户-物品字典{user_id:click_article_id序列}
sim_dict{当前文章_A: {关联文章_B: 0.334, 关联文章_C: 0.125}}

2.2 多进程并行化近邻召回

  1. 触发异步多进程:multitasking
  2. 召回 recall:df_query
    • 双击近邻策略(最近兴趣截断):逆序截断,只取出用户最近点击的2 个文章作为特征传导
    • 位置衰减&相似度累加:对最近 2 个文章,分别从矩阵中召回与之最相似的200个文章。先应用0.7loc0.7^{loc}0.7loc进行位置衰减,再累加得分。最终取Top 100个文章。
  3. 打标签 (Labeling):
    • valid:判断召回的文章是否等于用户真正的下一跳,是则标记 label=1,其余为 0。
    • online:真实标签统一初始化为占位符 NaN。

得到df_data['user_id', 'article_id', 'sim_score', 'label']

2.3 多进程合并+离线评估

for 留一法的测试集 进行离线闭环评估:ItemCF 单路召回在验证集上的HitRate@5\text{HitRate}@5HitRate@5MRR@5\text{MRR}@5MRR@5HitRate@50\text{HitRate}@50HitRate@50等多维核心指标

三、binetwork 召回

四、w2v 召回

五、召回合并

六、排序特征

七、lgb模型训练

八、指标计算

http://www.jsqmd.com/news/900335/

相关文章:

  • 独立看门狗 vs 窗口看门狗:STM32里‘喂狗’姿势不对,可能直接复位!
  • 2026 年 5 月|GEO 优化服务商测评:济南百擎科技深度解析
  • ChatGPT直播话术设计避坑指南:97%新手踩中的5个认知陷阱及即时修正话术模板
  • 如何用5分钟为你的浏览器装上DeepL翻译插件,实现专业级网页翻译?
  • GEO(AI搜索优化)是如何影响企业经营的?
  • Windows截图终极指南:从系统自带快捷键到Snipaste高级技巧,一篇文章全搞定
  • 贝叶斯统计中的“隐藏基石”:Beta分布与Gamma函数关系详解及PyMC3应用实例
  • STM32F4 HAL库开发 -- DMA实战:从零构建高效串口数据搬运工
  • Mac 上怎么找到这个目录 /Users/你的用户名/Library/Application Support/JetBrains
  • HarmonyOS 3D相册轮播组件深度解析:从原理到实践
  • 工业物联网实时分析范式跃迁_存算一体架构重塑数据底座从“数据沉睡“到“价值觉醒“:工业物联网实时分析的范式跃迁——存算一体架构如何重塑工业数据底座
  • 美业门店数字化运营实战指南:用 SaaS 打造精细化经营体系
  • 如何轻松地将Android上的信息传输到Mac ?
  • PCA搞不定组间差异?试试有监督的PLS-DA:原理、适用场景与避坑指南
  • 国产AI大模型综合能力全球排行 - 20260527期
  • 别再只看平均响应时间了!用Python和Excel实战解读P90/P95/P99,让你的性能报告更专业
  • 数据结构(5) 循环列表,哈希表
  • 律师正在悄悄使用的ChatGPT法律起草模板库(含保密协议/股权转让条款/管辖权异议申请书)
  • 重庆思庄技术分享——Oracle v$option 大量组件显示 FALSE
  • 三步打造你的私人象棋AI教练:Vin象棋深度使用指南
  • 手写奇偶分频(上)
  • 5分钟掌握开源小说写作神器:novelWriter完全指南
  • 品牌推广怎么少走弯路:这 10 个误区别踩
  • 在 HarmonyOS 模拟器上用递归种出科赫分形
  • 单片机IO口扩展方案:ULN2003A驱动芯片的应用与设计
  • git发版上线的时候,打tag标签方便jenkins部署
  • Windsurf 完整实战教程
  • 【迭代升级,焕新出发】海纳数聚公文写作产品升级纪实
  • 地图API对比:高德、百度、腾讯、天地图、迈云LTS
  • 钉钉消息防撤回补丁PC版:完整指南与高效使用技巧