推荐系统的一些思考

简介: 推荐系统一直以来都是电商网站必不可少的一项,在提升用户转化,增加GMV方面可谓功不可没,那么一个好的推荐算法必然会创造更大的价值,刚好最近听了一个关于推荐算法的讲座,写出来一些思考吧,算是分享一下。

<img src="http://img.blog.csdn.net/20171231111930492?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvR2FtZXJfZ3l0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast">
<br>

打开微信扫一扫,关注微信公众号【数据与算法联盟】


转载请注明出处: http://blog.csdn.net/gamer_gyt
博主微博: http://weibo.com/234654758
Github: https://github.com/thinkgamer

推荐系统一直以来都是电商网站必不可少的一项,在提升用户转化,增加GMV方面可谓功不可没,那么一个好的推荐算法必然会创造更大的价值,刚好最近听了一个关于推荐算法的讲座,写出来一些思考吧,算是分享一下。

学术界的推荐系统

其实在大学期间也看过一些推荐的算法,还帮别人实现过关于推荐系统的毕设,但终究都是停留在协同过滤的层面,顶多是加了一些热门推荐来防止冷启动。不得不说,协同过滤打开了我对推荐系统认知的大门,当然在真实环境中这是远远不够的。

传统的推荐系统无非就是评分和排序两种方案,评分即计算出用户对item的可能评分,根据评分的高低进行排序,排序则不关心具体的评分是多少,只是为了得到一个顺序(其实这一点和推荐系统即为相似)。传统的推荐算法典型的有协同过滤和基于内容的过滤。如果你不明白什么是协同过滤算法可以参考:https://blog.csdn.net/gamer_gyt/article/details/51346159 ,如果你不知道协同过滤与基于内容的过滤的区别可参考:https://www.zhihu.com/question/19971859

大学数学术界关于推荐算法的论文都是对协同过滤的改进,而最终得到一个相对于原先的算法有很大的提升的结果,但是这些都过于理想化了,真实的环境远比实验要复杂的多,网上最有名的推荐系统数据集莫过于那个电影评分数据了,里边只有用户对电影的评分,和电影的一些信息数据。建立在这些数据上的推荐算法其实有点理想化了,他并不能模拟出真实的电商环境,数据的缺乏也是导致协同过滤算法大行其道的原因。

工业界的推荐系统

工业界的推荐系统,需要的是明确的价值走向,比如说电商网站的推荐系统是为了增加交易总额,那么在进行推荐的时候是不是应该适当过滤一些极其廉价的商品,是否应该根据用户对不同价格段的需求进行不同价格段商品的推送;如果电商的推荐系统是为了增加用户停留时间,提交CTR,那么推荐系统就不应该考虑过多别的因素,只找到用户最感兴趣的商品或者评论等,当然如何找到用户最感兴趣的也是一个问题,但是有一点不可否认的是这些如果用传统的协同过滤来做是很难满足需求的。这时候就需要开发出新的推荐架构,来适应不同的需求。

目前工业界用的最多的算法莫过于GBDT,LR,DNN等,但所有的推荐算法都会面临一个海量数据的情况,这个时候的做法便是对数据集进行数据召回,得到用户比较感兴趣的一些数据,然后再根据我们的推荐模型进行素材偏好度排序,过滤掉用户已经购买过的类别数据,继而推送给用户。

那么如何进行数据召回呢?这就需要一些基础的模型进行数据准备,比如说用户肖像,用户的价格段偏好,用户购买力水平等。根绝已有的用户数据和特征进行数据召回,适度拉取一些新的数据,保证召回结果的多样性,得到召回池数据之后,便是对模型的训练,其实模型本身难度不大,难度大的是如何选取有效的特征来作为模型的输入数据。你组合得到的有效特征越多,对于模型的训练结果就越准确。

推荐系统的多样性

如何保证推荐结果的多样性呢,首先我们要先认识到推荐的可能性,比如说电商网页首页的推荐,商品详细页面的推荐,不同年龄下的推荐,推荐的结果和被评估的指标都是不一样的。这个时候不能单一对所有情况下使用同一种算法或者特征,而是要找到能够区分出不同位置,不同年龄的推荐结果的特征,进行模型训练。

相关文章
Ant Design Pro:设置哈希hash路由
Ant Design Pro:设置哈希hash路由
340 0
|
Windows
禁止ie自动跳转edge
禁止ie自动跳转edge
442 0
|
算法 搜索推荐 安全
来自一线技术人的经验分享|如何写出让人眼前一亮的述职报告
本文作者从亲身经验阐述了一线技术人为什么述职、怎么述职以及述职的重要性。每年述职都是一大关,作者把自己的一些经验教训通过文字分享给大家,希望能帮助到更多的人。
38018 14
来自一线技术人的经验分享|如何写出让人眼前一亮的述职报告
|
机器学习/深度学习 计算机视觉 知识图谱
【YOLOv8改进】MobileViT 更换主干网络: 轻量级、通用且适合移动设备的视觉变压器 (论文笔记+引入代码)
MobileViT是针对移动设备的轻量级视觉Transformer网络,结合CNN的局部特征、Transformer的全局注意力和ViT的表示学习。在ImageNet-1k上,它以600万参数实现78.4%的top-1准确率,超越MobileNetv3和DeiT。MobileViT不仅适用于图像分类,还在目标检测等任务中表现出色,且优化简单,代码已开源。YOLOv8引入了MobileViT块,整合卷积和Transformer结构,提升模型性能。更多详情可参考相关专栏和链接。
|
安全 物联网 量子技术
量子加密技术
量子加密技术
918 1
|
机器学习/深度学习 人工智能 TensorFlow
利用深度学习进行图像识别的基本原理与实践
【8月更文挑战第27天】在这篇文章中,我们将探索图像识别技术的核心原理,并借助深度学习框架实现一个基本的图像识别模型。通过简洁的代码示例和直观的解释,我们旨在向读者展示如何从零开始构建自己的图像识别系统,以及这一过程中可能遇到的挑战和解决方案。无论你是AI领域的初学者还是有一定基础的开发者,这篇文章都将为你提供有价值的见解和指导。
|
运维 开发工具 C#
总结两种使用OpenCv连接海康相机播放视频画面方法
总结两种使用OpenCv连接海康相机播放视频画面方法
2699 0
|
人工智能 算法 搜索推荐
人工智能伦理:技术发展的新挑战
随着人工智能技术的飞速发展,其在社会各领域的应用日益广泛。然而,AI技术的进步也带来了一系列伦理问题,包括隐私侵犯、算法偏见和责任归属等。本文深入探讨了AI伦理的核心议题,分析了当前面临的主要挑战,并提出了相应的解决策略。通过综合考量技术、法律和道德三个维度,旨在为构建一个更加公正、透明和可控的人工智能未来提供参考框架。
|
机器学习/深度学习 算法 搜索推荐
多任务学习模型之DBMTL介绍与实现
本文介绍的是阿里在2019年发表的多任务学习算法。该模型显示地建模目标间的贝叶斯网络因果关系,整合建模了特征和多个目标之间的复杂因果关系网络,省去了一般MTL模型中较强的独立假设。由于不对目标分布做任何特定假设,使得它能够比较自然地推广到任意形式的目标上。
|
Ubuntu Linux 数据安全/隐私保护
Linux Ubuntu crontab 添加错误 提示:no crontab for root - using an empty one 888
错误提示: no crontab for root - using an empty one 888
1201 1
Linux Ubuntu crontab 添加错误 提示:no crontab for root - using an empty one 888