百度网站推广找谁做,关键词挖掘网站,wordpress 服务器权限,西部数码网站管理助手 d盘文章目录 协同过滤算法的基本原理协同过滤算法的分类用户相似度计算UserCF ItemCF应用场景 协同过滤算法的优缺点优点缺点 协同过滤算法的总结与展望QA 协同过滤算法的基本原理
关于协同过滤算法#xff0c;我看过很多老师写的博客以及一些简单的教程#x… 文章目录 协同过滤算法的基本原理协同过滤算法的分类用户相似度计算UserCF ItemCF应用场景 协同过滤算法的优缺点优点缺点 协同过滤算法的总结与展望QA 协同过滤算法的基本原理
关于协同过滤算法我看过很多老师写的博客以及一些简单的教程我这里自己也总结了一些建议大家去阅读王喆老师的深度学习推荐系统。对于简单的推荐业务协同过滤算法是必不可少的也是新人学习推荐算法里绕不开的一个经典之作。协同过滤的核心思想就是对用户历史行为进行处理和挖掘从而找到用户的喜好并通过用户所喜好的内容进行召回、推荐类似于猜你喜欢购买相同商品的人又购买了哪些听过相同音乐的人还喜欢听哪些。
协同过滤算法的分类
协同过滤算法可以大致分为两种类型 基于邻域的协同过滤算法 基于用户的协同过滤算法UserCF基于内容的协同过滤算法ItemCF 基于模型的协同过滤算法 基于矩阵分解算法基于图模型算法
用户相似度计算 用户相似度计算就是在共现矩阵中每个用户对应的行向量其实就可以当作一个用户的 Embedding向量然后对这些Embedding进行相似度计算。用户相似度计算是最关键的步骤在我推荐算法一栏中也介绍了几种用户相似度计算得算法以及相关代码。这里我就简单总结一下几个常用的。 欧氏距离余弦相似度修正余弦相似度皮尔逊相关系数Jaccard相似系数 当然业界还有一些升级之后的用户相似度计算的算法阿里的WBcosine协同过滤etrecSwing等这里就不做过多的介绍了。
UserCF ItemCF 基于用户的协同过滤User-Based Collaborative Filtering通过分析用户之间的相似性来实现推荐。简单来说就是根据用户的历史行为比如浏览、购买、评分等来找到与其兴趣相似的其他用户然后向该用户推荐这些相似用户喜欢的商品或内容。 QUserCF真的就那么好用吗 A1.其实在典型的互联网电商环境下往往用户数远大于物品书而再最后计算Topn的相似用户对于该用户的相似矩阵存储开销就会非常巨大而随着时间的推移与业务量的发展用户相似矩阵的以n^2的形式增长。 2. 对于用户历史数据往往向量是比较稀疏简单的说就是用户点击和购买次数非常少找到相似用户的准确度是比较低的同样也不适用于UserCF。 基于内容的协同过滤Item-Based Collaborative Filtering与基于用户的协同过滤类似但是其推荐的对象不是与目标用户相似的其他用户而是与该用户曾经感兴趣的内容相似的其他内容。
应用场景
UserCF是基于用户相似度进行推荐具有比较强大的社交属性用户能快速得知与自己相似兴趣的人最近又关注了哪些即使某些内容曾经并不感兴趣但是通过朋友的推荐点击也会动态更新在自己的推荐列表中类似于抖音朋友推荐了xxx视频应用场景新闻热点类。ItemCF更用于兴趣变化比较稳定的应用比如一个用户在某个时间段内比较关注篮球鞋这时候根据物品相似度就会推荐球衣或者体育器材等商品。应用场景电商购物网站音乐推荐电影推荐。
协同过滤算法的优缺点
优点
个性化推荐没有约束条件灵活性高可扩展性好算法效果好
缺点
稀疏性问题冷启动问题数据稳定性问题算法适用性问题
协同过滤算法的总结与展望
协同过滤是个比较直观且解释性较强的一类模型算法但是没有较强的泛化能力也就是两两物品的相似性无法推广到其他商品相似度计算中这样就会存在一个很严重的问题就是对于近期具有头部热门商品容易跟大量物品产生相似性而尾部的稀疏向量就无法与其他物品产生相似性计算而减少对其的推荐。总结一下来说推荐结果头部效应比较明显但处理稀疏向量能力弱。对于解决此类问题我们可以引用矩阵分解技术来增强模型的泛化能力在协同过滤共现矩阵的基础上添加用户与物品之间稠密的隐向量从而挖掘隐含特征来解决稀疏性问题。
QA
Q对于日增大量商品文章电影十万百万级别的情况下如何考虑相似度计算A在每天新增大量物品的情况下一次性对所有物品进行相似度计算可能会非常耗时和占用大量的计算资源。为了提高计算效率可以考虑以下几种方法 增量计算只对每天新增的商品与以往商品进行相似度计算。 分布式计算使用Hadoop Spark大数据框架进行分布式计算将商品数据分割成多个分区利用服务器并行计算各个分区之间的相似度最后再合并结果。 近似相似度计算在实际应用中并不需要精确的相似度计算。可以考虑使用一些近似相似度计算的方法如LSH、MinHash等通过降低计算复杂度来快速估计文章之间的相似度。