机器学习推荐系统效果评测

简介: 机器学习推荐系统效果评测

1 指标

对于效果评测的话就必须要有指标,没有指标也就不知道这套推荐系统是好是坏,数据有无价值,指标,顾名思义,就是指定的标准。词典里的解释是“衡量目标的单位或方法”。指标就是为了描述一些对象的状态而制定出来的标准,在日常生产生活中有着非常广泛的应用。


比如体检时的化验项目,如眼睛近视度数、身高、体重、心跳、血压、血糖浓度、血小板浓度……以及尿酸浓度、各种转氨酶浓度等专业的指标。小小一张化验单据,多则百余项,少的只有一二十项,已经把人的身体状况描述得即简洁又具体,这就是指标的力量。


推荐系统的转化率的话就是你的推送的总物品数除以客户点击数,或者是点击之后的购买数,这个看运营商的规则进行制定,


在经过一段时间的统计后,可以发现转化率很可能是一个定值或者是围绕某值的正态分布。那么再进行广告投放时,就能够根据预期的推送数来做对应的点击数的预判,进而估算出收入大小,那么广告定价或者投放策略调整也都有了参考。


5f70046727da47abbdab4c5bc9dd638b.png


2 预测方案

236d51c100724345a540eae49b9bc07a.jpg


2.1 模型离线实验

首先需要知道的是,机器学习想要能够解决业务中的问题,简单可以分为两个阶段:离线和线上(离线指的是模型未部署到生产环境之前,线上是指模型部署到生产环境之后)。在离线阶段,首先需要先训练一个模型,然后对训练好的模型进行离线评估来了解下模型的性能情况。


– 通过体制系统获得用户行为数据,并按照一定格式生成一个标准的数据集

– 将数据集按照一定的规则分成训练集和测试集

– 在训练集上训练用户兴趣模型,在测试集上进行预测

– 通过事先定义的离线指标评测算法在测试集上的预测结果

8f62c92d74e54993a5ba6752d68188ae.jpg

2921af59e84541ddbba51e6e1b5b344b.jpg



离线评估无法消除模型过拟合的影响;离线评估无法还原线上真实环境(离线评估往往不会考虑线上环境的延迟,数据丢失等);离线评估可能无法计算一些商业指标(留存,停留,收益等),但是离线模式是数据挖掘最好的方式.


2.1.1 模型过拟合

引用下知乎回答:


9c282ce738d54ed29947f1e1cb5d097b.png

所以过拟合有两种原因:训练集和测试集特征分布不一致或者模型太过复杂(记住了每道题)而样本量不足


2.2 A/B测试

进行ab测试需要对用户进行分桶,将用户分为base组(老模型)和treat组(新模型)。分桶过程中,要注意样本的独立性和采样方式的无偏性,确保每个用户在一个桶中。


AB测试在很多互联网产品中都很常用,甚至有很多老牌的软件企业也从这种方式中汲取经验。


AB测试是一种评价体系的核心思想。大致的工作流程如下,当不知道一种产品的A方案好还是B方案好时,或者两种设计完全不同的产品A和B的市场反应如何时,会考虑找两组用户来进行测试。

30ec5a14a24741729b3a132d74dbc7a5.jpg

1dc550e0752c4379bb3fd7e30617acb6.jpg


2.3 用户调研


f8fa554f8d494c07913a32830e5da796.jpgc6c185b2756b4eb997d76031dec561ca.jpg


评分预测

– 很多网站都有让用户给物品打分的功能,如果知道用户对物品的历史评分,就可以从中学习一个兴趣模型,从而预测用户对新物品的评分

– 评分预测的准确度一般用均方根误差(RMSE)或平均绝对误差(MAE)计算

f295a1f6528848269b927bcf3d9daeb5.jpg


2.3.1 标准差

e57ef7963ac446fdb9a2502c2a08011c.png

我们以一年级一班所有40个学生为例,那么3门考试的情况下全班就有120个分数参与统计,也就是n=120。把每个学生每门课的成绩减去全班的3个学科总的平均分80分,这样得到120个差值,再把这些差值分别平方(主要是为了去掉负数,因为在分数差距里面,不管是比这个平均值多,还是比这个平均值少,都被视为偏差),将这些平方的结果再加和,之后除以参与统计的学科数量120,最后开平方,这个数字只可能是一个大于等于零的数字。用汉字描述起来很啰嗦,但是一旦变成一个标准差的指标以后,由于是约定俗成的,所以只需要“标准差”这3个字就能表示了。

这个数字表示的是什么含义?从这个数字得到的过程其实不难看出来。


举个例子:

如果所有的人的所有课程成绩都是和平均分一样,那么算出来的标准差就是0,因为每一个

596f02eee97d442a9ba358fcc17fb19c.png

肯定都是0;反之,如果所有的人的课程成绩与平均分的差距都很大,好的很好,差的很差,那么结果就是这个值会很大。如果一个班级成绩标准差比另一个班级成绩的标准差小,说明学生之间的考试成绩水平差不多,标准差大则说明学生之间的考试成绩水平相差比较大。


f6d3d66d827247cfbaacdd69079552e4.jpg


3 准确率、精确率和召回率


5a26d2bb75714b288f669c97e264111a.png

4baac2e7a1b8484bad3d97d56e14070e.png

目录
相关文章
|
15天前
|
机器学习/深度学习 存储 搜索推荐
利用机器学习算法改善电商推荐系统的效率
电商行业日益竞争激烈,提升用户体验成为关键。本文将探讨如何利用机器学习算法优化电商推荐系统,通过分析用户行为数据和商品信息,实现个性化推荐,从而提高推荐效率和准确性。
112 14
|
15天前
|
机器学习/深度学习 搜索推荐 算法
构建推荐系统:Python 与机器学习
推荐系统是一种利用机器学习算法和用户的历史行为数据来预测用户可能感兴趣的内容的技术。在当今的数字化时代,推荐系统已经成为许多互联网应用的核心组件,如电子商务、社交媒体和在线娱乐等。在 Python 中,我们可以使用各种机器学习库和工具来构建和实现推荐系统。
|
15天前
|
机器学习/深度学习 数据采集 搜索推荐
探索机器学习在推荐系统中的应用
【5月更文挑战第15天】本文探讨了机器学习在推荐系统中的应用,强调其在数据预处理、个性化建模、内容过滤及解决冷启动问题中的作用。协同过滤、矩阵分解、深度学习和强化学习是常用算法。尽管面临数据处理、准确性与多样性平衡、兴趣变化等挑战,但未来机器学习有望通过结合先进算法提升推荐系统性能,同时需关注隐私和伦理问题。
|
15天前
|
机器学习/深度学习 搜索推荐 算法
【Python 机器学习专栏】基于机器学习的推荐系统实现
【4月更文挑战第30天】本文探讨了机器学习在推荐系统中的应用,阐述了推荐系统的基本原理和常用算法,如协同过滤和基于内容的推荐。详细介绍了基于机器学习的推荐系统实现步骤,包括数据预处理、特征工程、模型选择与训练、评估与优化。Python及其相关库如Scikit-learn、TensorFlow在实现推荐系统中起到关键作用。同时,文章讨论了推荐系统面临的挑战(数据稀疏性、冷启动、实时性)及应对策略,并强调通过持续优化可构建更精准的推荐系统,为用户带来个性化体验。
|
15天前
|
机器学习/深度学习 搜索推荐 算法
python机器学习:推荐系统实现(以矩阵分解来协同过滤)
python机器学习:推荐系统实现(以矩阵分解来协同过滤)
|
15天前
|
机器学习/深度学习 搜索推荐 算法
如何利用机器学习提高推荐系统的准确性
【2月更文挑战第3天】推荐系统在现代电商和社交媒体平台上发挥着重要作用。然而,传统的推荐算法面临着许多挑战,例如数据稀疏性、冷启动问题和长尾效应等。本文将介绍如何利用机器学习技术来提高推荐系统的准确性,并探讨一些最新的研究结果和实践经验。
|
6月前
|
搜索推荐 算法 前端开发
旅游管理与推荐系统Python+Django网页平台+协同过滤推荐算法
旅游管理与推荐系统Python+Django网页平台+协同过滤推荐算法
169 0
|
15天前
|
搜索推荐 算法 前端开发
美食物管理与推荐系统Python+Django网站开发+协同过滤推荐算法应用【计算机课设项目推荐】
美食物管理与推荐系统Python+Django网站开发+协同过滤推荐算法应用【计算机课设项目推荐】
124 4
美食物管理与推荐系统Python+Django网站开发+协同过滤推荐算法应用【计算机课设项目推荐】
|
15天前
|
算法 搜索推荐 数据挖掘
MATLAB模糊C均值聚类FCM改进的推荐系统协同过滤算法分析MovieLens电影数据集
MATLAB模糊C均值聚类FCM改进的推荐系统协同过滤算法分析MovieLens电影数据集
|
15天前
|
存储 搜索推荐 算法
python推荐系统实现(矩阵分解来协同过滤)
python推荐系统实现(矩阵分解来协同过滤)