06推荐算法及开发环境配置_第1页
06推荐算法及开发环境配置_第2页
06推荐算法及开发环境配置_第3页
06推荐算法及开发环境配置_第4页
06推荐算法及开发环境配置_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

上海育创网络科技有限公司推荐算法讲师:迪伦King(北风网)主要内容推荐模型构建流程推荐算法概述基于协同过滤的推荐算法协同过滤实现推荐模型构建流程Whatdatatouse?显性数据(Explicitdata)RatingComments隐形数据 Orderhistory/returnhistory Cartevents Pageviews Click-thru Searchlog推荐模型构建流程Whatfeaturetouse?一个给定的商品,可能被拥有类似品味或需求的用户购买使用用户行为数据描述商品数据表示/feature将所有用户行为合并在一起,形成一个user-item矩阵推荐模型构建流程推荐模型构建流程主要内容推荐模型构建流程推荐算法概述基于协同过滤的推荐算法协同过滤实现推荐算法概述基于内容过滤从信息检索,和文本检索发展而来基于商品描述及用户喜好描述,为用户推荐商品协同过滤基于用户行为为用户推荐感兴趣的商品行为可以是过往的交易行为和商品评分,这种方式不需要显性的属性信息混合推荐基于内容过滤存在弊端(1)需了解商品内容需要人工或自动标注信息商品内容不能反映所有特点冷启动问题需要花时间学习哪些内容或feature对用户而言是重要的如果用户兴趣点改变了呢基于内容过滤存在弊端(2)Lackofserendipity基于内容的推荐和协同过滤对比主要内容推荐模型构建流程推荐算法概述基于协同过滤的推荐算法协同过滤实现基于协同过滤的推荐算法协同过滤算法基于用户行为的推荐行为可以是过往的交易行为和商品评分,这种方式不需要显性的属性信息协同过滤分类最近邻(neighborhood)方法借助商品的关系或者用户的关系基于模型的方法用隐含变量刻画商品协同过滤算法之最邻近方法最邻近方法基于假设:“跟你喜好相似的人喜欢的东西你也很有可能喜欢”或“跟你喜欢的物品类似的物品你也很有可能喜欢”分类User-based方法基于user的协同过滤,通过不同用户对item的评分来评测用户之间的相似性,基于用户之间的相似性做出推荐Item-based方法基于item的协同过滤,通过用户对不同item的评分来评测item之间的相似性,基于item之间的相似性做出推荐User-based查找用户相似度1.如何预测用户1对于商品4的喜好程度?2.找到和用户1相似的用户且购买过商品4(基于购买记录)即为用户n3.根据用户n对商品4的评价,以相似度为权重回填结果4.针对所有用户组合,重复1~3,直到所有空格都被填满Item-based找到相似的Item1.如何预测用户1对于商品4的喜好程度?2.从用户1历史记录中,计算商品n和商品4的相似度(以其他用户的历史记录)3.将用户1对于商品n的评价,以商品相似度为权重回填4.针对所有商品组合,重复1~3直到所有空格都被填满User&ItemOrderDataOrderData(Cont.)OrderData(Cont.)SimilarityCalculationSimilarityCalculationSimilarityCalculationSimilarityCalculationExampleK-NearestNeighborK-NearestNeighborK-NearestNeighborNeighbor’sRatingsRemoveRatedItemsCalculatingFinalScoreItemSimilarityCalculationItemSimilarityCalculationExample注:矩阵中的值(跟前一个矩阵一致)仅是为了说明计算过程,不一定正确ItemSimilarityCalculationSimilarItem基于用户与物品的协同过滤比较基于模型的方法思想通过机器学习算法,在数据中找出模式,并将用户与物品间的互动方式模式化基于模型的协同过滤方式是构建协同过滤更高级的算法分类基于图的模型基于矩阵分解的方法基于图的模型基于邻域的模型看做基于图的模型的简单形式示例原理将用户的行为数据表示为二分图基于二分图为用户进行推荐根据两个顶点之间的路径数、路径长度和经过的顶点数来评价两个顶点的相关性基于矩阵分解的模型原理根据用户与物品的潜在表现,我们就可以预测用户对未评分的物品的喜爱程度基于矩阵分解的方法ALS交替最小二乘ALS-WR(加权正则化交替最小二乘法):alternating-least-squareswithweighted-λ–regularization将用户(user)对商品(item)的评分矩阵分解为两个矩阵:一个是用户对商品隐含特征的偏好矩阵,另一个是商品所包含的隐含特征的矩阵。在这个矩阵分解的过程中,评分缺失项得到了填充,也就是说我们可以基于这个填充的评分来给用户最商品推荐了。SVD奇异值分解矩阵ALS方法ALS方法ALS的矩阵分解算法常应用于推荐系统中,将用户(user)对商品(item)的评分矩阵,分解为用户对商品隐含特征的偏好矩阵,和商品在隐含特征上的映射矩阵。与传统的矩阵分解SVD方法来分解矩阵R(R∈ℝm×n)不同的是,ALS(alternatingleastsquares)希望找到两个低维矩阵,以R̃=XY来逼近矩阵R,其中,X∈ℝm×d,Y∈ℝd×n,这样,将问题的复杂度由O(m*n)转换为O((m+n)*d)。计算X和Y过程:首先用一个小于1的随机数初始化Y,并根据公式求X,此时就可以得到初始的XY矩阵了,根据平方差和得到的X,重新计算并覆盖Y,计算差平方和,反复进行以上两步的计算,直到差平方和小于一个预设的数,或者迭代次数满足要求则停止主要内容推荐模型构建流程推荐算法概述基于协同过滤的推荐算法协同过滤实现基于用户的协同过滤实现Step1:找出和目标用户兴趣类似的用户集合Step2:找到集合中用户喜欢的,且目标用户没有听说过的物品推荐给目标用户协同过滤实现:Step1设N(u)是用户u有过正反馈的物品集合,则Jaccard公式:协同过滤实现改进:Step1如果用户数目很多,如何优化?答:首先计算出N(u)^N(v)!=0的用户对(u,v),然后再对这种情况除以分母sqrt(N(u)*N(v))协同过滤实现:Step2得到用户之间的兴趣相似度后,UserCF算法会给用户推荐和他兴趣最相似的K个用户喜欢的物品。S(u,K)包含和用户u兴趣最接近的K个用户,N(i)是对物品i有过行为的用户集合,Wuv是用户u和用户v的兴趣相似度,rvi代表用户v对物品i的兴趣,因为使用的是单一行为的隐反馈数据,所以所有的rvi=1选取K=3,用户A对物品c、e没有过行为,因此可以把这两个物品推荐给用户A。根据UserCF算法,用户A对物品c、e的兴趣是:基于物品的协同过滤实现Step1:计算物品之间的相似度Step2:根据物品的相似度和用户的历史行为,为用户生成推荐列表基于物品的协同过滤实现:Step1基于物品的协同过滤实现:Step2推荐系统冷启动问题问题域User冷启动问题:新用户Item冷启动问题:新商品Systen冷启动问题:新系统User冷启动如何推荐商品给新用户非个性化推荐最流行的商品排名最高的商品使用用户注册信息(age,gender)User冷启动举例:性别与电视剧的关系User冷启动Item冷启动如何给用户推荐新商品不推荐???Item冷启动如何给用户推荐新商品使用内容信息System冷启动如何为一个没有任何用户的新系统设计推荐模型PandoraAmusicstreamingand

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论