推荐系统的挑战

2023-11-05

推荐系统的挑战

推荐系统简介

随着互联网2.0的发展,用户不再是数据的消费者,满足于关键词的搜索和在线浏览,而成为了数据的生产者。数据逐渐由专业机构的生产转向由用户的生产,数据量也日益剧增,信息过载油然而生,具体的表现是一是信息过滤即如何从海量的信息中找到自己需要的信息,二是个性化即如何确保找到的信息与用户的偏好是匹配的。
推荐系统能够在用户没有明确给出信息需求的情况下主动的给用户传递个性化感兴趣的信息。作为信息检索(IR)领域的一个重要分支近些年来发展极快,从传统的协同过滤算法到后来的因子分解机及其变种,再到后来基于深度学习的推荐算法等等,该领域的进展如火如荼,本文主要介绍一下推荐系统领域的一些挑战

数据端的挑战

1、数据稀疏与冷启动
数据稀疏是指用户往往在很小比例上的物品有反馈,导致user-item的矩阵非常稀疏,稀疏度通常在99%以上,这使得推荐系统很难有效地学习用户偏好,也就无法有效给用户推荐物品。
冷启动是数据稀疏的一个极端,指(新)用户对(新)物品的互动很少,系统无法学习到用户的真实偏好,无法有效推荐物品。
2、数据的可靠性
推荐系统是从用户反馈(显式或隐式)数据中学习用户偏好进行预测的,这种方式有个大前提是假设用户反馈的数据均为真实有效地。但是真实的情况却并非如此,有部分用户出于某种目的恶意的攻击推荐系统做出一些假的动作,误导推荐系统。这部分人也就是常见的“水军”
3、数据的多样性
推荐系统目前主要从用户的评分数据、点赞和评论等信息中学习偏好,诸如观看(购买)次数和顺序、地理位置信息等隐式的反馈并没有充分利用起来。
4、数据中的语义问题
用户反馈数据中有些内容是不明确的,如一词多义,用户评论中的一些“反语”。此外不同用户的相同评分代表的不同的喜欢程度,如对有些用户4星就是很喜欢了,但是对于其他的一些用户4星可能只是一般。

模型端的挑战

1、模型的可扩展性
有些模型如协同过滤算法,该算法原理比较简单也比较有效,但是由于其计算的复杂度导致其不能应用在大规模数据集上。
2、模型中的学习方法
学习速率和步长的选择会影响到模型训练和收敛速度,过大/过小的学习速率和步长容易陷入局部最优解。
3、采样策略
常用的模型训练需要的是正态分布的数据,但是常见的推荐系统数据集的数据分布式非正态的,正样本(评分较高)居多,主要是由于用户更倾向于反馈自己喜欢的东西。设计负采样策略也是提高推荐准确性的重要手段
4、模型的稳健性
通常都是假设用户的数据是可信的,即没有用户作弊,但是现实情况会有一些用户恶意攻击系统,如何设计出较强稳健性的模型也是要考虑的问题。

评估端的挑战

1、准确性
准确性是评估推荐性能的重要指标,即推荐结果是不是用户真正感兴趣的物品,有些模型在离线评估时表现良好,但是线上测试表现较差,如果缩小线上评估和线下评估(学术和工业界)的差异也是一个重要的研究方向
2、可重现性
现有的推荐算法众多纷纭,但有些算法提出之初没有开源且文献中表达不够细致,真实可复现的难度较大。
3、多样性和新颖性
仅给用户推荐其交互过的物品无法最大化用户的满意度,适当的多样性和新颖性可以满足用户的猎奇心理,提高用户对推荐系统的满意度。
4、可解释性
以上都是在评估推荐系统的准确性,但是推荐模型就像一个黑盒,用户是难以理解的,如何给用户一个合理的推荐理由来介绍为何推荐该商品,可以提高用户的满意度和对系统平台的信任度。

参考

郭贵冰 - 推荐系统进展方法与技术

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

推荐系统的挑战 的相关文章

随机推荐

  • 嵌入式(网络编程)(网络基础)

    网络采用分层的思想 1 每一层实现不同的功能 2 每一层向上层提供服务 同时使用下层提供的服务 各层典型的协议 1 网络接口与物理层 MAC地址 48位全球唯一 网络设备的身份标识 ARP RARP ARP IP地址 gt MAC地址 RA
  • Windows10 安装wsl2、Ubuntu相关操作

    Windows10 安装wsl2 Ubuntu相关操作 安装wsl2 查看本机windows版本 键盘上按下win r 输入winver 查看系统版本 必须运行 windows 10 版本 2004 及更高版本 内部版本 19041 及更高
  • css3 vw rem 布局 最完整的 css重置 浏览器样式修复

    http caibaojian com vw vh html css重置 Reset css css浏览器样式修复 Normalize css 最新方案 Neat css neat css融合了Reset css和Normalize css
  • Python练习题一(2021.04.08)

    Python练习题一 首先不得不说 人生苦短 我用Python 作为Python的初学者 为了坚持刷题 故以每天写博客的形式砥砺自己 每天 忙的话就两天搞一次 都会总结 2 3道题目 话不多说 呈上第一天题目 题目一 在同一行依次输入三个值
  • 【H5】 meta标签适配器(兼容所有屏幕)

    H5 meta标签实现屏幕大小适配器 效果图如下 meta标签内属性解释如下 name viewport 视图窗口 content 里面写以下属性 width device width 设备宽度 initial scale 1 0 100p
  • Ubuntu下安装RocksDB

    原文地址 https program park github io 2021 06 08 rocksdb 2 安装依赖 sudo apt get install gcc g libsnappy dev zlib1g dev libbz2 d
  • HBase条件查询(多条件查询)

    Author Pirate Leo myBlog http blog csdn net pirateleo myEmail codeevoship gmail com 转载请注明出处 谢谢 文中可能涉及到的API Hadoop HDFS h
  • css中背景颜色的代码,css背景代码是什么,css怎么控制背景颜色

    css背景代码是什么 css怎么控制背景颜色 内容导读 css背景代码主要就是设置background color 然后在后面选择我们喜欢的颜色就可以了 通常css背景代码用来控制div和特殊的文本 本文举了实例 也给出了代码 大家拿去用即
  • 【springboot系】springboot集成日志框架logback

    平常我们工作中常见的日志框架 有log4j logback log4j2 logback是由log4j的创始人设计的另外一个开源日志框架 logback相比之于log4j性能提升了不少 log4j2晚于logback 也是后起之秀 官方介绍
  • 【精·超详细】Java实现图片和Base64之间的相互转化(一看就会)

    目录 一 简介 二 maven依赖 三 工具类 四 测试 一 简介 工作中调用第三方接口的时候 比如 人脸识别 身份证识别 文字识别等等 有时是图片 有时是Base64的字符串 一般前端上传的都是图片 我们有时就需要进行相应的转换了 图片转
  • VsCode下的Remote-SSH插件的使用

    0 前言 众所周知 Vs Code是一个非常NB的编辑器 它可以通过安装不同的插件 满足几乎所有的开发需求 最近了解到微软之前推出过一个Remote SSH的插件 通过该插件可以在Vs Code上通过SSH连接Linux服务器进行终端操作或
  • Non-Rule Package常用表名

    1 GL相关 Journal Template和GL BU手动添加 GL ACCOUNT TBL GP GL GROUP GP GL GROUP DTL GP GL MAP GP GL MAP DTL 2 Pay Entity GP PYE
  • ubuntu 安装mysql,postgresql, mongodb

    安装mysql mysql教程 Ubuntu系统下MySQL开启远程连接 centos安装mysql 安装过程中需要要设置root密码 sudo apt get install python dev libpython dev libpq
  • FISCO BCOS区块链搭建笔记(No.1-节点搭建)

    说明 此文章针对的是centos版本的 其他版本可以参考官网 FISCO BCOS官网链接 点此跳转 1 搭建单群组FISCO BCOS联盟链 第一步 安装依赖 安装centos依赖 sudo yum install y openssl o
  • iOS 第三方登陆 —— 微信

    一 准备工作 1 到微信开放平台注册成开发者 获取appid 2 导入WeChatConnection framework 3 配置URL Schemes 输入appid 例如wx29ce0f21ea982cb8 二 配置AppDelega
  • 机器学习之K-means聚类算法

    目录 K means聚类算法 算法流程 优点 缺点 随机点聚类 人脸聚类 旋转物体聚类 K means聚类算法 K means聚类算法是一种无监督的学习方法 通过对样本数据进行分组来发现数据内在的结构 K means的基本思想是将n个实例分
  • 栈、队列

    一 栈 栈 author Mona public class MyStack int elements public MyStack elements new int 10 压入元素 public void push int element
  • 字节跳动Data部门员工收入证明,92年女月入14 万

    评论
  • 讲清楚 React 的重新渲染

    Web 前端开发者对渲染和重新渲染应该不陌生 在 React 中 它们究竟是什么意思 渲染 React 让组件根据当前的 props 和 state 描述它要展示的内容 重新渲染 React 让组件重新描述它要展示的内容 要将组件显示到屏幕
  • 推荐系统的挑战

    推荐系统的挑战 推荐系统简介 随着互联网2 0的发展 用户不再是数据的消费者 满足于关键词的搜索和在线浏览 而成为了数据的生产者 数据逐渐由专业机构的生产转向由用户的生产 数据量也日益剧增 信息过载油然而生 具体的表现是一是信息过滤即如何从