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

推荐系统学习笔记(九)曝光过滤 Bloom Filter

曝光过滤

如果用户看过某个物品,则系统不再把该物品曝光给该用户,这个思想称之为曝光过滤

基本流程如下:

  1. 对于每个用户,记录已经曝光给他的物品。(小红书只召回1个月以内的笔记,因此只需要记录每个用户最近1个月的曝光历史)
  2. 对于每个召回的物品,判断它是否已经给该用户曝光过,排除掉曾经曝光过的物品。
  3. ⼀位⽤户看过 𝑛 个物品,本次召回 𝑟 个物品,如果暴⼒对⽐,需要 𝑂 (𝑛𝑟) 的时间

 Bloom Filter

判断一个物品🆔是否在已曝光的物品集合中

  1. 如果判断为no,那么该物品一定不在集合中;
  2. 如果判断为yes,那么该物品很可能在集合中(可能误伤,错误判断未曝光物品为已曝光,将其过滤掉)。

 参考文献:Burton H. Bloom. Space/time trade-offs in hash coding with allowable errors. Communications of the ACM , 1970.

具体流程如下:

  1. Bloom Filter 把物品集合表征为一个 m 维的二进制向量;
  2. 每个用户有一个曝光物品的集合,表征为一个向量,需要 m  bit的存储空间
  3.  Bloom filter 有 k 个哈希函数,每个哈希函数把物品ID映射成介于 0 和 m-1 之间的整数;
  4. 已曝光物品ID通过哈希函数映射进了二进制向量中对应的位置,如果该位置为0则调整为1,若为1无需调整;
  5. 对于召回的物品ID,通过哈希函数映射,若对应位置全为1,则说明该物品已曝光,否则未曝光。

若曝光物品集合⼤⼩为 𝑛,⼆进制向量维度为 𝑚,使⽤ 𝑘 个哈希函数

那么 Bloom filter 误伤的概率为:

\delta \approx \left( 1 - \exp\left(-\frac{kn}{m}\right) \right)^k

设定可容忍的误伤概率为 𝛿,那么最优参数为:

k = 1.44 \cdot \ln\left(\frac{1}{\delta}\right), m = 2n \cdot \ln\left(\frac{1}{\delta}\right).

侵删

💡注意:Bloom filter 只⽀持添加物品,不⽀持删除物品。从集合中移除物品,无法消除它对向量的影响。每天都需要从物品集合中移除年龄⼤于 1 个⽉的物品。

http://www.lryc.cn/news/609106.html

相关文章:

  • 【领域热点】【Vue】Vue 与 WebAssembly:前端性能优化的黄金搭档
  • 自动驾驶中的传感器技术18——Camera(9)
  • Connection refused: no further information: localhost/127.0.0.1:2375
  • docker 可用镜像列表(长期免费)
  • Azure DevOps — Kubernetes 上的自托管代理 — 第 4 部分
  • Docker环境离线安卓安装指南
  • centos9 安装docker engine
  • C++ : 反向迭代器的模拟实现
  • Java基本技术讲解
  • 深入解析C++函数重载:从原理到实践
  • 【1】WPF界面开发入门—— 图书馆程序:登录界面设计
  • K8S部署ELK(五):集成Kibana实现日志可视化
  • B+树索引结构原理解析与最佳实践
  • 创建型设计模式:对象诞生的艺术与智慧
  • 设计模式学习[17]---组合模式
  • 控制建模matlab练习06:比例积分控制-②PI控制器
  • 【stm32】按键控制LED以及光敏传感器控制蜂鸣器
  • STM32-驱动OLED显示屏使用SPI(软件模拟时序)实现
  • Spring Boot 的事务注解 @Transactional 失效的几种情况
  • 【硬件-笔试面试题】硬件/电子工程师,笔试面试题-55,(知识点:STM32,外设及其特点)
  • 前端开发(HTML,CSS,VUE,JS)从入门到精通!第四天(DOM编程和AJAX异步交互)
  • 08【C++ 初阶】类和对象(下篇) --- 类知识的额外补充
  • MySQL 事务原理 + ACID笔记
  • 计算机网络(TCP篇)
  • Python3 中使用zipfile进行文件(夹)的压缩、解压缩
  • Qt-vs加载exe图标
  • 【机器人】VLN-R1 微调 | 增强训练 | 连续导航
  • 江协科技STM32 14-1 WDG看门狗
  • 一键安装RabbitMQ脚本
  • 数据结构(概念及链表)