范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

一文教你,如何构建推荐系统?

  推荐阅读:Redis+Nginx+设计模式+Spring全家桶+Dubbo阿里P8技术精选文档一级棒!高并发+微服务架构+Docker+k8s再也不怕被问倒了!阿里架构师强推:JVM+多线程+Kafka+Redis+Nginx等实战电子版书籍1.概述
  最近有被咨询到一些关于推荐系统的问题,今天笔者将为大家分享一些关于如何构建一个推荐系统。2.内容2.1 什么是推荐系统?
  推荐系统是一种信息过滤系统,它旨在预测用户对某项商品的评价。然后,此预测的评分用于向用户推荐商品。预测评分较高的商品将推荐给用户,这个推荐系统用于推荐范围广泛的项目。比如,它可以用于推荐电影、产品、视频、视频、音乐、新闻、书籍、衣服、游戏、酒店、餐饮、路线等等。几乎所有的大公司都使用它来增强业务,丰富用户的体验,例如腾讯、优酷、爱奇艺这类推荐视频,淘宝、京东推荐商品,微信、QQ推荐好友等。2.2 USER-ITEM矩阵
  在上图中的USER-ITEM矩阵中,每一行代表一个用户,每一列代表一个物品,每一个单元格代表一个用户对一个物品的评分。总共有N个用户和M和物品。这里Aij是用户Ui对物品Ij的评分,Aij级别范围这里定义为1到5。如果一个矩阵表示一个用户Ui是否观察了一个物品Ij,同样也可以使用二进制来表示,例如这里Aij要么是0,要么是1。
  USER-ITEM矩阵是非常稀疏的矩阵,这意味着此矩阵中的许多单元格都是空的。因为,单个用户无法对所有的物品进行评分。在现实情况中,一个用户给总物品数的评分不到1%。因此,这个矩阵中大约99%的单元都是空的。这些空单元格可以使用NaN表示,而不是数字。假如,N是100万,M是1万,那么N*M=106*104=1010就是一个非常大的数字。现在一个普通用户给5个物品打分,那么平均给出的评级总数将是5*100万=5*106评级。矩阵稀疏度计算公式如下:矩阵稀疏度 = 空单元数 / 总单元数
  将案例中的值带入公式计算,矩阵稀疏度 = (1010-5*106) / 1010 = 0.9995
  这意味着99.95%的单元格都是空的,这实际上是极端稀疏的。而推荐系统的任务是,假设一个用户Ui喜欢物品I1、I5、I7。然后我们必须向用户Ui推荐一个他/她最可能喜欢的Ij物品。2.3 推荐系统类型
  下面我们通过一些例子来理解推荐系统的类型。2.3.1 协同过滤
  假设有4个用户和4个物品如上图所示,4个用户都购买了物品1和物品2。用户1、用户2、用户3也购买了物品3,但是用户4还没有看到物品3.因此,物品3可以推荐给用户4,现在只有用户3购买了物品4,因此,我们不能向用户4推荐物品4,因为只有用户4购买了物品4,而其他用户没有购买物品4,这就是协作过滤的工作原理。注意: 在这里,用户1、用户2、用户3,这三个用户过去都统一购买了物品3,因此在未来用户4可能会喜欢物品3,这是用户1、用户2、和用户3过去对物品3的统一喜好
  2.3.2 内容过滤
  基于内容的过滤在方法上与经典的机器学习技术相似。它需要一种表示物品Ij和用户Ui的方法。在这里,我们需要收集关于物品Ij和用户Ui的信息,然后我们需要创建物品Ij和用户Ui的特性。最后,我们将这些特征结合起来,并将它们输入到机器学习模型中进行训练。这里Label是用户Ui对物品Ij给出的评分。
  一旦我们有了上面提到的关于物品和用户的信息,我们就可以创建一个物品向量,其中应该包含关于上面提到的物品信息。然后,我们可以类似的创建一个用户向量,该向量应该包含关于上述用户的信息,我们可以为每个用户Ui和物品Ij生成特性。最后结合这些特性,建立适合于机器学习模型的大数据集。注意: 在这里,刚刚解释了一种创建基于内容的过滤特性的近似方法。这些功能应经过精心设计,以便在不相互依赖的情况下直接影响评分(标签)。最后尽可能创建独立的功能,同时它们应该非常依赖于评分(标签),这意味着它们应该直接影响评分(标签)。
  2.3.3 相似过滤2.3.3.1 用户相似
  上图是一个非常简单的基于用户相似的推荐。实现步骤如下:
  第一步:构建用户与用户之间的相似矩阵
  如上图,每一行代表一个用户,其中包含一个用户对所有物品给出的评分。例如,对应于用户Ui的行是大小为m的向量。因此,上述矩阵的每一行都是一个列向量(默认情况下,每个向量都是列向量),大小为m。现在,我们可以构造一个用户之间的相似矩阵,它将是一个大小为n*n的平方对称矩阵,在这里,我们可以使用余弦相似度计算两个用户之间的相似度。
  在这里,两个用户将是相似的基础上,他们给出了相似的评分。如果任何两个用户是相似的,那么这意味着他们都对物品给出了非常相似的评分,因为这里的用户向量只不过是USER-ITEM矩阵的一行,而该行又包含了用户对物品给出的评分。因为余弦相似度可以从0到1,并且1表示最高相似度,所以所有对角线元素都将是1,因为用户与用户之间的相似度最高。这里Sim12是用户U1和用户U2的相似性得分。以此类推,Simij是用户Ui和用户Uj的相似性得分。
  第二步:找到相似用户
  第三步:选择相似用户喜欢的物品
  第四步:推荐物品2.3.3.2 物品相似
  第一步:创建物品之间的相似矩阵
  在这里,两个物品将在所有用户对两个物品给出相似评分的基础上相似。如果任何两个物品是相似的,那么这意味着所有用户对它们都给出了非常相似的评分,因为这里的物品向量只是USER-ITEM矩阵的列,而USER-ITEM矩阵的列又包含用户对物品的评分。因为余弦相似度可以从0到1,并且1表示最高相似度,所以所有对角线元素都将是1,因为具有相同项的相似度最高。这里Sim12是用户I1和用户I2的相似性得分。以此类推,Simij是用户Ii和用户Ij的相似性得分。
  第二步:找出相似的物品然后推荐2.3.4 矩阵分解
  关于矩阵分解是比较有意思的,这里我们可以来看看一个计算公式:
  这里以日常生活中的电影来作为例子。例如,每个用户看电影的时候都有偏好,这些偏好可以直观的理解成:喜剧、动作、爱情、动漫等。特性矩阵(用户)表示的就是用户对这些因素的喜欢程度。同样,每一部电影也可以用这些因素描述,因此物品矩阵表示的就是每一部电影这些因素的含量,也就是电影的类型。这样子两个矩阵相乘就会得到用户对这个电影的喜欢程度。3.总结
  推荐系统的类型,简要概述如下:协同过滤:简单来说,就是利用某兴趣相投,拥有功能经验的群体喜好来推荐用户感兴趣的信息,个人通过合作的机制给予信息相当程度的评分,并记录下来以达到过滤的目的,进而帮助别人筛选信息,回应不一定局限于特别感兴趣的,特别不感兴趣信息的记录也是相当重要。内容过滤:通过在抓取每个物品的一系列特征来构建物品档案,以及用户购买的商品特征来构建基于内容的用户档案。用户档案和商品档案都以使用信息提取技术或信息过滤技术,提取的关键词集合来表示。鉴于两个档案都以权重向量的形式来表,则相似度分别则可以使用如余弦近似度方程等启发式方程来计算得到。其他的技术如分类模型,构建一个统计方法或者数据挖掘方法,来判断文档内容和用户是否相关。相似过滤:找到和目标用户兴趣相似的用户集合,以及找到这个集合中的用户喜欢的,且目标用户没有听说过的物品推荐给目标用户(基于用户相似)。计算物品之间的相似度,以及根据物品的相似度和用户的历史行为给用户生成推荐列表(基于物品相似)。矩阵分解:简单来说,就是每一个用户和每一个物品都会有自己的一些特性,用矩阵分解的方法可以从评分矩阵中分解出用户(如特性矩阵、物品矩阵)。这样做的好处其一是得到了用户的偏好和每一件物品的特性,其二是分解了矩阵的维度。4.结束语
  这篇博客就和大家分享到这里,如果大家在研究学习的过程当中有什么问题,可以加群进行讨论或发送邮件给我,我会尽我所能为您解答,与君共勉!

扒一扒优缺点,看看3月1日发布的vivoIQOO手机是不是小米9的劲敌vivo的子品牌IQOO主要针对互联网用户,品牌第一款手机将于明天(3月1日)发布。这款手机是除小米9联想Z5ProGT外的第三款采用骁龙855处理器的手机,因其强大配置而受到不少不等魅族Note9后悔吗?看看半个魅友的红米Note7真实体验我曾说过自己是没多少品牌信仰的人,比如现在我就干着这样的事用魅族充电器给红米Note7充电,拿荣耀Note10拍这个充电照片。选手机,我会首选华为魅族小米三个公司的产品,具体选择对小米10和小米10pro有什么区别?小米10和小米10pro的最大区别在于摄像头。其中小米10有两个凑数摄像头一个是200万人像镜头,一个是200万微距镜头。而且小米10电池4750amh大于小米10pro小米10和黑鲨4s要来了,高达粉在哪?昨天,黑鲨游戏手机官方宣布,10月13日1500,黑鲨4S将直播发布,主题是进化出击。据数码博主闲聊数码站称,黑鲨4S独占高达限定联名,和OPPO款设计风格不一样,整个手机充斥着高鸿蒙手机,哪些值得入手?华为的鸿蒙系统自上线以来,就饱受好评。那如何选购一台性能强而且性价比高的鸿蒙手机呢?今天小编就给大家推荐几款吧第一款华为mate9价格1788起步别看这手机上市好多年,人家明年就能老人买手机怎么选?老人用的手机怎么选?有粉丝问自己刚工作没什么钱,但又想尽孝心,不知道该买什么手机给长辈。那今天小编就给大家推荐一款适合长辈用的手机红米note10。价格只要1099,蹲蹲活动还能更双十一各价位手机薅羊毛清单双十一还有不到一个月,你们想换手机了吗?每年双十一,不同价位的手机几乎都有优惠活动。今天我给大家推荐几款性价比不错的手机,快往下看吧第一款红米note9日常价949,双十一预测价8各价位拍照最强机!不接受反驳12000以下RedmiNote9pro后置一亿像素,目前起售价1399。能将这样像素级别下放到千元的后置四摄像,也只有小米了。说句小米yyds不过分吧!而且还是三星HM2传感器,2000到3000不建议买的手机第一款荣耀50SE2399的价格,为什么不加几百块买一台荣耀50呢?天玑900升级成骁龙778G,LCD屏升级成OLED曲面屏,还有10亿色和屏下指纹识别。后置三摄变成四摄,还多了10月下旬即将发布的手机10月下旬即将发布的几款手机,快来看看有没有你喜欢的!第一款realmeq3s搭载骁龙778G处理器,6。59英寸LCD屏,同时支持144hz高刷。后置三摄,采用的是圆形相机模组。关于电脑的谣言,你知道几个?1笔记本边充电边用会损耗寿命?笔记本可不是手机,笔记本就相当于台式机,他的电池就相当于充电宝,直接把他拆了也不会影响使用。要是使用的过程中没有插电,笔记本就会降频。直观来说,就是屏
入手全新4008全新5008爱车更保值要说今年上海车展上最爆款车型,无疑是东风标致上市的新法式SUV家族全新4008全新5008。全新车型一经上市就掀起了一阵新法式浪潮,吸引了大批消费者的深切关注。一方面,东风标致从中508L带你体验L2级别的自动驾驶如果用两个词来形容当下年轻人的喜好,你会用什么?在我看来是简约智能。8090后作为独生子女的一代人,从小习惯了养尊处优的生活,他们喜欢一切可以让他们懒下来的配置,例如无钥匙进入一键亚马逊仓库工人预备全国性大规模罢工据外媒报道,亚马逊(Amazon)仓库工人计划本周举行大规模罢工(masscallout),呼吁外界关注那些在冠状病毒爆发期间仍然要坚持上班但却缺乏必要保护的亚马逊员工。工人权益组紫藤花开集团努力做好砂石行业供应链金融服务第一人按照传统定义,供应链金融是银行将核心企业和上下游企业联系在一起提供灵活运用的金融产品和服务的一种融资模式,即将供应链的核心企业以及与其相关的上下游企业看作一个整体,以核心企业为依托鸿星尔克你为祖国捐了5000万,网友还给你两个亿直播间已经全线卖空。女主播嗓子已经哑得说不出话了,依旧还在重复理性消费,20万人蹲守在直播间陪伴。鸿星尔克,你为祖国捐了5000万,网友还给你两个亿。截止最新24号6点,真的在卖羽临时工在工作时出意外有没有工伤赔偿?怎么保障底层工人权益?尽量还是找份正经的职业更有保障,临时工毕竟不是长久之计。说实话,毕竟胳膊拧不过大腿,真发生的时候就没那么好解决了除非受伤者具有故意或重大过失,都有获得赔偿的权利!根据现行的相关法律被父母伤害最深的话什么?不赞同,人非圣贤孰能无过你是多余的,早知道当初就不要你了。这是小时候我每次不听话,父母对我说过的最多的一句话,也是对我伤害最深让我记忆最深刻的一句话。先说一下那时的情况当时的计划生Python入门100题之003查成绩(字典的运用)题目第一次输入N个名字第二次输入M(MN)个分数查询时,输入任意名字,显示分数,如果没有对应分数,就显示0。代码namesinputinput(输入姓名)小明小红小青namesna贵阳标致508L热销中,直降1。3万元汽车报价早知道贵州钟裕东风标致店,标致508L限时特惠大酬宾,11月03日11月05日最高优惠8。14,有购车意向的朋友不妨亲自去试驾一下,店铺地址新添大道南段243号促销时间20Python入门100题之008判断二进制题目输入几个二进制数,输出所有能被5整除的数。视频讲解(3种方法)Python入门100题之008判断二进制代码1itemsinput(输入二进制)。split(,)arrayfoPython入门100题之009文本去重题目输入N个单词,去除重复单词并排序,输出结果。视频详解Python入门100题之009文本去重代码1wordsinput(请输入多个单词)。split()uniqwordslis